[問題] 呼叫function的問題

看板Flash作者 (不可或缺的咖啡因)時間17年前 (2007/07/10 02:55), 編輯推噓5(506)
留言11則, 3人參與, 最新討論串1/2 (看更多)
^^"請教版上高手一個問題,關於呼叫function,以下是我的程式碼: var Start:Boolean; function LoadBigPic() { Close_mc.onRelease = function() { Start = true; delete LoadBigPic; ^^^^^^^^^^^^^^^^^^^→這個地方的function有確實被D掉了! BgyMovie.removeMovieClip(this); Close_mc._visible = false; }; } var AgainNum:Number; function ReLoadBigPic() { if (Start) { for (var ReNum:Number = 1; ReNum<=7; ReNum += 1) { if (ReNum == 7) { clearInterval(AgainNum); } this["Callmc"+ReNum].onRollOver = function() { this.gotoAndStop(11); }; this["Callmc"+ReNum].onRollOut = this["Callmc"+ReNum].onReleaseOutside=function () { this.gotoAndPlay(10); }; this["Callmc"+ReNum].onRelease = function() { LoadBigPic() ^^^^^^^^^^^^^ →最大的問題在這裡,為什麼會叫不出來呢? this.gotoAndStop(12); }; } } } AgainNum = setInterval(this, "ReLoadBigPic", 100); 請問在不考慮其他變數的問題下(ReNum之類等等的),為什麼當我在 按下按鈕的時候,該function LoadBigPic()會叫不出來呢? 以上是我片斷的程式碼,因為原始實在太長,故截取其中一些請高手 幫我解惑,已經有測試過,滑入‧按下‧滑出這三個動作,Callmc這 個影片片段都非常正常,只有叫不出LoadBigPic(),麻煩各位了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.178.144

07/10 03:34, , 1F
delete 那行拿掉看看?
07/10 03:34, 1F

07/10 03:38, , 2F
哈!我也剛想到而已,只是不曉得到底原因何在?
07/10 03:38, 2F

07/10 13:26, , 3F
delete掉就表示不存在了 如果還想呼叫的話 得再重新寫一次
07/10 13:26, 3F

07/10 13:27, , 4F
再寫一次的意思是....把function 放進function裡 需要得時候
07/10 13:27, 4F

07/10 13:28, , 5F
他會重新寫一次 然後再呼叫就叫得到
07/10 13:28, 5F

07/10 13:30, , 6F
嗯 我重回一篇吧
07/10 13:30, 6F

07/10 13:36, , 7F
重新看了一下 可以試試 delete Close_mc.onRelease
07/10 13:36, 7F

07/10 13:37, , 8F
如果你是刪掉外面的function 之後要叫要重新產生一次
07/10 13:37, 8F

07/10 13:38, , 9F
裡面的onRelease包在外面的funciton裡 只要call一次外面的
07/10 13:38, 9F

07/10 13:39, , 10F
LoadBigPic|() Close_mc.onRelease則會重新產生
07/10 13:39, 10F

07/10 14:56, , 11F
哈~(~^O^~)~大感謝樓上,這樣我懂了!可以加樓上好友嗎ꄠ
07/10 14:56, 11F
文章代碼(AID): #16aeIZhS (Flash)
文章代碼(AID): #16aeIZhS (Flash)