控制两个物体'在乒乓球比赛中的运动

时间:2017-07-12 20:20:10

标签: processing

我正在尝试使用Processing语言构建乒乓球游戏。对于这个双人游戏,我在桌子的每一端都有两个控制器。我通过将玩家绑定到键来编码玩家的动作(向上和向下): - w和s为玩家1 - o和l代表玩家2 虽然当我一次按下它们时这是有效的,但我无法弄清楚如何使它们同时移动,就像同时按下w和o一样。 这是我的代码:

int x=535;
int y=350;
int dx=5;
int dy=5;
int pX=10;
int pY=520; 
int pX1=1870;
int pY1=520;
int pS=5;

void setup() {
  size(1920,1080);
} 

void draw() {
  background(0);
  rect(960,0,5,1080);
  rect(pX,pY,40,150);
  rect(pX1,pY1,40,150);
  ellipse(x,y,50,50);
  x=x+dx;
  y=y+dy;
  bounce();
  move();
  move1();
}

void bounce(){
   if(x>=1920 || x<=0){
     dx=-dx;
   }
   if(y>1080 || y<0){
     dy=-dy;
   }
}

void move(){
  if(keyPressed){
    if(key == 's'){
      pY+=pS;
    }else if (key == 'w'){
      pY-=pS;
    }
  }
}
void move1() {
  if(keyPressed){
    if(key == 'l'){
      pY1+=pS;
    }else if (key == 'o'){
      pY1-=pS;
    }
  }
}

1 个答案:

答案 0 :(得分:1)

您要做的是为您关注的每个键创建一个boolean值。然后在keyPressed()函数中,将相应的变量设置为true,并在keyReleased()函数中将相应的变量设置为false。然后在draw()函数中,检查变量以确定按下哪些键。

无耻的自我推销:我写了一个关于获取用户输入的教程here。查看处理多个密钥部分。