Hallo zusammen,
es ist mir fast schon peinlich aber ich hab gerade iwie ein Problem bei der Steuerung von meinem
Spiel. Also ich setzte Flags beim Tastendruck auf true und wenn ich die Taste loslasse auf fals.
In einem Thread wird dann geprüft, welche Taste gedrückt wird und das Objekt dementsprechend
bewegt.
Die Direction wird dann an den Server geschickt. Es soll so sein wenn ich z.B. Zuerst
Hoch drücke wird die Figur hoch bewegt, und dann zum Beispiel Links wird die Spielfigur Links bewegt und wenn ich Links loslasse wir die Figur wieder Hoch bewegt. Das funktioniert auch soweit. Das Problem ist, dass wenn ich es so mache das ich z.B. zuerst Links oder rechts drücke und dann Hoch oder runter dann bewegt er sich trotzdem nur nach links bzw. rechts, da ich ja das Hoch und Runter überschrieben weren, weil ich links und rechts ja erst nach hoch und runter prüfe.
Ich hoffe ich habs einigermaßen richtig beschrieben. Wie kann ich das Problem lösen, ich stehe gerade voll aufm Schlauch
Danke und Grüße
es ist mir fast schon peinlich aber ich hab gerade iwie ein Problem bei der Steuerung von meinem
Spiel. Also ich setzte Flags beim Tastendruck auf true und wenn ich die Taste loslasse auf fals.
In einem Thread wird dann geprüft, welche Taste gedrückt wird und das Objekt dementsprechend
bewegt.
Java:
private void checkKeys() {
if (up) {
jet.setVerticalSpeed(-speed);
jet.setHorizontalSpeed(0);
direction = "u";
}
if (down) {
jet.setVerticalSpeed(speed);
jet.setHorizontalSpeed(0);
direction = "d";
}
if (right) {
jet.setHorizontalSpeed(speed);
jet.setVerticalSpeed(0);
direction = "r";
}
if (left) {
jet.setHorizontalSpeed(-speed);
jet.setVerticalSpeed(0);
direction = "l";
}
if (!left && !right && !up && !down) {
jet.setHorizontalSpeed(0);
jet.setVerticalSpeed(0);
direction = "s";
}
sendDir(direction);
Die Direction wird dann an den Server geschickt. Es soll so sein wenn ich z.B. Zuerst
Hoch drücke wird die Figur hoch bewegt, und dann zum Beispiel Links wird die Spielfigur Links bewegt und wenn ich Links loslasse wir die Figur wieder Hoch bewegt. Das funktioniert auch soweit. Das Problem ist, dass wenn ich es so mache das ich z.B. zuerst Links oder rechts drücke und dann Hoch oder runter dann bewegt er sich trotzdem nur nach links bzw. rechts, da ich ja das Hoch und Runter überschrieben weren, weil ich links und rechts ja erst nach hoch und runter prüfe.
Ich hoffe ich habs einigermaßen richtig beschrieben. Wie kann ich das Problem lösen, ich stehe gerade voll aufm Schlauch
Danke und Grüße