我想创建一个未完成的跳跃游戏。我用的是超级跳线代码。改变世界高度的主要部分是:
while (y < WORLD_HEIGHT - WORLD_WIDTH / 2) {
...
y += (maxJumpHeight - 0.5f);
y -= rand.nextFloat() * (maxJumpHeight / 3);
}如果我将while条件更改为一个大数字(例如100或1000),fps会变低(我得到滞后)。我尝试了很多东西。但是我找不到一个正确的答案。如果有人可以,帮帮我。(对不起,我的英语...)
发布于 2012-03-31 01:21:51
改变
while (y < WORLD_HEIGHT - WORLD_WIDTH / 2) {至
while (y < WORLD_HEIGHT * 100) {在超级跳跃中的城堡将产生更多的内容,但实际上不会使关卡更长(显示系统将只显示到WORLD_HEIGHT,而关卡末尾的城堡仍然在相同的位置。
如果您想创建一个非常大的关卡,请更改WORLD_HEIGHT本身的定义。它目前设置为大约20个屏幕的平台。
当你设置更大的关卡时,游戏变慢的原因可能是因为所有的每帧更新和碰撞检测代码都使用所有元素的线性扫描。对于较小的级别,这是可以的,但如果您有非常大的级别,这将无法扩展。但是,我只是在猜测,您可能应该运行分析器来找出所有时间都花在了哪里。
https://stackoverflow.com/questions/9920207
复制相似问题