目前我正在开发一个非常简单的java球程序。该计划包括一个从屏幕顶部落下并在休息前在地板上弹跳的球。该程序使用一种方法,该方法每秒调用50次(游戏骰子滴答的速度)并刷新屏幕并将球放置在受重力和s键影响的当前x和y位置。当按下s键时,球的高度增加。 但是,在我的程序的当前版本中,当按下s键时,球刚刚跳过50个像素。当按下s键时,如何使其平滑过渡?高刷新率让我感到困惑。这是我当前的代码(不包括刷新的方法和绘制球的方法):
public void keyPressed(keyEvent event) {
if (event.KeyCode() == KeyEvent.VK_S) {
firstball.BallLocation();
}
}
public void BallLocation() {
currentPositionY = currentPositionY - 50 - currentGravity;
}
感谢您的帮助!