Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 24.12.2011, 14:48 Titel: Animationsproblem |
|
|
Hey
Ich möchte gerne eine Explosionsanimation anzeigen, dafür habe ich folgenden Code:
Code: | If LasertrifftaufObjekt() Then
Dim As explosion Ptr crash=New explosion
If explosion_first=0 Then explosion_first=crash:explosion_last=crash Else crash->prev=explosion_last:explosion_last->nex=crash
explosion_last=crash
For i As Integer=1 To 17
crash->Expl(i)=LadeSprite(Str(i)+".bmp")
Next
If expltim<=tim-20 Then
ZeigeSprite crash->Expl(aktexplo),20,20
expltim=tim
aktexplo+=1
If aktexplo=17 Then
aktexplo=1
End if
End If
End If |
Der Code sollte die volle Animation anzeigen, sobald mein "Laser" auf ein Objekt auf trifft. Dann wird eine neue Explosion erstellt und die dafür benötigten Grafiken geladen und in dem Array "crash->Expl()" gespeichert. Nun sollte die eigentliche Animation starten. Alle 20 Millisekunden sollte ein neues Bild der Animation an der Stelle angezeigt werden. Dummerweise geht dies natürlich nicht, da die Variable "aktexplo", welches die Nummer für das aktuell angezeigt Bild ist, nur einmal erhöht wird und dann die If-Bedingung, dass der Laser auf das Objekt trifft vorbei ist. Wie kann ich den Code so ändern, dass die ganze Animation angezeigt wird? |
|