Animation....(ich hasse dieses Thema)

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Pfaff

Betreff: Animation....(ich hasse dieses Thema)

BeitragSa, Dez 25, 2004 15:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Ich habe eine kleine Landschaft gecodet wo man mit nem Zwerg rumläuft.
Natürlich will ich den Animieren aber ich schaffs nicht das richtig hinzubekommen.

Code: [AUSKLAPPEN]

idle = ExtractAnimSeq(player,292,325)
walk = ExtractAnimSeq(player,2,14)
run = ExtractAnimSeq(player,16,26)

Global seq = idle

While Not KeyHit(1)

   Cls

   MoveEntity player,0,gr,0
   TurnEntity space,0,.001,0
   
   If Not Animating(player)
      Animate player,1,.2,seq,0   
   EndIf
   
   If KeyDown(200) Then
      MoveEntity player,0,0,3
      seq = walk
   Else
      seq = idle
   EndIf

   
   If KeyDown(203) Then
      TurnEntity player,0,3,0
   EndIf
   
   If KeyDown(205) Then
      TurnEntity player,0,-3,0
   EndIf
      
   camx = EntityX(player)
   camy = EntityY(player)
   camz = EntityZ(player)

   Collisions player_coll,level_coll,2,3

   RenderWorld
   UpdateWorld
    
   If seq = 2 Then tex$ = "Walk"
   If seq = 1 Then tex$ = "Idle"
   Text 1,100,"Status: "+tex$
   Text 1,1,"X: "+camx
   Text 1,13,"Y: "+camy
   Text 1,25,"Z: "+camz

   Flip

Wend

End


Hab jetzt nurmal das nötigste vom Coden rausgenommen. Der Fehler liegt glaub ich bei "If not Animating(player) then .... da kommt das Animate glaub in so ne art Schleife hinein. Wenn ichs aber weglösch dann kann ich zwar die Animation wechseln, zwischen stand- und laufani, aber dann zeigts immer nur den ersten Frame an.
 

INpac

BeitragSa, Dez 25, 2004 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Mache es so:

Bei vorwärtsbewegung, soll_Sequenz = 123, bei springen, soll_Sequenz = 456

Wenn aktuelle_MeshAnimation <> Soll_Sequenz, dann AnimiereMesh mit SollSeq

das geht sehr gut Wink
 

Pfaff

BeitragSa, Dez 25, 2004 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Toll, musst du das wieder so blöd aufschreiben?!

Brauch ich wieder ne weile bis ichs gecheckt hab....

Aber thx!
 

Pfaff

BeitragSa, Dez 25, 2004 21:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
If seq <> 1
      Animate player,1,.2,1,0   
   EndIf
   
   If seq <> 2
      Animate player,1,.2,2,0   
   EndIf

   
   If KeyDown(200) Then
      MoveEntity player,0,0,3
      seq = 2
   Else
      seq = 1
   Endif

so?
 

blitzblaster

BeitragSa, Dez 25, 2004 22:53
Antworten mit Zitat
Benutzer-Profile anzeigen
@ Pfaff: Schau Dir mal den Befehl AnimSeq an. Das sollte Dir weiterhelfen.
 

Pfaff

BeitragSa, Dez 25, 2004 23:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Jaja habs schon thx

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group