Explosionsanimation

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

AchimW

Betreff: Explosionsanimation

BeitragFr, März 05, 2004 22:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
bin am verzweifeln.
Nach dem Gegnertod sollte eine Explosionsanimation abgespielt werden. Das funktioniert auch soweit, jed. wird diese Animation dann ständig abgespielt und nicht nur einmal wie vorgesehen.
Hoffe jemand kann mir hier helfen.

Code: [AUSKLAPPEN]
; Explosion Monster 1

For I = 1 To 5
 If Monsterleben1 > 249 Then
  If Monster1explodiert(I,1) + 130 < MilliSecs() Then
   Monster1explodiert(I,0) = Monster1explodiert(I,0) + 1
   Monster1explodiert(I,1) = MilliSecs()

   If Monster1explodiert(I,0) = 7 Then
    Monster1explodiert(I,0) = 0
    Monster1explodiert(I,1) = 0
    Monsterleben = 0
   EndIf
  EndIf
 DrawImage Explode1, Monster1(1), Monster1(2), Monster1explodiert(I,0)     
 EndIf
Next



Danke

Holzchopf

Meisterpacker

BeitragFr, März 05, 2004 23:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Du prüfst Monsterleben1 aber setzt dann Monsterleben zurück auf 0. sollte natürlich auch dort Monsterleben1 heissen Smile
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm
 

dubitat

BeitragSa, März 06, 2004 14:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
If Monster1explodiert(I,0) = 7 Then
    Monster1explodiert(I,0) = 0
    Monster1explodiert(I,1) = 0
    Monsterleben = 0
   EndIf


wo erhöst du denn Monster1explodiert? ich sehe da nichts also kann die bedingung auch nie erfüllt werden, was wieder zur folge hat das das immer weitergeht weil monsterleben nie neu gesetzt wird... deswegen wahrscheinlich...
Erare humanum est - Irren ist Menschlich

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, März 06, 2004 15:29
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,
das Problem liegt wahrscheinlich daran das die Eplosion nicht ausgeschaltet wird

also die exlosion nur zeichnen wenn eingeschaltet is
und ausschalten wenn beendet ist

hab da schon mal ein Beispiel gepostet ........such such
da isses:
Code: [AUSKLAPPEN]
Graphics 800,600,16,2
SetBuffer BackBuffer()
Timer=CreateTimer(50)
Dim Knall(20,3)
   ;Knall(?,0)in spalte aktiv oder nicht aktiv
   ;Knall(?,1)die X position
   ;Knall(?,2)die Y position
   ;Knall(?,3) welcher frame

Repeat
 Cls
  If KeyHit(57) Then ;Explosi_erstellen(Xposition,Yposition)
    Explosi_erstellen(Rand(10,750),Rand(10,750)); neuen Knall erstellen
  End If
  Explosionen_zeichnen()
  WaitTimer(Timer)
  Flip
Until KeyDown(1)
End

Function Explosi_erstellen(x,y)
 For Zaehler1 = 0 To 20
  If Knall(Zaehler1,0) = 0  Then ; wenn nicht aktiv
    Knall(Zaehler1,0) = 1       ; aktivieren
    Knall(Zaehler1,1) = x      ;koordinaten übergeben
    Knall(Zaehler1,2) = y
    Knall(Zaehler1,3) = 0  ; raufzählen für explosionFrames
    Exit ; schleife verlassen da ein Knall erstellt wurde!!
  End If
 Next
End Function

Function Explosionen_zeichnen()
  For Zaehler = 0 To 20
    If Knall(Zaehler,0) = 1  Then ; wenn dieser Knall aktiv ist
         ; explosion malen
         ;drawImage Explosionsbild,Knall(Zaehler,1),Knall(Zaehler,2),Knall(Zaehler,3) ; <<< drawimage Bild, x,y,Frame
         ; hier mit oval
         Oval Knall(Zaehler,1) - Knall(Zaehler,3) ,Knall(Zaehler,2) -Knall(Zaehler,3),Knall(Zaehler,3)*2,Knall(Zaehler,3) *2 ,1
         Knall(Zaehler,3)=Knall(Zaehler,3)+1 ; hier die Frameanzahl der Bilder erhöhen

      If Knall(Zaehler,3)= 20 Then ; 20 animationbilder wurden gezeigt
        Knall(Zaehler,0) = 0 ;und deswegen ausschalten
      End If
    End If
  Next
End Function

mit Space werden welche erstellt.. ruhig schneller drücken
[BB2D | BB3D | BB+]

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group