Also habe ich gerade angefangen Java zu machen und habe das Problem, dass ich die Pads nicht unabhängig voneinander bewegen kann.Wie verschiebe ich unabhängig voneinander die Pads für 2 Spieler?
Während ich pad1 verschiebe und pad2 starte, bleibt pad1 einfach stehen und umgekehrt, so dass die beiden Spieler sich gegenseitig behindern, wenn das Spiel schneller wird.
Ich versuchte einen Unterschied zu erreichen, indem ich die Pads in Objekte verwandelte, aber ich habe keine Änderungen am Problem selbst vorgenommen. Das Ende für den Code kann für jetzt ignoriert werden, weil ich denke, dass ich das mit einem forLoop beheben werde.
float player_1_x;
float player_1_y;
float player_2_x;
float player_2_y;
float ball_x;
float ball_y;
float ball_vector_x;
float ball_vector_y;
int round;
void setup() {
player_1_x = 20;
player_1_y = 60;
player_2_x = 780;
player_2_y = 60;
ball_x = 400;
ball_y = 300;
ball_vector_x = -3;
ball_vector_y = 0;
round = 0;
size(800, 600);
rectMode(CENTER);
}
void draw() {
background(0);
rect(ball_x, ball_y, 10, 10);
rect(player_2_x, player_2_y, 20, 100);
if(keyPressed) {
if(keyCode == DOWN && player_2_y < 550) {
player_2_y += 5;
}
if(keyCode == UP && player_2_y > 50) {
player_2_y -= 5;
}
}
rect(player_1_x, player_1_y, 20, 100);
if(keyPressed) {
if(key == 's' && player_1_y < 550) {
player_1_y += 5;
}
if(key == 'w' && player_1_y > 50) {
player_1_y -= 5;
}
}
ball_x += ball_vector_x;
ball_y += ball_vector_y;
if(ball_x < 30) {
if(ball_y < (player_1_y + 55) && ball_y > (player_1_y - 55)) {
ball_vector_x = (-ball_vector_x) + 0.5;
ball_vector_y -= (player_1_y - ball_y) * 0.05;
} else {
ball_x = 400;
ball_y = 300;
ball_vector_x = -3;
ball_vector_y = 0;
round = 0;
}
}
if(ball_x > 770) {
if(ball_y < (player_2_y +55) && ball_y > (player_2_y - 55)) {
ball_vector_x = (-ball_vector_x) - 0.5;
ball_vector_y -= (player_2_y - ball_y) * 0.05;
} else {
ball_x = 400;
ball_y = 300;
ball_vector_x = 3;
ball_vector_y = 0;
round = 0;
}
}
if(ball_y > 595 || ball_y < 5) {
ball_vector_y = -ball_vector_y;
}
if(ball_vector_x == 4 || ball_vector_x == -4) {
round = 1;
} else if(ball_vector_x == 5 || ball_vector_x == -5) {
round = 2;
} else if(ball_vector_x == 6 || ball_vector_x == -6) {
round = 3;
} else if(ball_vector_x == 7 || ball_vector_x == -7) {
round = 4;
} else if(ball_vector_x == 8 || ball_vector_x == -8) {
round = 5;
} else if(ball_vector_x == 9 || ball_vector_x == -9) {
round = 6;
} else if(ball_vector_x == 10 || ball_vector_x == -10) {
round = 7;
}
text("round: " + round, 380, 20);
}
Ich denke, wir müssen den Code sehen, dass zeigt, wo 'key',' keyCode' und 'keyPressed' (und andere) von –
@SteveSmith kommen. Diese sind in die Verarbeitungssprache integriert. –
Kann die Verarbeitung Informationen über mehrere gleichzeitige Tastendrücke liefern? Und was ist der Unterschied zwischen 'key' und' keyCode'? –