Sprite drehen und "Schub" geben [gelöst]
Verfasst: 04.10.2007 09:45
Hi Leute ,
ich hab im Moment das Problem , dass ich in meinem Programm ein Sprite habe(z.B. SChiff) , das ich mit Right und Left drehen kann / will und mit Up dann Gas gebe ...
so weit so gut ... das mit dem Drehen klappt schon ma so weit gut ... aber mit dem Schub geben funzt gar nich ...
muss irgendwas mit sin() und cos() vom drehwinkel zu tun haben ...
naja ... klappt halt irgendwie nich ... hier mal der code ...
Und jetzt meine Frage ... WAS MACH ICH HIER FALSCH ? WO IST DER FEHLER MIT DEM SCHUB?
PS: SChon ma danke für alle ANtworten
ich hab im Moment das Problem , dass ich in meinem Programm ein Sprite habe(z.B. SChiff) , das ich mit Right und Left drehen kann / will und mit Up dann Gas gebe ...
so weit so gut ... das mit dem Drehen klappt schon ma so weit gut ... aber mit dem Schub geben funzt gar nich ...
muss irgendwas mit sin() und cos() vom drehwinkel zu tun haben ...
naja ... klappt halt irgendwie nich ... hier mal der code ...
Code: Alles auswählen
InitSprite()
InitMouse()
InitKeyboard()
InitSprite3D()
Global px.f : px = 500 ; X vom Player
Global py.f : py = 500 ; Y vom Player
Global pwin.l ; Winkel von Player
Enumeration
#pu2d ; 2D-Player
#back
#p ; 3d player
EndEnumeration
OpenScreen(1024,768,32,"Screen")
LoadSprite(#back,"back.bmp",#PB_Sprite_Texture)
LoadSprite(#pu2d,"pl_up.bmp",#PB_Sprite_Texture)
CreateSprite3D(#p,#pu2d)
Repeat
ClearScreen(0,0,0)
DisplaySprite(#back,0,0)
ExamineKeyboard()
Gosub steuerung
Start3D()
DisplaySprite3D(#p,px,py)
Sprite3DQuality(0)
Stop3D()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
End
steuerung: ; Wo liegt hier der Fehler ?
If KeyboardPushed(#PB_Key_Left)
pwin - 2
RotateSprite3D(#p,pwin,0)
EndIf
If KeyboardPushed(#PB_Key_Right)
pwin + 2
RotateSprite3D(#p,pwin,0)
EndIf
If KeyboardPushed(#PB_Key_Up)
px + Cos(pwin)
py + Sin(pwin)
EndIf
Return
PS: SChon ma danke für alle ANtworten