Laufbewegung-->animation

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Nuramor

Betreff: Laufbewegung-->animation

BeitragMo, Jun 30, 2008 19:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Smile
ich bin gerade dabei BB zu lernen..
und lese mir Rob'S Kurs 2 durch.
Hängen bleibe ich bei Den Animation
Code: [AUSKLAPPEN]
bildvariable = LoadAnimImage("F:\Dokumente und Einstellungen\Ich\Desktop\trooper.png", hoehe, breite, erstes_bild, bilder_anzahl)
DrawImage bildvariable, x, y, frame
DrawBlock bildvariable, x, y, frame
TileImage bildvariable, x, y, frame
TileBlock bildvariable, x, y, frame

...ich versteh nicht ganz was jetz für was steht... also ich habe ne Datei und da sind 6 Bewegungsablaufteile drauf...
wie muss ich das jetzt machen?^^
sry... habe die Boardsuche verwendet und nichts gefunden... wenn ich was übersehen haben sollte bitte einfach schreiben und nicht rummeckern

BladeRunner

Moderator

BeitragMo, Jun 30, 2008 19:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, Drawimage, Drawblock, Tileimage und TileBlock sind im wesentlichen verschiedene Methoden um ein Bild anzuzeigen, ob mit transparenter Farbe oder ohne und ob sich wiederholend oder nicht.

x und y geben die Position auf dem Bildschirm an.
Frame sagt welches Einzelbild der Animation Du verwenden willst.

Damit daraus noch ne flüssige Bewegung wird musst du mittels eines Timers (oder per Millisecs) dafür sorgen dass sich das zu zeichnende Frame regemäßig ändert, um so die Bewegungsillusion herzustellen

Beispiel:
Code: [AUSKLAPPEN]
timer =createtimer(5) ;5 mal in der sekunde

repeat
    Waittimer(timer)
    frame = (frame+1)mod 6 ;mod sorgt dafür das frame nur von 0-5 geht
    drawimage bild,x,y,frame
    flip
    cls
until keyhit(1)

Der Code ist nur als Beispiel gedacht und alles andere als elegant.
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
 

Nuramor

BeitragMo, Jun 30, 2008 19:19
Antworten mit Zitat
Benutzer-Profile anzeigen
danke schonmal Smile
da steht auch was von das man das in ner Schleife machen kann...
ist damit gemeint die Framezahl zu speichern in ner Variable und die dann hochzuzählen?

ich werd das ganze mit der bewegung nochmal versuchen ^^
erstmal Links lesen
 

Nuramor

BeitragMo, Jun 30, 2008 19:29
Antworten mit Zitat
Benutzer-Profile anzeigen
sry for doppelpost Smile wollte nur das das gelesen wird Smile

Code: [AUSKLAPPEN]

Graphics 640, 480
SetBuffer BackBuffer()


bildvariable = LoadAnimImage("trooper.png", 47.66, 57, 0, 5)


timer =createtimer(5) ;5 mal in der sekunde

Repeat
    WaitTimer(timer)
    frame = (frame+1)Mod 6 ;mod sorgt dafür das frame nur von 0-5 geht
    DrawImage bildvariable,x,y,frame
    Flip
    Cls
Until KeyHit(1)

ist jetzt mein Code... aber jetzt kommt der Fehler nach einmal durchlaufen glaub ich "Image frame out of range", heißt?

BladeRunner

Moderator

BeitragMo, Jun 30, 2008 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich möcht dich dennoch bitten den Editbutton zu nutzen, grad wenn es so zeitnah zum letzten Posting ist.
loadanimimage wird dir sagen dass Du ein Bild mit 5 Animationsschritten geladen hadt aber auf 6 zugreifen willst und deswegen meckert der Compiler dann "Bildnummer ausserhalb der Reichweite" und bricht ab.
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
 

Nuramor

BeitragMo, Jun 30, 2008 20:03
Antworten mit Zitat
Benutzer-Profile anzeigen
ahhhh ich hab den Fehler der Fehler lag bei dem Mod, da ja 0 Mitzählt muss man natürlich bei mod auch eine 5 eintragen ^^
jetzt gehts danke Smile
Hast du für diesen tollen timer nen link?
oder kannst du mir das schnell erklären?
WEil wenn ich den wegnehme rast das Meneke ^^

BladeRunner

Moderator

BeitragMo, Jun 30, 2008 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
siehe in der Hilfe, da werden alle Befehle von BB erklärt Wink
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
 

Nuramor

BeitragMo, Jun 30, 2008 20:24
Antworten mit Zitat
Benutzer-Profile anzeigen
k habs gefunden danke Smile

noch eine Frage ^^ Wenn man jetzt ein Bild hat wo mehrere Gehrichtungen gezeichnet sind wie nimmt man dann die eine?
also alle linke nebeneinandere darunter alle rechtsgehenden etc...

BladeRunner

Moderator

BeitragDi, Jul 01, 2008 13:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Es ist vom Prinzip her identisch:
Du zählst deine frame-Variable durch. Allerdings beginnst du je nach Richtung halt nicht bei Null, d.h. Du addierst nach Laufrichtung noch einen festen wert zum Zähler.
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

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group