作者icedesign (不可或缺的咖啡因)
看板Flash
標題[問題] 呼叫function的問題
時間Tue Jul 10 02:55:27 2007
^^"請教版上高手一個問題,關於呼叫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