我已經成功地改進了原有@sch答案=) 我做了一個功能,你可以通過任何給定的影片剪輯作爲參數和淡入/淡出cicle將被應用到它。以下是如何(有註釋):
// A boolean variable holds the flag for this to be applied
var boolFadeinFadeoutCicle:Boolean=true;
// This function can receive as a parameter a movieclip
function fncFadeinFadeout(mc:MovieClip){
if(boolFadeinFadeoutCicle){
//The fadeout listener it's added here, all relative to the mc received
MovieClip(mc).addEventListener(Event.ENTER_FRAME, Fadeout);
function Fadeout(evt:Event){
MovieClip(mc).alpha -=0.05;
//Once the mc.alpha reaches zero, the fadeout listener it's removed and the fadein one it's added
if (MovieClip(mc).alpha <= 0){
MovieClip(mc).removeEventListener(Event.ENTER_FRAME, Fadeout);
MovieClip(mc).addEventListener(Event.ENTER_FRAME, Fadein);
}
//Here the logic it's the same, but inverted.
function Fadein(evt:Event){
MovieClip(mc).alpha +=0.05;
if (MovieClip(mc).alpha >= 1){
MovieClip(mc).removeEventListener(Event.ENTER_FRAME, Fadein);
MovieClip(mc).addEventListener(Event.ENTER_FRAME, Fadeout);
}
}
}
}
}
正如你所看到的,這是同樣的邏輯@sch答案,但具有不同的結構,它可以接受一個MovieClip作爲這樣的參數:
fncFadeinFadeout(mc0);
fncFadeinFadeout(mc0);
fncFadeinFadeout(mc0);
...
所有這些影片剪輯都會淡入淡出。 感謝@sch回答並致電this tutorial! 我希望你們都發現這個不同的方法有用;)=)
感謝它工作的很棒! – 2012-03-08 17:31:53
@sch這真是太棒了,真的很有用,謝謝=)但是,我不確定如何改善這個問題......如何爲任何MC調用這個函數?我的意思是,也許fadeout/in函數可以接收一個mc參數。但我不確定如何更改addEventListener部分。他可以請一些建議嗎? THANKS =) – Metafaniel 2013-03-15 16:38:08
現在我知道如何去做,我已經回答了我自己的問題嘿嘿。我已經發布它作爲一個新的答案;) – Metafaniel 2013-03-15 18:56:32