Re: [問題] 一次讓很多物件動的方式?
※ 引述《aquarianboy (一路好走..)》之銘言:
: ※ 引述《ooic (誠徵萬年女友中)》之銘言:
: : ex moon1 ~ moon8
: : 用for來讓8個一起播放...有辦法嗎?
: : 像
: : for (i=1;i<9;i++){mooni.gotoandplay(i);}
: : 這種感覺
: : @@"
: for (var i:Number = 1; i<=8; i++) {
: this["moon"+i].gotoAndPlay(1);
: }
: 推 ooic:thx thx @@" 01/01 01:41
: 推 ooic:嗯...沒用啊...囧 01/01 14:16
其實a大所寫的是正確的
一定可以用
如果不能用 像ooic這樣
應該就是路徑上的問題
使用this["moon"+i]的時候
那個this指的是現在程式碼所在的元件
我在猜測ooic應該是按下一個按鈕後 叫她們八個都動作吧
所以在for這段之前應該會有一個xxx_btn.onPress=function(){
因此接下來這個大括號底下的this都是指xxx_btn
但是moon1~moon8或許是放在_root底下
而xxx_btn也是放在_root底下
這樣子就當然不會動作了
因為xxx_btn底下並沒有moon1~moon8
所以以我舉的例子的寫法
這個this就要改成this._parent就是讓目標指回去_root(上一層)
若ooic您的元件配置不是這樣子可能就是不同的寫法
為什麼我說a大講的一定可以用 因為我看"大師談FLASH遊戲的設計與製作"裡
也有看到這種this[]的寫法
當時我很驚喜
因為我從來不知道這種寫法
忘記eval是哪裡學到的 昨天開啟flash查了一下eval的說明檔
真的有這種替代寫法 而且是比較好用的(所以我才驚喜)
剛看到ooic這個問題也直覺可以用eval解決 但想試試看this[]的用法
我剛測試了一下也的確沒錯 這寫法是行得通的 只是路徑要處理一下
(其實eval也要指定路徑)
我給你我的測試檔
你再研究看看 :)
http://163.19.207.214/flash/test2.fla
不過這種寫法不能直接用_root["moon"+i]耶?
剛測試好像不行....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.141.15.249
推
01/01 20:04, , 1F
01/01 20:04, 1F
→
01/01 20:25, , 2F
01/01 20:25, 2F
→
01/01 20:25, , 3F
01/01 20:25, 3F
推
01/01 20:29, , 4F
01/01 20:29, 4F
→
01/01 20:32, , 5F
01/01 20:32, 5F
→
01/01 20:33, , 6F
01/01 20:33, 6F
推
01/01 20:54, , 7F
01/01 20:54, 7F
→
01/01 20:55, , 8F
01/01 20:55, 8F
→
01/01 20:56, , 9F
01/01 20:56, 9F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Flash 近期熱門文章
PTT數位生活區 即時熱門文章