あなたは、同時に2つのパドルを移動しようとすると、彼らはそれがない/動かない、しかし、処理し、すべてが正常に働いているのコードピンポンしようとしている、と私は完全にダウンパドルを上に移動することができ、私はそうあなたは(私は2人が同じキーボードを使用してプレイできるように、この2人プレイするつもりが、別のパドルのための異なるキーとしています)しましょう。
私はそれが両方か何かを検出することができないと思うので、これは、「キー」や「keyPressed」を使用しての問題であると考えていますか?私はこのまたは任意の代替案を修正する方法を見つけ出すように見えることはできません。(あなたはイムのようなさまざまな提供のキーがしようとしていると同時に、それらの両方を移動することはできませんそのわずかことを、私はパドルを移動する方法を知っていることに注意してください)
私はこれまで、「Player1」と「Player2を」2つのオブジェクトを持っています
心の「Y」でのキープは、いずれか、またはキーに応じて上下に移動しますyの位置が押圧され、「スピード」パドルが移動することだけで速度です。
これはPlayer1です。アップ=ワット、ダウン= S
void movement() {
if(keyPressed) {
if(key == 'w' || key == 'W') {
y = y - speed; //goes up
} else if (key == 's' || key == 'S') {
y = y + speed; //goes down
}
}
}
これはPlayer2です。アップは、矢印キーアップ=、下は=下矢印キー
void movement() {
if (keyPressed) {
if(key == CODED) {
if(keyCode == UP) {
y = y - speed; //goes up
} else if (keyCode == DOWN) {
y = y + speed; //goes down
}
}
}
}
エラー・メッセージは、ちょうど私がやりたい何かである、あなたが同時に2つのパドルを移動させません。
あなたは使用することがきたkeyPressed
とkeyReleased()
のイベントを。イベントは、キーが押されたり解放されたときに一度だけ実行されます。キーが押されたときにキーが離されたときの状態をリセットし、それぞれの状態を設定します。
Boolean player1_up = false;
Boolean player1_down = false;
Boolean player2_up = false;
Boolean player2_down = false;
void keyPressed() {
if (keyCode == UP)
player1_up = true;
else if (keyCode == DOWN)
player1_up = true;
if (key == 'w' || key == 'W')
player2_up = true;
else if (key == 's' || key == 'S')
player2_down = true;
}
void keyReleasd() {
if (keyCode == UP)
player1_up = false;
else if (keyCode == DOWN)
player1_up = false;
if (key == 'w' || key == 'W')
player2_up = false;
else if (key == 's' || key == 'S')
player2_down = false;
}
状態を使用しplayer1_up
、player1_down
、player2_up
とplayer2_down
にmovement
機能を。