这个问题在这里已有答案:
我有一个while循环,运行我正在开发的简单2D游戏的逻辑。在里面我有很多函数调用似乎在速度上变化,这使得游戏中的球口吃得很多。我想尝试让每个循环持续相同的时间来消除口吃。
我试图限制不起作用的函数调用量,因为即使用最少量的函数调用它仍然是口吃的。我也尝试使用pause()来节省时间,但这让它变慢了。
private void turn() {
Ball ball = new Ball(400, 500);
add(ball);
pause(3000);
while(ball.getCenterY() + ball.getRadius() <= CANVAS_HEIGHT){
ball.updatePosition(1);
wallPaddleCollision(ball);
brickCollision(ball);
if (numberOfBricks == 0) {
System.out.println("You've Won!");
}
pause(1);
}
lives--;
if(lives > 0) {
remove(ball);
turn();
}
else {
loss();
}
}
...
More code in here.
...
}
它应该比这更顺畅。有什么建议?
这里有多个方面: