Animation einfügen?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

mavi

Betreff: Animation einfügen?

BeitragDi, März 10, 2009 17:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo ich habe eine Frage?

Wie binde ich das nun in meinen vorhanden Code ein dass ich mit meiner Figur die richtung wechsele ? also
wenn ich rechte tastte drücke das die animation auch rechts rennt Very Happy ich will einfach das die animation richtig angezeigt wird wie füge ich dei eiN?

Code: [AUSKLAPPEN]

AppTitle "test"
Graphics 800,600,1
SetBuffer BackBuffer()
;===Graphiken laden===
hero = LoadAnimImage("hero.bmp",24,32,0,12)
;===Variablen===
Global frame
Global px = 50
Global py = 50

Repeat
DrawImage hero, px, py, frame
steuerung()

Flip:Cls
Until KeyHit(1)
End

Function steuerung()
If KeyDown(203) Then ;links
   px = px - 5
EndIf
If KeyDown(205) Then ;rechts
   px = px + 5
EndIf
If KeyDown(200) Then ;oben
   py = py + 5
EndIf
If KeyDown(208) Then ;unten
   py = py - 5
EndIf

Tennisball

BeitragDi, März 10, 2009 17:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich schätze mal für jede Richtung hast du 3 Frames.
Einfach eine Variable machen, die angibt, in welche Richtung die Figur rennt. z.B. "heroDir"
Dann noch eine Variable, die anzeigt, in welchem der 3 Frames (der aktuellen Richtung) er gerade ist. z.B. "heroFrame"
Sagen wir mal heroDir geht von 1 bis 4 und heroFrame von 1 bis 3.
Dann musst du nur noch rechnen: aktuellesFrame = (heroDir + heroDir * heroFrame)-1 (Müsste klappen)
Und während man die Taste drückt heroDir entsprechend setzen und heroFrame erhöhen. Wenn es bei 3 ist, wieder auf 1 setzen.

Ich hoffe, ich konnte helfen.

mfG

Dice of Darkness

BeitragMi, März 11, 2009 11:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Das geht, glaub ich, viel einfacher:

Du hast verschiedene Abfragen, je nachdem welche Pfeiltaste du drückst. In diese Abfrage baust du in etwa folgendes ein:

Code: [AUSKLAPPEN]
HeroFrame = HeroFrame+1
If HeroFrame > 3 then HeroFrame = 1 ;wenn die letzte Animation abgelaufen ist, zurücksetzen


Und für die andere Bewegung hast du dann z.B. die Frames 4,5 und 6:

Code: [AUSKLAPPEN]
HeroFrame = 4 ;erste Frame der Bewegung
If HeroFrame > 6 then HeroFrame = 6 ;s.o.


Ich weiß nicht, ob das das gleiche ist wie Tennisball meinte, aber so sollte es auf jeden Fall klappen.

mfg Dice Of Darkness
Gratis Spiele, Musik, Tools

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group