私はちょうど処理していくつかのJavaを始めて、私はパッドを互いに独立して動かすことができないという問題に遭遇する。ピンポンのパッドを2人で独立して移動するにはどうしたらいいですか?
pad1とstart pad2を移動している間は、pad1が停止し、もう一方が周りを回るため、ゲームが速くなったときに2人のプレイヤーが互いに干渉し合います。
パッドをオブジェクトに変えて差をつけようとしましたが、問題自体に何も変更を加えませんでした。コードの終わりは無視することができます。これはforLoopでこれを修正すると思います。
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);
}
私たちはそのコードを参照する必要があると思う実際には、このようになります'key'、' keyCode'と 'keyPressed'(そして他のもの)はどこから来たのですか? –
@SteveSmithこれらはProcessing言語に組み込まれています。 –
Can Processingは複数の同時キープレスに関する情報を提供しますか? 'key'と' keyCode'の違いは何ですか? –