ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
333
333
EMPFEHLEN
-
04.08.09 09:31 #1Holycrap Tutorials.de Gastzugang
Hallo. Mein Problem ist folgendes, ich schreib gerade ein Spiel, so ne Art "Space Invaders", und es gibt bzw. soll 3 funktionierende Tasten geben. Links, rechts, schießen, also die klassische Steuerung.
Jetzt hab ich aber folgendes Problem, dass wenn ich während dem Bewegen schießen will, dass er zwar schießt, aber aufhört sich zu bewegen, die Taste fürs bewegen bleibt aber weiterhin gedrückt.
Wie kann ich das Problem lösen bzw. umgehen?
MfG
P.S. hoffe es ist im falschen forum
-
04.08.09 09:38 #2
Moin,
poste mal den entsprechenden Code; anderfalls ist es wohl nicht nachvollziehbar ...
(Bitte nutze hier die Java-Tags [_JAVA] + [_/JAVA] - OHNE die Unterstriche!)
gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
04.08.09 09:58 #3Holycrap Tutorials.de Gastzugang
GUI
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
public class GUI extends JFrame { private BufferedImage background; private Point position_ship; private BufferedImage ship; public static byte speed = 5; public static ArrayList<Shot> shots = new ArrayList<Shot>(); public GUI() { ... //GUI Config und Bilder laden addKeyListener(new MyMoveListener()); addKeyListener(new MyShotListener()); new Repainter(this).start(); } /** * Zeichnet die Gegner, Schüsse, Hintergrund und das Schiff * @param g */ @Override public void paint(Graphics g) { if (background != null) { g.drawImage(background, 0, 0, this); } if (position_ship != null && ship != null) { g.drawImage(ship, position_ship.x, position_ship.y, this); } g.setColor(Color.WHITE); for (Shot shot : shots) { int x = shot.getX(), y = shot.getY(); g.drawLine(x, y, x, y + Shot.LENGTH); } } private class MyShotListener extends KeyAdapter { @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() != KeyEvent.VK_SPACE) { return; } //Neuer Schuss wird erzeugt Shot shot = new Shot(new Point(position_ship.x + 25, position_ship.y - Shot.LENGTH), false); shots.add(shot); } } private class MyMoveListener extends KeyAdapter { @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() != KeyEvent.VK_SPACE) { move(e.getKeyCode()); } } /** * Setzt die Position vom Schiff um * @param keyCode */ private void move(int keyCode) { ... } } /** * Autorepainter * Zeichnet 10x in der Sekunde die GUI neu */ private class Repainter extends Thread { private final GUI gui; public Repainter(GUI gui) { this.gui = gui; } @Override public void run() { try { Thread.sleep(100); } catch (InterruptedException ie) { } gui.repaint(); } } public static void main(String[] args) { new GUI().setVisible(true); } }
Tja...das ist mehr oder weniger der ganze Quellcode
-
04.08.09 10:03 #4Holycrap Tutorials.de Gastzugang
Ja und jetzt ist mein Problem, dass wenn ich z.B. Pfeiltaste n. L. drück bewegt sich das Schiff nach links, so soll es ja auch sein, aber sobald ich Space (Schießen) drücke, hört er auf sich zu bewegen, also im Klartext:
Links + Space = Bewegen + Schießen
so soll es sein bei mir ist das aber so, dass immer das letzte von den aktionen ausgeführt wird...also
Links + Space = Schießen
Space + Links = Bewegen
Hoffe das reicht als erklärung
-
Schau dir mal dieses Thema an:
http://www.tutorials.de/forum/java/3...light=keyevent
-
04.08.09 10:13 #6Holycrap Tutorials.de Gastzugang
ahhh.....großes THANKS!
Ähnliche Themen
-
KeyEvent - Tastenausgabe
Von hammet im Forum JavaAntworten: 2Letzter Beitrag: 11.10.08, 21:36 -
Keyevent in Textfeld
Von Kestrel im Forum .NET Windows FormsAntworten: 2Letzter Beitrag: 03.04.08, 12:07 -
KeyEvent für Backslash
Von Kayser im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 30.05.06, 09:41 -
Problem mit KeyEvent
Von sirconflex im Forum JavaAntworten: 11Letzter Beitrag: 10.07.05, 11:36 -
KeyEvent für ESC?
Von SG_wXistenZ im Forum .NET ArchivAntworten: 6Letzter Beitrag: 26.03.05, 01:44





Zitieren

Login





