0

我是第一次创建 HTML5 画布游戏。它是一款塔防游戏,所以基本上我有一系列来自“敌人”类的敌人物体,它们使用路径飞入。然后我还有一组来自“塔”类的塔对象,当它们靠近时会杀死它们。

对于移动多个敌人和从塔射击的这两种操作,我使用如下 setInterval 来更改它们的状态并通过在各自类的实例中使用设置的间隔来相互独立地射击动画。_thatTower.attackInterval = setInterval(function () ...此处触发代码... },50);

我面临的困难是这些 setIntervals 往往与其他实例混合在一起,并且在少数情况下结合在一起并将所有敌人的反应作为一个而不是独立的..

我希望这些独立工作。我对此有两种看法 - 1. 是否有更好的方法可以将 setintetval 用于我未使用的同一类不同实例。2. 或者可能是 setinterval 在这些地方不适合使用.. 请让我知道我们如何独立移动许多东西,就像我在 Canvas 上的情况一样?

提前致谢

4

1 回答 1

0

您应该存储一个值,该值存储动画最后一次更改的时间。在您的游戏循环中,迭代您的游戏对象(该值将附加到每个对象)并相应地更新它们的动画状态。这是任何其他语言采用的传统方法,并且比许多计时器更明确。

于 2012-08-07T12:28:22.117 回答