我正在创建一个Android游戏,其中随机生成敌人,并且可以同时生成多个。
最好是从计时器(5s,然后4s,然后6s ......等)随机时间创建敌人,或者通过游戏循环(数到50,创建敌人,数到64,创建敌人)。
如果使用的人在渲染游戏循环时速度很慢,计时器可能会产生太多敌人,但如果它使用了游戏循环,他们就不会很快得到敌人。每个人似乎都有职业和自我。
另外,哪个更能保存处理能力,以便更快地渲染图像?
提前致谢
汤姆
另外,如果我为每个“敌人”组使用了一个计时器,则会有3个计时器在运行。
答案 0 :(得分:1)
我推荐一个组合:引擎应该由“ticks”驱动,它本身并不代表特定的持续时间。所有引擎决策都应该基于独立于滴答的时间计算来完成(例如System.currentTimeMillis
减法)。这样,当机器上的负载很高时,您每秒可以获得较低的帧数,但移动距离不会受到影响。当负载较低时,您可以获得更平滑的图形和移动。你应该检查FPS,如果它们变高,你甚至应该将线程设置为睡眠或者你可以产生更多的敌人。如果它太低,你可以降低图形细节或防止产生新的敌人以适应这种情况。因此,我不会启动计时器,而是为将来预先计算的事件存储时间,并在游戏循环中检查是否有时间发生(当然,不是精确比较,而是事件时间< now)。