Animation
Übersicht

StaniBetreff: Animation |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,ich brauch kurz Hilfe.Ich hab hier viele Animationen und möchte die beim gehen einsetzten.Ich hab von Pacemaker von der Website so ein Ninja geholt und mit extractanimseq die frames von 1 - 14(also gehen) ausgeschnitten.
Jetzt mach ich das so ,das ich bei if not keydown(17) then animate player,1,.2,1,0 die animation reintu.Aber wenn ich das jetzt bei if not keydown(31) (rückwerts ) then animate player,1,-.2,1,0 mache,dann geht nichts mehr. Wie kann ich das lösen? |
||
Pousup |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Poste bitte den ganzen Code, das ist für uns um ein vielfaches übersichtlicher. Die Frage die sich mir stellt, ist allerdings: Wieso fragst du: "If not Keydown(xy)" ab? | ||
www.mikes-frittenbude.blogspot.com Gaming, Musik, Lifestyle & mehr |
Stani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] Graphics3D 1280,1024,32,1
SetBuffer BackBuffer() HidePointer Global player=LoadAnimMesh("ninja.b3d") ScaleEntity player,0.4,0.4,0.4 ExtractAnimSeq(player,1,14) Global playerpiv=CreatePivot() Global cam1=CreateCamera(playerpiv) MoveEntity cam1,0,2,-5 Global cam2=CreateCamera(player) MoveEntity cam2,1.8,7.5,-6 HideEntity cam2 ShowEntity cam1 Global Boden=CreatePlane() EntityTexture Boden,LoadTexture("gras.jpg") PositionEntity Boden,0,-1,0 Global light=CreateLight() PositionEntity player,0,-1.1,0 Repeat Cls PositionEntity playerpiv,EntityX(player),EntityY(player),EntityZ(player) If MouseDown(2) Then HideEntity cam1 ShowEntity cam2 RotateEntity player,EntityPitch(player),EntityYaw(player)-MouseXSpeed(),0 If KeyDown(17) Then MoveEntity player,0,0,.1 If KeyDown(31) Then MoveEntity player,0,0,-.1 If KeyDown(30) Then MoveEntity player,-.1,0,0 If KeyDown(32) Then MoveEntity player,.1,0,0 Else HideEntity cam2 ShowEntity cam1 RotateEntity playerpiv,EntityPitch(playerpiv),EntityYaw(playerpiv)-MouseXSpeed(),0 If KeyDown(17) Then MoveEntity player,0,0,.1 If KeyDown(31) Then MoveEntity player,0,0,-.1 If KeyDown(30) Then TurnEntity player,0,2,0 If KeyDown(32) Then TurnEntity player,0,-2,0 If not KeyDown(17) Then Animate player,1,.2,1,0 EndIf if not keydown(31) then animate player,1,-.2,1,0 endif EndIf RenderWorld UpdateWorld Flip Until KeyDown(1) End Weiß ich ja auch nicht.animate muss man doch immer genau andersrum machen also not keydown....,weil er ja sonst immer wenn du nicht gedrückt hast animiert. |
||
Pousup |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab mich mit 3D noch nicht wirklich auseinander gesetzt, aber kann sein, dass du die Befehle falsch verwendest?
Animate |
||
www.mikes-frittenbude.blogspot.com Gaming, Musik, Lifestyle & mehr |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jop, Extractanimseq gibt zB die resultierende Nummer der Sequenz zurück - man sollte sie also auch abfragen. ![]() Die Hilfe sei hier dein Freund und Lehrmeister, Stani. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Stani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: mesh = LoadAnimMesh(base_mesh$)
;Laufanimation ist Frame 0-30 (AnimSequenz 1!) ExtractAnimSeq(mesh, 0, 30 ) ;Sprunganimation ist Frame 31-40 (AnimSequenz 2!) ExtractAnimSeq(mesh, 31, 40) ;Sprunganimation 1x abspielen Animate mesh, 3, 1, 2 genau so hab ich das gemacht ,aber es geht nicht. Ist glaub ich was anderes |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich glaub, du solltest nochmal nachlesen, wie ExtractAnimSe![]() Moment, mein Fehler: Die Nummer der Animationssquenz muss man nicht zwischenspeichern? Ist das Beispiel korrekt? |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Stani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
jopp aber das ist doch garnicht das problemm.Das mit animseq da geht ,nur ich weiß nicht wie ich das mim animate machen soll.Da man ja immer not oder else haben muss,kann ich ja nicht beide machen,da dan beide stimmen und 2 animationen gleichzeitig laufen.
weiß auch nicht warum die Variable nicht stimmen muss für animate : if not A = 1 then animate..... Iwie muss man das doch machen können |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] stehen = extractanimseq(...)
laufen = extractanimseq(...) if keydown(bla) then if not modus = stehen then modus = stehen animate deinefigur,3,1,stehen endif endif if keydown(blub) then if not modus = laufen then modus = laufen animate deinefigur,1,1,laufen endif endif Pseudocode, sollte das Prinzip aber klarmachen. Du machst ne Hilfsvariable die dafür sorgt dass das Animate nur einmalig pro 'aktion ausgeführt wird. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Stani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
aber jetzt wenn ich nur 1 mal w drücke dann leuft die gehen animation weiter bis ich auf s drücke,wodurch dan die rückwertsanimation anfängt aber halt auch bis ich wieder di andere drücke. | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann machst Du eine Standanimation die abgespielt wird wenn keine Taste gedrückt wird - selbes Prinzip.
dafür kannst du ja zur Not eine 'Animation' aus einem einzelnen Frame erstellen. Du musst halt nur bei allen Tastaturabrafen eine Hilfsvariable auf 1 setzen wenn sie erfolgt sind und diese Hilfsvariable bei jedem Durchlauf deiner Mainloop zuerst mal auf 0 setzen. Ist sie nach Ende der Mainloop immer noch 0 wurde keine Taste gedrückt und die Standanimation ist dran. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group