Seite 1 von 1

Sprite drehen und "Schub" geben [gelöst]

Verfasst: 04.10.2007 09:45
von lassma-asma
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 ...

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
Und jetzt meine Frage ... WAS MACH ICH HIER FALSCH ? WO IST DER FEHLER MIT DEM SCHUB?

PS: SChon ma danke für alle ANtworten

Verfasst: 04.10.2007 11:46
von NicTheQuick
'RotateSprite3D()' braucht den Winkel in Grad (0° bis 360°).
'Cos()' und 'Sin()' dagegen in Rad (0 bis 2*PI). Du musst also einfach nur
umrechnen.

Code: Alles auswählen

#deg2rad = 0.017453292519943296 ;= PI / 180
px + Cos(pwin * #deg2rad)
py + Sin(pwin * #deg2rad)

Verfasst: 04.10.2007 14:26
von lassma-asma
aaaaahhh ...
na dann ...

werde es gleich ma probieren ... Danke schonma ...

gruß

Verfasst: 04.10.2007 20:01
von lassma-asma
hast du das eigentlich ausprobiert ... geht das bei dir ?

bei mir nich ...

ich weiß nich warum , probiers doch ma aus ... der macht nur ***

HILFE !

Verfasst: 04.10.2007 20:20
von STARGÅTE
was geht denn nicht, ??

ist es nur ein 90° Fehler, dann musst du dein Bild drehen (in der datei)

Verfasst: 04.10.2007 20:26
von lassma-asma
gott !!!
JAAA , danke Stargate ...

war schon auf der richtigen fährte .. :freak: :mrgreen: .

ja war echt so ... jetzt funzts ...

DANKE NOCHMAL :allright: