我的舞臺上有一個包含兩個按鈕的Movieclip:Back和Next。另外在時間軸上,我還有另一個包含動畫的Movieclip。點擊下一個按鈕後,我想讓動畫不跳躍地轉換到下一個動畫。那麼,我有什麼方法可以聽完動畫的完成,以便我可以無縫地進行轉換?在動畫完成後進入Movieclip AS3
這裏是我的下一步和後退按鈕(這是將影片剪輯按鈕這就是爲什麼有所有的額外代碼)截至目前幀之間剛剛切換代碼:
//NEXT BUTTON
nextBtn.buttonMode = true;
nextBtn.addEventListener(MouseEvent.ROLL_OVER, nextBtnOver);
nextBtn.addEventListener(MouseEvent.ROLL_OUT, nextBtnOut);
nextBtn.addEventListener(MouseEvent.MOUSE_DOWN, nextBtnDown);
nextBtn.addEventListener(MouseEvent.MOUSE_UP, nextBtnUp);
function nextBtnOver(e:MouseEvent):void
{
nextBtn.gotoAndPlay("over");
}
function nextBtnOut(e:MouseEvent):void
{
nextBtn.gotoAndPlay(9- (nextBtn.currentFrame-1));
}
function nextBtnDown (e:MouseEvent):void
{
nextBtn.gotoAndPlay("down");
}
function nextBtnUp (e:MouseEvent):void
{
nextBtn.gotoAndPlay(5);
MovieClip(root).nextFrame();
}
//BACK BUTTON
backBtn.buttonMode = true;
backBtn.addEventListener(MouseEvent.ROLL_OVER, backBtnOver);
backBtn.addEventListener(MouseEvent.ROLL_OUT, backBtnOut);
backBtn.addEventListener(MouseEvent.MOUSE_DOWN, backBtnDown);
backBtn.addEventListener(MouseEvent.MOUSE_UP, backBtnUp);
function backBtnOver(e:MouseEvent):void
{
backBtn.gotoAndPlay("over");
}
function backBtnOut(e:MouseEvent):void
{
backBtn.gotoAndPlay(9- (backBtn.currentFrame-1));
}
function backBtnDown (e:MouseEvent):void
{
backBtn.gotoAndPlay("down");
}
function backBtnUp (e:MouseEvent):void
{
backBtn.gotoAndPlay(5);
MovieClip(root).prevFrame();
}
感謝,任何幫助非常感謝。
你想要什麼我不明白,你的意思添加輸入框事件,並檢查了MovieClip達到其'currentFrame'? – Cilan
我想讓它在你點擊下一個按鈕時無關緊要,因爲我希望時間軸上的動畫能夠在下一個按鈕的效果完成之前完成,如果這是有意義的。我有一個動畫定時,所以如果它完成它的動畫,它將無縫地轉換,否則它會跳轉 - 這正是我想要避免的。 –
爲什麼不在'nextBtnUp()'中檢查動畫currentFrame。那就是'if(animation.currentFrame == animation.totalFrames)'然後你可以做'nextFrame()'等等 –