我的代码:

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


在此代码中,当我按空格键时,播放器会清晰地跳跃。除非那不是结束的地方,否则我不会这样做。当我按住空格键时,播放器飞行。我尝试了一个计时器,但是它不允许快速跳跃,这对于平台游戏来说是必需的。提前致谢。

最佳答案

尝试创建一个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可以简单地忽略播放器当前跳跃时出现的任何跳跃事件。

关于java - JAVA-不允许按住跳转按钮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40008908/

10-12 00:39