2014-06-09 74 views
-1

我是AS3和Flash的新手。我有一個非常簡單的問題。我想在我正在製作的遊戲中爲我的敵人創建一系列事件。因此,當我的敵人被擊中時,我想要播放死亡動畫,在動畫完成後,我想從舞臺上移除敵方物體。死亡動畫大約需要3秒,所以3秒後我想移除敵方物體。在ActionScript3中創建事件序列

So this are the set of events I want 
    1. Enemy hit check 
    2. if hit, play death animation 
    3. wait for 3 seconds 
    4. remove the Enemy object from the stage. 

我已經廣泛使用了Unity引擎,他們有,如果你想創建在不同的時間間隔序列工作得很好協同程序。

我們如何在AS3中用Flash做類似的事情?

謝謝!

+0

你能告訴我們你到目前爲止嘗試過什麼嗎?你的問題不是「非常簡單」 - 它實際上是一個相對複雜的事件鏈。 – xxbbcc

+0

當你的動畫完成時,你最好的辦法是發起一個事件,並且在該事件的處理程序中清除敵人。這樣,如果動畫持續時間發生變化,則不需要更新時間。你打算如何動畫敵人的船? –

+0

需要更多的上下文。你怎麼玩動畫?它是在Flash Pro中的時間軸動畫?一個Sprite表單?顯示敵方擊中的代碼,並詳細說明死亡動畫的性質,然後有人可以給你一個明確的重點答案。 – BadFeelingAboutThis

回答

1

我打算把你的連鎖事件做一個稍微更詳細的事件鏈。

  1. 敵人打到檢查
    內置閃光燈功能hitTestObject和hitTestPoint會滿足你的需要,如果你想比較簡單的點擊測試檢查。如果你正在尋找複雜的命中測試檢查(內部檢查,從內部檢查),我會強烈推薦稍微複雜一點的「位圖命中測試」。幸運的是,有大量的在線教程可以提供幫助。

  2. 如果打,打的死亡動畫
    如果您使用的是影片剪輯,您可以通過設置幀動畫幀。在創建動畫之後,只需在剪輯上調用.gotoAndPlay(f)以將f設置爲死亡動畫的起始幀即可,以獲得動畫。

  3. 等待3秒鐘。
    無論如何,如果您的動畫需要3秒鐘,請在您的死亡動畫序列的最後一幀中添加一個函數調用,以便將鏈上的事件發送到您的「主類」。

  4. 從舞臺上移除敵方物體。
    然後,您可以在第3步中關閉舞臺上的敵人。

讓我知道如果您有任何澄清/其他問題,我會盡我所能幫助。