animation wird nicht in der hauptschleife abgespielt
Übersicht

Dark CoderBetreff: animation wird nicht in der hauptschleife abgespielt |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hab da mal eine frage wollte mal so nen animations test von einer b3d datei machen dies funktionniert aber nur ausserhalb der schleife geht das nicht auch innerhalb einer schleife?
Graphics3D 640,480,16,2 SetBuffer BackBuffer() camera = CreateCamera() PositionEntity camera,0,4,-10 player = LoadAnimMesh("dwarf1.b3d") ScaleEntity player,0.1,0.1,0.1 anim = ExtractAnimSeq( player, 2, 14 ) ;Animate player,1,0.1,anim,1 <= klappt Repeat ;Animate player,1,0.1,anim,1 <== geht nicht UpdateWorld RenderWorld Flip Until KeyHit(1) |
||
![]() |
darth |
![]() Antworten mit Zitat ![]() |
---|---|---|
das klappt nicht weil die animation ständig wieder neu gestartet wird... du wirst also immer nur den ersten frame davon zu sehen kriegen.
du müsstest es so einrichten, dass die animation nur startet, wenn sie nicht schon läuft... |
||
Diese Signatur ist leer. |
Dark Coder |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
jetzt hab ich das es geht nur kp warum!
Graphics3D 640,480,16,2 SetBuffer BackBuffer() camera = CreateCamera() PositionEntity camera,0,4,-10 player = LoadAnimMesh("dwarf1.b3d") ScaleEntity player,0.1,0.1,0.1 anim = ExtractAnimSeq( player, 2, 14 ) Repeat If laufen = True Then Animate player,1,0.1,anim EndIf If KeyDown(30) Then laufen = False <==== warum klappt das wenn da false ist und bei true nicht=? Else laufen = True <= normaler weise müsste doch da nen false stehen!!?? << EndIf UpdateWorld RenderWorld Text 0,0,a Flip Until KeyHit(1) |
||
trooper |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
soviel zeit zum nachdenken solltest du als "programmierer" schon haben...
versuchs mal so: Code: [AUSKLAPPEN] /* .... */ Repeat // Wenn die das Model noch nicht animiert wird, mit der Animation starten If laufeschon = false AND solllaufen = true Then Animate player,1,0.1,anim laufeschon = true EndIf // Wenn Taste gedrückt wird, das Animationsflag resetten If KeyDown(30) Then solllaufen = true laufeschon = false Else solllaufen = false EndIf /* .... */ Flip Natürlich kannst du zusätzlich auch noch überprüfen, ob die Animationssequenz schon beendet wurde, das sollte irgendwie mit AnimLength oder AnimTime funktionieren, hab mich nie wirklich mit BB3D beschäftigt |
||
-- imtane.de.vu --
a cherring ping |
![]() |
darthBetreff: ... |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() ok, dein code: blubb=true schleife ---- wenn blubb=true denn starte animation blubb=false --- schleife was tut das? er setzt blubb auf true, dann geht er in die schleife, startet die animation (da blubb ja true ist) und geht weiter. dort setzt er blubb auf false - was bewirkt das? die animation wird beim nächsten mal nicht mehr gestartet. anderes szenario: blubb=true schleife --- wenn blubb=true denn starte animation blubb=true --- schleife was tut dies nun? es startet, kommt in die schleife, blubb ist true, die animation wird gestartet. es geht weiter, blubb bleibt true! es kommt wieder an den schleifen anfang, die animation wird erneut gestartet. das ganze passiert mit einer rasend schnellen geschwindigkeit (und auch wenn die geschwindigkeit langsam wäre, würde sich nichts ändern), also siehst du stets nur den ersten frame, weil der bei jeder schleife NEU GEZEICHNET wird!!! ALSO: schleife --- if animation(kackding)=false then starte animation mit dem modus: EINMAL ABSPIELEN! endif --- schleife |
||
Diese Signatur ist leer. |
trooper |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja, toll, dass das ganze jetzt Du mir erklären willst!!!! | ||
-- imtane.de.vu --
a cherring ping |
![]() |
darthBetreff: .. |
![]() Antworten mit Zitat ![]() |
---|---|---|
dir erklär ich doch gar nichts? ... ![]() hast du überhaupt was gefragt? |
||
Diese Signatur ist leer. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group