Charakteranimationsprobleme bei Tastendruck

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

sm

Betreff: Charakteranimationsprobleme bei Tastendruck

BeitragMo, Nov 20, 2006 15:36
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Nov 20, 2006 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
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

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group