当对象位于屏幕的某个区域时,如何暂时使密钥代码无效?

时间:2016-04-24 22:49:07

标签: processing keycode

我在屏幕上有一个角色,他可以使用指定的键向左和向右移动但是在角色到达屏幕中的某个点(最后放置一个梯子)之前不能向上移动。一旦角色到达这个阶梯,用户可以按UP向上爬,但是当他们攀爬时,他们也能够使用指定的键左右移动。在梯子附近有没有办法让左右键命令无效,只能上升然后一旦爬上梯子,那么键是否可用?

1 个答案:

答案 0 :(得分:0)

您需要在变量中存储角色的状态,然后在 if statements 中检查这些变量,以便在给定当前状态的情况下采取正确的操作。

在您的情况下,您可以使用一个简单的boolean来跟踪玩家是否正在爬梯子。然后,当您检测到按下左箭头或右箭头时,您只需检查boolean,如果玩家爬上梯子,则只能向左或向右移动玩家。

这样的事情:

boolean climbing = false;

void keyPressed(){
   if(keyCode == LEFT){
      if(!climbing){
         //move player left
      }
   }
}