Animation auf Knopfdruck will nicht

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

gigi

Betreff: Animation auf Knopfdruck will nicht

BeitragFr, Dez 26, 2008 22:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich versuche mich gerade an 3D-Animationen,als Testobjekt hab ich mal den zwerg genommen. Ich wollte eine GEH-Animation beim drücken der Laufen-Taste spielen, aber es funktioniert überhaupt nicht mehr. Die Idee dazu stammt aus einem Thread den die Suche ausgespuckt hat: https://www.blitzforum.de/foru...nimationen
hier mein Code:Code: [AUSKLAPPEN]
Graphics3D 800,600,32,2
SetBuffer BackBuffer()
gras=LoadTexture("gras.jpg")
land=LoadTerrain("land.png")
EntityTexture land,gras
ScaleEntity land,5,50,5
char=CreatePivot()
zwerg=LoadAnimMesh("dwarf1.b3d")
ScaleEntity zwerg,.1,.1,.1
EntityParent zwerg,char
cam=CreateCamera(char)
MoveEntity cam,0,5,-10

geh=ExtractAnimSeq (zwerg, 2, 14 )
lauf=ExtractAnimSeq (zwerg, 16, 26) 
steh=ExtractAnimSeq (zwerg,  327, 360)
PositionEntity char,1220,0,758
EntityType char,1
EntityType land,2
seq=1
While Not KeyHit(1)
Collisions 1,2,2,1

If  Not Animating(zwerg)  And seq=1 Then
Animate zwerg,1,.3,geh,10
EndIf
If  Not Animating(zwerg) And seq=2 Then
Animate zwerg,1,.3,lauf,10
EndIf
If Not Animating(zwerg) And seq=3 Then
Animate zwerg,1,.3,steh,10
EndIf

If KeyDown(200) Then
MoveEntity char,0,0,1
seq=1
EndIf
If KeyDown(208) Then
MoveEntity char,0,0,-1
seq=1
EndIf
If KeyDown(203) Then
TurnEntity char,0,1,0
seq=1
EndIf
If KeyDown(205) Then
TurnEntity char,0,-1,0
seq=1
EndIf

UpdateWorld
RenderWorld

Text 100,100,EntityX(char)+" X " +EntityY(char)+" Y "+EntityZ(char)+" Z"

Flip
Wend
End


Der Zwerg bewegt sich nun garnichtmehr...

MFG Gigi
Anfänger Tut von mir:
http://www.blitzforum.de/forum...hp?t=26185

The_Nici

BeitragSa, Dez 27, 2008 12:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, ein paar Punkte welche du beachten solltest:

  • MoveEntity würde ich nicht zum Positionieren von Objekten am Programmbeginn verwenden. Verwende PositionEntity
  • Rücke deinen Code ein.
  • Collisions gehört ausserhalb der Schleife!
  • Ich bin immer Unsicher ob diese Not-Verknüpfungen mit And danach wirklich gehen, versuche mal testweise sowas:
    Code: [AUSKLAPPEN]

    If Not Animating(zwerg)
       Select seq
          Case 1
             Animate zwerg,1,.3,geh,10
          Case 2
             Animate zwerg,1,.3,lauf,10
          Case 3
             Animate zwerg,1,.3,steh,10
       End Select
    EndIf



MfG The_Nici
 

gigi

BeitragSa, Dez 27, 2008 12:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank nici!

Immerhin wird mein Zwerg nun animiert. Allerdings ändert er imernoch nicht seine Animationsart auf Knopfdruck... Ich habe Case statt if benutzt.
Nun wird bei der Case abfrage ja die Bedingung gestellt das der zwerg noch nicht animiert wird. Dies muss ich jetzt glaube ich umgehen. Aber wie?
Anfänger Tut von mir:
http://www.blitzforum.de/forum...hp?t=26185

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group