Forum: Multimedia
Delphi
by Oxmyx,
3. Jan 2005
Ich weiß ja nicht was du so programmierst, aber ich komme mit ganz normaler Mathematik auf das richtige Ergebnis, und es funktioniert bei mir.
Wir können es ja mal kurz ausprobieren. Die Geschwindigkeit sei 10 Einheiten. Zuerst will ich nach oben fahren. Der Winkel zum Lot beträgt also 0 Radian:
x = sin(0) * 10.0 = 0
y = cos(0) * 10.0 = 10.0
Mein Auto fährt also auf der x-Achse 0...
Forum: Multimedia
Delphi
by Oxmyx,
3. Jan 2005
Ich habe es gerade mal probiert und meine Rechnung funktioniert perfekt. Was mache ich denn umständlich?
Forum: Multimedia
Delphi
by Oxmyx,
3. Jan 2005
Genau.
(Wäre ich ein Mathematiker, würde ich sicher sagen, dass man "pi" klein schreiben muss. Denn es gibt auch noch ein großes PI-Zeichen, das aber eine völlig andere Bedeutung in der Mathematik hat. ;-))
Forum: Multimedia
Delphi
by Oxmyx,
3. Jan 2005
Der Drehpunkt sollte in der Mitte des Bildes liegen, also bei 0.5/0.5 - stimmt schon.
Zweitens solltest du herausfinden, was für einen Winkel die Funktion DrawRotate braucht - ich vermute stark, dass das ein Winkel im Bogenmaß ist. In der Computergrafik verwendet man praktisch immer Bogenmaß, und nie Grad zur Winkelangabe.
Du solltest daher deinen Player-Record erstmal anpassen:
TPlayer =...
Forum: Multimedia
Delphi
by Oxmyx,
3. Jan 2005
Na einfach mit ein bisschen Trigonometrie.
x := x + (sin(winkel) * geschwindigkeit);
y := y + (cos(winkel) * geschwindigkeit);
Forum: Multimedia
Delphi
by Oxmyx,
3. Jan 2005
Wenn DrawRotate ein Bild gedreht zeichnet, musst du doch einfach die momentane Drehung deines Bildes in einer Variablen speichern, und den Wert ändern, wenn du eine Taste drückst. Oder war das nicht dein Problem?