我的游戏现在只有2个班级,“MyGdxGame”和“Player”。我已经在我的Player类中添加了一个方法jump()
并覆盖了touchDown()
方法,以便在每次点击屏幕时调用jump:
public void jump() {
startTime = TimeUtils.nanoTime();
elapsedTime = TimeUtils.timeSinceNanos(startTime);
boolean jumpTime = elapsedTime < 2000000001;
while (jumpTime) {
moveBy(xSpeed, ySpeed);
}
moveBy(xSpeed, -ySpeed);
}
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
//moveBy(xSpeed, ySpeed);
jump();
return true;
}
现在当点击屏幕时,精灵会上升,但不会再回落。在点击屏幕之前,精灵以恒定速度xSpeed从左向右移动。有什么想法吗?
编辑:我构建了我的项目然后再次运行它。当我点击屏幕然后崩溃lol
时冻结答案 0 :(得分:1)
布局jumpTime
永远不会在 jump()方法的while循环中更新。
尝试:
startTime = TimeUtils.nanoTime();
long jumpTime= 2000000001;
while (TimeUtils.timeSinceNanos(startTime) < jumpTime) {
moveBy(xSpeed, ySpeed);
}
moveBy(xSpeed, -ySpeed);