bewegung mit Pfeiltasten?

  • Themenstarter Themenstarter bewegung
  • Beginndatum Beginndatum
B

bewegung

Gast
Ich will einen würfel zeichnen den ich mit den Pfeiltasten bewegen kann. Es funktionirt eigentlich alles bis auf die bewegung.
Code
Java:
import java.awt.*;
import java.awt.geom.*;
import java.awt.event.*;
import static java.awt.event.KeyEvent.*;

public class tastatur extends Frame
{
	int x=100, y=100;
	int _x=2, _y=1;

	public tastatur(int i)
	{
		addWindowListener(new windowF());
	}

	public tastatur()
	{
		addKeyListener(new keyListen());
	}


	public void paint(Graphics g)
	{
		int i;
		Graphics2D g2d = (Graphics2D) g;

		GeneralPath mann = new GeneralPath();

		mann.moveTo(x, y);
		mann.lineTo(x, (y + 100));
		mann.lineTo( (x + 100), (y + 100));
		mann.lineTo( (x + 100), y);
		mann.lineTo(x, y);

		g2d.draw(mann);

		x += _x;
		y += _y;
	}

	public static void main(String[] args)
	{
		tastatur f = new tastatur(1);
		f.setVisible(true);
		f.setSize(500, 600);
		f.setTitle("Kiste");
	}


	public class windowF extends WindowAdapter
	{
		public void windowClosing(WindowEvent e)
		{
			System.exit(0);
		}
	}

	public class keyListen implements KeyListener
	{
		public void keyPressed(KeyEvent e)
		{
			switch(e.getKeyCode())
			{
				case VK_LEFT:
					_y = 0;
					_x = -1;
					break;
						
				case VK_RIGHT:
					_y = 0;
					_x = 1;
					break;

				case VK_UP:
					_y = -1;
					_x = 0;
					break;

				case VK_DOWN:
					_y = 1;
					_x = 0;
					break;
			}
			repaint();
		}

		public void keyReleased(KeyEvent e)
		{
		}

		public void keyTyped(KeyEvent e)
		{
		}
	}
}
Was ist mein fehler?
Danke für alle kommenden antworten!!!
 
ob der rest von deinem code läuft weiß ich nicht. was ich aber weiß ist, dass du in deiner main den konstrukor mit dem int-argument aufrufst (wozu auch immer der gut sein soll!ß 😀 oder ist das zur unterscheidung der beiden konstruktoren????). jedoch wird in diesem kein keylistener geadded. soll das so?
 

Neue Themen


Zurück
Oben