2011-03-21 84 views
2

我在Flash CS5 actionscript 3.0中編寫簡單的電影時間線。我的所有按鈕都可以工作,除了我想要編碼的播放按鈕「去下一幀並播放」。這是我目前的動作誰能幫我找到正確的代碼?Flash CS5 ActionScript 3.0轉到下一幀和播放代碼

fastforwardBtn.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame); 

function fl_ClickToGoToAndStopAtFrame(event:MouseEvent):void 
{ 
gotoAndStop(4025); 
} 

stop(); 

gotoStopBtn.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame_2); 

function fl_ClickToGoToAndStopAtFrame_2(event:MouseEvent):void 
{ 
    gotoAndStop(1); 
} 


gotoPlayBtn.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndPlayFromFrame); 

function fl_ClickToGoToAndPlayFromFrame(event:MouseEvent):void 
{ 
    gotoAndPlay(1); 
} 

stopBtn.addEventListener(MouseEvent.CLICK, fl_ClickToGoToNextFrame_2); 

function fl_ClickToGoToNextFrame_2(event:MouseEvent):void 
{ 
    nextFrame(); 
} 

playBtn.on (release) ;{ 
_root.gotoAndPlay(_currentframe+1); 
} 

回答

3
playBtn.addEventListener(MouseEvent.CLICK, fl_Click_Play); 

function fl_Click_Play(event:MouseEvent):void 
{ 
    MovieClip(root).play(); 
} 

應該工作,如果你有一個簡單的FLA。如果這似乎並沒有工作,你可能需要像這樣的目標的正確道路:

MovieClip(this.parent).play(); 

不知道你的FLA結構,它只是一個猜測;)

也= _root是AS2並且總是以_level0爲目標。這在AS3中更改爲「根」,並且將最上面的displayObjectContainer的時間線作爲目標。

+0

這可以工作,但它只是每次按下按鈕時逐幀移動。我想按一次,並持續播放直到結束。 – Stephanie 2011-03-21 20:07:57

+1

而不是nextFrame();使用play(); – SimplyZ 2011-03-21 21:53:00

+0

哈哈!玩()。是。出於某種奇怪的原因,我認爲你只是試圖推進電影1幀...... /嘆氣。好吧,看起來你有你想要的東西。您可能會考慮將所有這些函數組合到一個函數中,以測試按鈕本身的唯一參數。你可以做一些簡單的事情,例如爲它們分配一個與標籤匹配的名稱參數,然後在事件的目標上執行switch語句。 (root.gotoAndPlay(e.target.name);) – Bosworth99 2011-03-21 22:30:05