Re: [問題] 迴圈的變數去傳參數的問題
※ 引述《cantuse (不會用)》之銘言:
: 為什麼跑出來的還是
: _root.store_mc.store1_mc.onRollOver = function() {
: rollOverIt(i);
: }
: 呢?
: 是因為它是參數的關係嗎??
: 謝謝^^
用associative array語法吧,我沒用過eval...eval也在AS3被移除了
試試看下面的code有沒有用
for(var i:Number = 1; i <= 200; i++) {
_root.store_mc["store" + i + "_mc"].onRollOver = function() {
this.j = i
rollOverIt(this.j);
};
}
i是for loop的scope裡面的變數
所以我在MC本身宣告一個j來儲存i的值
沒有測試過,所以可能會有錯字 :p
這就是為什麼你 rollOverIt(i) 永遠是顯示200的原因
因為你是寫 i=1 而不是 var i:Number = 1
這樣 i 的scope會超出for,然後一直維持for跑完的值...200
然後每個onRollOver裡面的rollOverIt(i)被呼叫的時候才去抓那個i
這就是為什麼每次抓i的時候都得到200
(解決方法就是像上述的用個MC本身的另外一個變數 去儲存當時i的值)
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓
Gallery http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.75.35
※ 編輯: cjcat2266 來自: 61.228.75.35 (09/16 22:44)
推
09/16 22:48, , 1F
09/16 22:48, 1F
→
09/16 22:48, , 2F
09/16 22:48, 2F
推
09/16 23:08, , 3F
09/16 23:08, 3F
→
09/16 23:09, , 4F
09/16 23:09, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
Flash 近期熱門文章
PTT數位生活區 即時熱門文章