JAVA - 不允许跳跃按钮保持

时间:2016-10-12 21:47:02

标签: java

我的代码:

if(key == KeyEvent.VK_SPACE){
    tempObject.setJumping(true);
    tempObject.setVelY(-10);
}

在此代码中,当我按下SPACE键时,播放器会清晰地跳跃。除非它不是它结束的地方,否则我不会这样做。当我拿着SPACE栏时,玩家会飞。我尝试了一个计时器,但它不允许快速跳跃,这将是平台游戏所需要的。提前谢谢。

1 个答案:

答案 0 :(得分:2)

尝试创建JumpingState枚举:

enum JumpingState {NOT_JUMPING, JUMPING}

if (key == KeyEvent.VK_SPACE && jumpingState == JumpingState.NOT_JUMPING) {
   jumpingState = JumpingState.JUMPING;
   tempObject.setJumping(true);
   // Start timer here to revert tempObject and set jumpingState back to NOT_JUMPING
}

与计时器结合使用,可用于控制玩家当前何时跳跃。玩家当前跳跃时遇到的任何跳跃事件都可以根据检查JumpingState来忽略。