Actionscript 3 在游戏中计时事件的最佳方式

Actionscript 3 在游戏中计时事件的最佳方式,actionscript-3,timing,Actionscript 3,Timing,我之前问过一个关于AS3和比赛时间的问题,但没有得到答案,所以我试图让这个问题更精确 为了学习AS3,我正在制作一款风格类似于投后的游戏,但这个游戏是根据音乐计时的。子弹模式、敌人繁殖和特殊图形都将在音乐中的特定时间发生。我想知道的是: 什么是精确计时许多(!)事件的最佳方法,这些事件要求非常精确,甚至不会有一点不同步 我正在寻找的时间安排示例: s 在1:30分钟内产生5种不同类型的敌人,敌人1子弹模式在1:31开始,子弹模式将被计时,所以每2秒重复一次模式。这是一个简单而简短的示例,说明了我

我之前问过一个关于AS3和比赛时间的问题,但没有得到答案,所以我试图让这个问题更精确

为了学习AS3,我正在制作一款风格类似于投后的游戏,但这个游戏是根据音乐计时的。子弹模式、敌人繁殖和特殊图形都将在音乐中的特定时间发生。我想知道的是:

什么是精确计时许多(!)事件的最佳方法,这些事件要求非常精确,甚至不会有一点不同步

我正在寻找的时间安排示例: s
在1:30分钟内产生5种不同类型的敌人,敌人1子弹模式在1:31开始,子弹模式将被计时,所以每2秒重复一次模式。这是一个简单而简短的示例,说明了我想要了解的内容。

对于对象和动画计时,您应该收听
ENTER\u FRAME
事件,然后使用以下命令获取以毫秒为单位的当前时间:

var now:Date = new Date();
var timeInMilis:int = now.getTime();
并根据该时间检查是否需要移动、添加任何对象等

至于声音计时,您可能可以在ENTER_FRAME事件期间正常播放声音。但是,flash容易给声音增加延迟,这意味着在调用.play()之后,声音不会立即播放(不会太多,以毫秒为单位)。如果您需要超精确的计时,您可能需要实现您自己的混音器,使用所描述的技术和


祝你好运

这很有效,非常感谢。但现在我有一个控制时间线的问题。我要做的是做一个切换,当到达一个特定的案例(案例是一个特定的秒)时,它在离开之前运行案例30次,而我只希望它运行一次。有什么办法可以解决这个问题吗?或者其他任何制作时间线的方法?在运行该案例后,将其标记为“已触发”或其他内容,以便知道跳过哪些案例。