2014-01-27 78 views
0

我正在學習Flash的基礎知識,我只是想通過編輯符號的框架來動畫一個符號/實例,只要雙擊它即可。在特定時間觸發動畫

有沒有辦法觸發動畫?例如,面對屏幕的人的默認動畫是他上下襬動。但是當按下右箭頭鍵時,那麼他的動畫就會朝着屏幕的右側上下晃動。

回答

1

創建從幀1到10的動畫,上框架10插入的代碼:

gotoAndPlay(1); 

創建從幀11至20的第二動畫循環,上框架20插入的代碼:

gotoAndPlay(11); 

等。

然後添加事件偵聽到舞臺返聽鍵盤事件:

stage.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyBoard); 
function handleKeyBoard(event:KeyboardEvent):void 
{ 
    switch(event.keyCode) { 
    case Keyboard.RIGHT : 
     animation.gotoAndPlay(11);// you can use label names or frame index 
     break; 
    case Keyboard.LEFT : 
     animation.gotoAndPlay(1);// return to original loop 
     break; 
    } 
} 
+0

謝謝!這正是我需要的。快速的問題:對於我要輸入代碼的地方,我需要雙擊圖像,編輯符號。然後,我會在哪裏插入代碼?我需要點擊框架10,然後把代碼放在哪裏? – user2789610

+0

將它放在包含動畫的時間軸的第一幀。請注意,您可能需要將animation.gotoAndPlay更改爲簡單的gotoAndPlay,以便將其定位到舞臺上的當前場景而不是對象 – mika

0

你的意思是at specified times可能是事件觸發時間。

所以我的建議是添加一個事件監聽器到你想要觸發一個特定的事件觸發動畫時。

例如,當按下右箭頭鍵時,就會出現一個動畫,讓他在屏幕右側上下晃動。

animation.addEventListener(KeyboardEvent.KEY_DOWN, 
    function onKeyDown(e:KeyboardEvent):void 
    { 
     //When Right key is pressed 
     if(e.keyCode == Keyboard.RIGHT) 
     { 
      //animation.gotoAndPlay("bobbing up and down"); 
      //or do something else 
     } 
    }); 
+0

鍵盤事件需要綁定到舞臺,而不是目標精靈 – mika

+0

謝謝!這與mika所說的類似(儘管聽衆會在舞臺上),所以我給了你一個upvote /不管他們在SO中被稱爲什麼。 – user2789610