看板 Flash 關於我們 聯絡資訊
^^"請教版上高手一個問題,關於呼叫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
etrexetrex:delete 那行拿掉看看? 07/10 03:34
icedesign:哈!我也剛想到而已,只是不曉得到底原因何在? 07/10 03:38
afu70:delete掉就表示不存在了 如果還想呼叫的話 得再重新寫一次 07/10 13:26
afu70:再寫一次的意思是....把function 放進function裡 需要得時候 07/10 13:27
afu70:他會重新寫一次 然後再呼叫就叫得到 07/10 13:28
afu70:嗯 我重回一篇吧 07/10 13:30
afu70:重新看了一下 可以試試 delete Close_mc.onRelease 07/10 13:36
afu70:如果你是刪掉外面的function 之後要叫要重新產生一次 07/10 13:37
afu70:裡面的onRelease包在外面的funciton裡 只要call一次外面的 07/10 13:38
afu70:LoadBigPic|() Close_mc.onRelease則會重新產生 07/10 13:39
icedesign:哈~(~^O^~)~大感謝樓上,這樣我懂了!可以加樓上好友嗎ꄠ 07/10 14:56