Laufanimationen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Freeman

Betreff: Laufanimationen

BeitragFr, Dez 26, 2003 19:55
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, also ich wollte eine Laufanimation machen Smile ....dies hat aber nicht ganz geklappt, ich würd es nur schaffen wenn ich für jede Laufpose nur ein Frame benutzen müsste, bei mir ist es so das ich 2 Frames für die laufanimation verwende die sich immer abwechsen. Dies klappt aber nicht....könnt mir da wer etwas hilfestellung geben?
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28
 

konstantin

BeitragFr, Dez 26, 2003 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Guckst du hier

ChrisAttack

BeitragFr, Dez 26, 2003 20:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja der Kurs ist gut!
Nur da steht nicht drin wie man die Laufbewegung darstellt.
Entweder in einer For-Next Schleife, oder du speicherst die einzelnen Bilder in einen Array und lässt sie dadurch nacheinander ablaufen.

Ich würde letzteres empfehlen, da das Spiel nicht unterbrochen werden muss.
B3D
MSVC++
DX9SDK

Freeman

BeitragFr, Dez 26, 2003 21:18
Antworten mit Zitat
Benutzer-Profile anzeigen
gut, OK, ich werds nen bisschen anders macen ist mir grad eingefallen, ich mach einfach jede Laufanimation(Richtung) als Extradatei und frag die dann imer ab, is zwar nich grad Platzsparend....aba egal, ihr werdet ja bald nen Ergeniss sehn ^^
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28

bruZard

BeitragSa, Dez 27, 2003 10:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Guck mal:

Erstelle ein Image in dem alle Phasen der Animation hintereinander abgelegt sind und lade dieses Bild mit:Code: [AUSKLAPPEN]
laufen=LoadAnimImage("meine_anim.bmp",einzelbild_breite,einzelbild_hoehe,0,anzahl_der_bilder)

legst Du Dir noch eine Variable an in der Du das aktuelle Frame sicherst. In der Hauptschleife kannst Du nun die Frames hochzählen und dann das richtige Frame anzeigen:
Code: [AUSKLAPPEN]

FrameTime = 250   ; vier Bilder pro Sekunde
CurrentFrameTime = Millisecs()

Repeat
  Cls
  zeit=Millisecs()

  If zeit-CurrentFrameTime>FrameTime
    CurrentFrame=CurrentFrame+1
    If CurrentFrame>MaxFrame Then CurrentFrame=0
    CurrentFrameTime=zeit
  End If

  DrawImage laufen,x,y,CurrentFrame

  Flip
Until KeyHit(1) : End

Logischerweise ist das nur ein Dummycode. Er funktioniert nur mit einer Sequenz und Dein Character rennt sich die Seele aus dem Leib. Der Code soll Dir nur zeigen das man eben _keine_ For...Next Schleife verwendet um eine Animation anzuzeigen.
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

Freeman

BeitragSa, Dez 27, 2003 12:12
Antworten mit Zitat
Benutzer-Profile anzeigen
ich poste dann mal wie ichs gemacht hab, ok
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group