2014-06-09 101 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步中关闭舞台上的敌人。

让我知道如果您有任何澄清/其他问题,我会尽我所能帮助。