Steuerung eines Autos

mavinatic

Bekanntes Mitglied
Hallo JavaCommunity,

Ich habe ein "Rennauto" gezeichnet und damit möchte ich jetzt über die Map heizen die ich auch gezeichnet habe. Mein Problem ist nun das ich mich auf der X und Y achse bewegen kann aber nicht in einem beliebigen Winkel. Ich habe es schon mit sin & cos probiert aber es will einfach nicht hinhauen.

Aus Frust habe ich den Code gelöscht -.-

Java:
public void keyPressed(KeyEvent arg0) {
		// TODO Auto-generated method stub
		// ALLES NEU
		switch(arg0.getKeyCode()) {
		
		case 37: //LINKS
			player.setDegreeOffset(player.getDegreeOffset()-player.getDegree());
			break;

		case 38: //OBEN
			
			player.setY(player.getY() - player.getSpeed());
			break;
			
		case KeyEvent.VK_RIGHT: //RECHTS
			player.setDegreeOffset(player.getDegreeOffset()+player.getDegree());
			break;

		case 40: //UNTEN
			player.setY(player.getY() + player.getSpeed());
			break;
		}

Ich möchte keinen Code von euch sondern einfach eine Idee wie ich das regeln könnte.

Grüße mavi
 
generell würde ich bei einem tastendruck nciht die position verändern, sondern die geschwindigkeit und die richtung.
Dein Programm führt dann alle X ms den Game Loop durch und verändert die Position anhand von Richtung und Geschwindigkeit.... (als nicht Xms sonder x-(zeit für den letzten loop) ms ;-) )

ansonsten hat das Problem eigentlich nix meht Java Entwicklung zu tun sondern eher mit Vektor Rechnung...
Aber da gibt sicher einige Game Developer die sich da besser auskennen als ich...
 

Zurück
Oben