2D Steuerung - Fahrzeug eiert seltsam

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Björn

Betreff: 2D Steuerung - Fahrzeug eiert seltsam

BeitragMi, März 16, 2005 18:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
in meinem 2D-Spiel habe ich diese Steuerung:
Code: [AUSKLAPPEN]
   
Dim player1(359)
TFormFilter 0
player1_bild = LoadImage("player.bmp")
MaskImage player1_bild,255,102,204

For Winkel = 0 To 359
player1(Winkel) = CopyImage(player1_bild)
RotateImage player1(Winkel), Winkel - 90
MidHandle player1(Winkel)
Next

If KeyDown(links) Then Winkel= Winkel - 5
If KeyDown(rechts) Then Winkel= Winkel + 5
If Winkel > 359 Then Winkel = 0
If Winkel < 0 Then Winkel = 359
If KeyDown(oben) Then V1 = 1
x1 = x1 - Cos(Winkel) * V1
y1 = y1 - Sin(Winkel) * V1


Könnte mir jemand sagen warum das Fahrzeug beim Fahren ab und an nach oben und unten eiert?

Björn
www.brickmovies.de

Ralf

BeitragMi, März 16, 2005 18:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

setze mal das MidHandle für das erste Image. Ansonsten wird die Drehung des Images nicht korrekt berechnet.

Code: [AUSKLAPPEN]
   
Dim player1(359)
TFormFilter 0
player1_bild = LoadImage("player.bmp")
MaskImage player1_bild,255,102,204
MidHandle player1_bild

For Winkel = 0 To 359
player1(Winkel) = CopyImage(player1_bild)
RotateImage player1(Winkel), Winkel - 90
Next

If KeyDown(links) Then Winkel= Winkel - 5
If KeyDown(rechts) Then Winkel= Winkel + 5
If Winkel > 359 Then Winkel = 0
If Winkel < 0 Then Winkel = 359
If KeyDown(oben) Then V1 = 1
x1 = x1 - Cos(Winkel) * V1
y1 = y1 - Sin(Winkel) * V1

Björn

BeitragMi, März 16, 2005 18:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke hilft leider irgendwie nicht - wenn man mit gedrückter VOR Taste fährt geht es aber sobald man sie los lässt also das Fahrzeug mit der Restspeed fährt, ruckt es teilweise noch nach links/rechts.
Björn
www.brickmovies.de

Ralf

BeitragMi, März 16, 2005 19:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann dürfte der Fehler in einer anderen Stelle des Codes sein.

simi

BeitragMi, März 16, 2005 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleciht x1 und y1 als Float deklarieren, weiss aber nicht ob es hilft....

Björn

BeitragMi, März 16, 2005 19:56
Antworten mit Zitat
Benutzer-Profile anzeigen
@simi
Jo funst! Very Happy Very Happy
Danke!
Björn
P.S. Die Idee das die Koord. evtl. zu ungenau sind hatte ich auch, bin nur nicht drauf gekommen Very Happy
www.brickmovies.de
 

krux

Betreff: Re: 2D Steuerung - Fahrzeug eiert seltsam

BeitragMi, März 16, 2005 22:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Björn hat Folgendes geschrieben:
Hallo,
Code: [AUSKLAPPEN]
   

If Winkel > 359 Then Winkel = 0
If Winkel < 0 Then Winkel = 359


Björn


du kannst noch mehr verbessern, wenn du anstelle den winkel zurück auf null zu setzen 360 abziehst bzw zu addieren, dann is es ganz genau.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group