我是第一次创建HTML5画布游戏。 它是一个塔防游戏,所以基本上我有一系列来自“Enemy”类的敌人物体,它们使用一条路径飞行。然后我还有一系列来自“塔”的塔式物体,当它们接近时会杀死它们。
对于这些移动多个敌人并从塔中射击的操作,我使用如下的setInterval来改变它们的状态并通过在相应类的实例中使用set intervall来相互独立地发射动画。 _thatTower.attackInterval = setInterval(function()... fire code here ...},50);
我面临的困难是这些setIntervals倾向于与其他实例混淆,并且在很少的情况下结合在一起并将所有敌人的响应视为一个但不是独立的。
我希望这些能够独立发挥作用。我对此有两种看法 - 1.有一种更好的方法可以将setintetval用于我不使用的同类不同实例。 2.或者可能是setinterval在这些地方使用不正确..请让我知道我们如何独立移动很多东西,就像我在Canvas上的情况一样?
提前致谢
答案 0 :(得分:0)
您应该存储一个值,该值存储动画上次更改的时间。在您的游戏循环中,迭代您的游戏对象(此值将附加到每个对象)并相应地更新其动画状态。这是任何其他语言采用的传统方法,并且比许多计时器更明确。