Erstmal besten Dank für die amüsanten Grafiken des Spiels und
die unterhaltsame Beschreibung zum Selberbasteln ;-)<br>
Beim Nachbauen sind uns ein paar Ungereimtheiten aufgefallen:
Das Spiel funktioniert nur bei Veröffentlichung für Flash-Player 6
gut. Für 7 und 8 werden die Gegner schon gelöscht, bevor sie an
den unteren Bühnenrand kommen, die Anwendung läuft
zittrig.<br>
Die Hit-Test-Abfrage aus Listing 3 haben wir folgendermaßen
modifiziert: die letzte Zeile (this.gotoAndPlay(2)) haben wir
herausgenommen und dafür eine flag auf 1 gesetzt
(this.flag=1. Die if-Bedingung mit dem Hit-Test hat noch eine
Ergänzung bekommen if (this.hitTest(ship_mc) && this.flag==0).
Der erste frame des enemy_mc wurde um flag=0 ergänzt.
Eine weitere If-Abfrage führt this.gotoAndPlay(2) aus, wenn die
this.flag=1 ist, der 2. frame im enemy_mc bekam flag=2
gesetzt, die flag wird wieder =0 am Ende der Animation, wo der
MovieClip gelöscht wird.<br>
Warum das Ganze? Durch die Unterbrechung der if-Abfrage ist
ein flüssiges Abspielen der Explosions-Animation gewährleistet,
auch während des Hit-Test. Vorher wurde die Animation nur
ganz abgespielt, wenn keine Berührung mit dem Raumschiff
mehr stattfand.<br>
Kleine Anmerkung zu den Textfeldern: statt zweier Textfelder
(dynamisch und statisch) reicht auch ein Dynamisches, das mit
einer Kombination aus String und Variable befüllt wird, z. B. für
die Lebenspunkte:
_root.health_txt.text="HEALTH"+_root.health;.<br>
Kleine Korrektur: Listing 5: statt bullet_mc._x=this._x +36; und
bullet_mc._y=this._y; konnten wir die Munition mit
bullet_mc._x=this._x; und bullet_mc._y=this._y-45; an die
Spitze des Raumschiffes positionieren.
Nachbauen und Tüfteln hat trotzdem Spaß gemacht. Wir werden
auch noch einen schönen Sound dafür aufnehmen ;-)
die unterhaltsame Beschreibung zum Selberbasteln ;-)<br>
Beim Nachbauen sind uns ein paar Ungereimtheiten aufgefallen:
Das Spiel funktioniert nur bei Veröffentlichung für Flash-Player 6
gut. Für 7 und 8 werden die Gegner schon gelöscht, bevor sie an
den unteren Bühnenrand kommen, die Anwendung läuft
zittrig.<br>
Die Hit-Test-Abfrage aus Listing 3 haben wir folgendermaßen
modifiziert: die letzte Zeile (this.gotoAndPlay(2)) haben wir
herausgenommen und dafür eine flag auf 1 gesetzt
(this.flag=1. Die if-Bedingung mit dem Hit-Test hat noch eine
Ergänzung bekommen if (this.hitTest(ship_mc) && this.flag==0).
Der erste frame des enemy_mc wurde um flag=0 ergänzt.
Eine weitere If-Abfrage führt this.gotoAndPlay(2) aus, wenn die
this.flag=1 ist, der 2. frame im enemy_mc bekam flag=2
gesetzt, die flag wird wieder =0 am Ende der Animation, wo der
MovieClip gelöscht wird.<br>
Warum das Ganze? Durch die Unterbrechung der if-Abfrage ist
ein flüssiges Abspielen der Explosions-Animation gewährleistet,
auch während des Hit-Test. Vorher wurde die Animation nur
ganz abgespielt, wenn keine Berührung mit dem Raumschiff
mehr stattfand.<br>
Kleine Anmerkung zu den Textfeldern: statt zweier Textfelder
(dynamisch und statisch) reicht auch ein Dynamisches, das mit
einer Kombination aus String und Variable befüllt wird, z. B. für
die Lebenspunkte:
_root.health_txt.text="HEALTH"+_root.health;.<br>
Kleine Korrektur: Listing 5: statt bullet_mc._x=this._x +36; und
bullet_mc._y=this._y; konnten wir die Munition mit
bullet_mc._x=this._x; und bullet_mc._y=this._y-45; an die
Spitze des Raumschiffes positionieren.
Nachbauen und Tüfteln hat trotzdem Spaß gemacht. Wir werden
auch noch einen schönen Sound dafür aufnehmen ;-)
Comment