2010-06-28 65 views
1

我只是在Adobe Flex的Timer和TimerEvent(flash.events.TimerEvent & flash.utils.Timer)上有一個簡單問題。Adob​​e Flex計時器事件

我目前正在一個項目中,我需要偶爾改變速度,停止並播放一個SWF動畫(加載到一個加載器並實例化爲一個ByteArray)。

例如,我有一輛以40kph運行的移動車(swf動畫)。然後我有一個按鈕,它會以40kph的增量改變速度。基本上,只要我按下按鈕,遊戲車應該按增量改變速度。困難的部分是,我已經在Adobe Flex中工作了,但它並沒有改變速度。我的意思是,它只會移動我在Flash上​​創建swf文件時設置的關鍵幀間隔(也就是說,每個關鍵幀30個幀間隔)。

簡而言之,我只需要根據我要求改變的增量數來改變速度。一位同事告訴我使用Flex的Timer和TimeEvent,但我似乎無法完全掌握它,因爲我對ActionScript世界還不太瞭解。

我希望有人能幫助我。謝謝:)

回答

0

你需要從代碼動畫的汽車。下面的代碼加速車輪,直到120公里/小時:

private var car:MovieClip; 
private var speed:Number; // from 0 to 120 

private function enterFrameHandler(event:Event):void 
{ 
    if (speed < 120) 
     speed++; 

    car.wheel1.rotation += speed; 
    car.wheel2.rotation += speed; 
} 

這個想法是計算每個新幀「動態」的動畫參數。