我试图用处理语言构建一个乒乓球游戏。对于这个双人游戏,我在“桌子”的每一端都有两个控制器。我通过将玩家的动作(上下)绑定到键上来编码它们:-1号玩家的w和s-2号玩家的o和l虽然这在我一次按一个时有效,但我不知道如何让它们同时移动,就像同时按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;
}
}
}
你要做的是为你关心的每个键创建一个布尔
值。然后在keyP的()
函数中,你将相应的变量设置为true
,在keyReleated()
函数中,你将相应的变量设置为false
。然后在你的dra()
函数中,你检查变量以确定按下了哪些键。
无耻的自运营:我在这里写了一个关于获取用户输入的教程。查看处理多键部分。