Animation beim sterben funzt nicht

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Fantomas

Betreff: Animation beim sterben funzt nicht

BeitragMi, Jun 24, 2009 19:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hall ich bin dabei einen Shooter ähnlich wie moorhuhn zu basteln. nun habe ich es geschafft das meine figur zu animieren wenn nichts passiert und es kommt eine animation wenn ich mit der maus drüber gehe. ich bekomme es aber nicht hin das er die animation ordentlich abspielt wenn die figur stirbt .

siehe hier mein versuch .

Code: [AUSKLAPPEN]
mh1 = MouseHit(1)
   If mh1 = 1 Then   
      For monster_fledermaus_l.fledermaus_l = Each fledermaus_l
         If mh1 = 1 And ImagesCollide(maus_zeiger,MouseX(),MouseY(),0,fledermaus_l(fledermaus_l_i),monster_fledermaus_l\fledermaus_l_pos_x,monster_fledermaus_l\fledermaus_l_pos_y,0) Then
            DrawImage fledermaus_l(fledermaus_l_i),monster_fledermaus_l\fledermaus_l_pos_x,monster_fledermaus_l\fledermaus_l_pos_y
               fledermaus_l_i = fledermaus_l_i + 1
               If fledermaus_l_i >= 90 Then Delete monster_fledermaus_l.fledermaus_l               
         EndIf      
   
   Else If  ImagesCollide(maus_zeiger,MouseX(),MouseY(),0,fledermaus_l(fledermaus_l_i),monster_fledermaus_l\fledermaus_l_pos_x,monster_fledermaus_l\fledermaus_l_pos_y,0)  Then
               DrawImage fledermaus_l(fledermaus_l_i2),monster_fledermaus_l\fledermaus_l_pos_x,monster_fledermaus_l\fledermaus_l_pos_y
                  fledermaus_l_i2 = fledermaus_l_i2 + 1
                     If fledermaus_l_i2 >= 40 Then fledermaus_l_i2 = 30
                        monster_fledermaus_l\fledermaus_l_pos_x = monster_fledermaus_l\fledermaus_l_pos_x + Rnd(-2,6)
                        monster_fledermaus_l\fledermaus_l_pos_y = monster_fledermaus_l\fledermaus_l_pos_y + Rnd(-6,6)
                           If monster_fledermaus_l\fledermaus_l_pos_x >= graph_width + 50 Then Delete monster_fledermaus_l.fledermaus_l      
   Else
               DrawImage fledermaus_l(fledermaus_l_i),monster_fledermaus_l\fledermaus_l_pos_x,monster_fledermaus_l\fledermaus_l_pos_y
                  fledermaus_l_i = fledermaus_l_i + 1
                     If fledermaus_l_i >= 15 Then fledermaus_l_i = 0
                        monster_fledermaus_l\fledermaus_l_pos_x = monster_fledermaus_l\fledermaus_l_pos_x + Rnd(3,6)
                        monster_fledermaus_l\fledermaus_l_pos_y = monster_fledermaus_l\fledermaus_l_pos_y + Rnd(-3,3)
                           If monster_fledermaus_l\fledermaus_l_pos_y <= 100 Then monster_fledermaus_l\fledermaus_l_pos_y = 100
                           If monster_fledermaus_l\fledermaus_l_pos_y >= graph_height - 100 Then monster_fledermaus_l\fledermaus_l_pos_y = graph_height - 100
                           If monster_fledermaus_l\fledermaus_l_pos_x >= graph_width + 50 Then Delete monster_fledermaus_l.fledermaus_l
                        
      Next
   EndIf

mpmxyz

BeitragMi, Jun 24, 2009 19:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin moin,
Auf alle Fälle stimmte etwas mit den Ifs, Endifs und Ähnlichem zeugs nicht...
Aber, wenn es so ist, wie ich denke, soltest du das Zeichnen und das Mauskollisionsabfragen ein bischen trennen.
Denn sonst wird die Sterbe-"Animation" nur in dem Frame der Mausbetätigung gezeigt.

Als erstes fügst du ein Type-Field mit der Angabe, was die Fledermaus gerade macht, hinzu.

In der "Fledermausschleife" konntrollierst du dann zuerst, ob es eine Kollision gibt und, wenn ja, ob die Maustaste betätigt wurde.
Je nach Ergebnis setzt du die Variable für das Fledermausverhalten auf einen anderen Wert.

Nach diesem Teil prüfst du, welchen Wert diese hat und dann lässt du sie die dem Wert entsprechenden Sachen machen.
Dabei kannst du auch schon die Bilder zeichnen, die Frames berechnen und die gestorbenen Fledermäuse entfernen.
Deine Fledermäuse brauchen aber unbedingt ein eigenes Frame-Field, da sonst alle Fledermäuse gegenseitig ihren Frame ändern.

mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer
  • Zuletzt bearbeitet von mpmxyz am Do, Jun 25, 2009 21:37, insgesamt einmal bearbeitet
 

Fantomas

Betreff: Danke

BeitragMi, Jun 24, 2009 20:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die schnelle Antwort. habs glaube auch sogar verstanden und werde es gleich mal testen Smile

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group