-> Brauche dirngend Hilfe bei Animation

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

8erZwerg

Betreff: -> Brauche dirngend Hilfe bei Animation

BeitragDo, März 02, 2006 17:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey,
ich brauche dringend Hilfe (am besten mit Erklärung) für meine Animation:
user posted image
Kann mir jemand nen Quelltext dazu geben? Ich versteh nich,
was ich Code: [AUSKLAPPEN]
DrawImage Swordman, x, y, 0
DrawBlock Swordman, x, y, 0
TileImage Swordman, x, y, 0
TileBlock Swordman, x, y, 0

hiermit machen muss Crying or Very sad
Thx im voraus
8erZwerg Smile

5k41

BeitragDo, März 02, 2006 17:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!
Es gibt dazu einen Befehl: ql:LoadAnimImage die vorraussetzung ist das alle Bilder gleich groß sind. Wenn das der fall ist kann ich dir gerne einen code schreiben ( versuchs aber erstmal mit der erklärung zu LoadanimImage Wink )
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

HW

BeitragDo, März 02, 2006 17:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Beispielcode von dir ist, wenn ich mich so ausdrücken darf, so ziemlicher Mist. Keine Ahnung wo du den her hast. ( Ich meine den Code von 8erZwerg)

Wie von 5k41 schon gesagt, solltest du ql:loadanimimage benutzen. Dann bastelst du mithilfe von ql:millisecs einen Timer, der durch die Animationsframes schaltet. Benutz mal die Suche , das Thema gab es schon oft.

8erZwerg

BeitragDo, März 02, 2006 17:52
Antworten mit Zitat
Benutzer-Profile anzeigen
@ 5k41: So, jetzt sind sie aber devinitiv gleich groß!
user posted image
Danke Very Happy
@MW:1. Den Text hab ich aus dem TUT von Blitz Basic
2.Weiß ich leider nich, wie ich mir son Timer bastel Embarassed
THX
8erZwerg

5k41

BeitragDo, März 02, 2006 18:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Graphics 400,400,32,2

SetBuffer BackBuffer()

Const zwischen=100

Timer=MilliSecs()+zwischen

Image=LoadAnimImage("player.jpg",62,60,0,8)

While Not KeyDown(1)

 DrawImage Image,0,0,frame

 If MilliSecs()>timer Then frame=frame+1:Timer=MilliSecs()+zwischen

 If frame>7 Then frame=0

 Flip
 Cls

Wend

End


und hier der code...zwar nicht besonders ordentlich aber Funktioniert Wink hoffe du verstehts wenn nicht helf ich gern!
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

HW

BeitragDo, März 02, 2006 18:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Zu Punkt 2 möchte ich noch mal auf die Suche verweisen. Hier gibt es noch ein Besipiel, Sachen wie die Breite/Höhe der einzelnen Frames sind durch die entsprechenden Zahlen zu ersetzen:
Code: [AUSKLAPPEN]
Graphics 800,600
...
swordman=LoadAnimImage("swordman.bmp",width,height,0,8)
Global frame=0,frametimer=Millisecs()
...
Repeat
...
DrawImage swordman,x,y,frame
...
If Millisecs()-frametimer>1000 then frame=(frame+1) Mod 7
...
Until Keyhit(1)

So ungefähr geht das.
Edit: 5k41's Beispiel kam schneller und ist auch besser.

8erZwerg

BeitragDo, März 02, 2006 22:46
Antworten mit Zitat
Benutzer-Profile anzeigen
DANKE
Ihr habt mir sehr geholfen!
 

totonak5

BeitragDo, März 02, 2006 22:51
Antworten mit Zitat
Benutzer-Profile anzeigen
kleiner tipp: verwende statt jpg das png format wegen der transparenz. wenn die diese grafiken verwendest wirst du damit nicht weit kommen.
Just for Fun!
Jesus loves U!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group