Charakteranimationsprobleme bei Tastendruck
Übersicht

smBetreff: Charakteranimationsprobleme bei Tastendruck |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo zusammen, ich hab ein kleiens Problem, aber vielleciht könnt Ihr mir ja weiterhelfen. Folgendes ich habe mehrere Animationen für forwärts-gehen - seitwärts etc und die alle in verschiedenen .b3d Dateien.
Jetzt dachte ich mir einfach - mit animatemesh beim drücken der forwärtstaste soll er die animationsdatei abspielen - macht er zwar und beweg auch das mesh vorwärts allerdings nur genau 1 Frame davon - mehr nciht - jemand ne idee wie ich das anderst lösen könnte ?? Kleiner auszug aus meinem Code: Code: [AUSKLAPPEN] Repeat WaitTimer(frameTimer) If KeyDown(31) MoveEntity character,0,0,3 Animate character,1,1 EndIf If KeyDown(17) MoveEntity character,0,0,-3 Animate character,1,2 EndIf If KeyDown(32) MoveEntity character,-3,0,0 Animate character,1,3 EndIf If KeyDown(30) MoveEntity character,3,0,0 Animate character,1,4 EndIf mx#=CurveValue(MouseXSpeed()*mousespeed,mx,camerasmoothness) my#=CurveValue(MouseYSpeed()*mousespeed,my,camerasmoothness) MoveMouse GraphicsWidth()/2,GraphicsHeight()/2 yaw#=EntityYaw(character) pitch=pitch+my yaw=yaw-mx ;If pitch>89 pitch=89 If pitch<-30 pitch=-30 RotateEntity character,0,yaw,0 MoveEntity character,cx,0,cz PositionEntity(camera,0,pitch+50,500) PointEntity camera, character EntityParent(camera, character) UpdateWorld() RenderWorld() DrawImage LoadImage("bin/menu/001.TGA") ,0,0 Text 0,20,"Triangles Rendered: "+TrisRendered() Text 0,40,"Character Collisions: "+CountCollisions (character) Text 0,60,"Animation Set: "+Animation Text 0,80,"Posiion Player (X,Y,Z):"+EntityX(character)+EntityY(character)+EntityZ(character) Flip Until KeyHit(1) |
||
![]() |
FreetimeCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also erstmal Wilkommen im BB Forum.
Erstellst du die Animationen mit "ExtractAnimSeq" ? Dann wäre es zu erst sinnvoll, den Animationen Namen zu geben. Also setzt du mehere "Const" ein: Code: [AUSKLAPPEN] Const Walk_1=1, Walk_2=2 usw..
UND: Du musst das hier beachten: Animate [Entity],[Modus],[Geschwindigkeit],[Sequenz] Das ist zwar nicht notwendig, aber praktisch. Dann müsste dieser Code funktionieren: Code: [AUSKLAPPEN] If KeyDown(31) If AnimSeq(character)<>Walk_1 ;Ist die momentane Animation Walk_1? Animate character,1,1,Walk_1;Wenn nicht, dann Walk_1 Else If Animating(character)=0;Wenn die momentane Animation Walk_1 ist, dann schauen,ob die animation noch läuft Animate character,1,1,Walk_1 ;Läut die animation nicht mehr, neu animieren (loopen) EndIf Endif MoveEntity character,0,0,3 EndIf Den musst du dann fürf die anderen Keys und Animationen kopieren. |
||
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte: Dexterity Ball (100%) Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz (ehemals Uboot) PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group