Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-07-2004, 14:17   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 28
Alle MC Instanzen löschen ?

Hallo ich bastel gerade einen Shooter, dabei soll wenn man gewonnen bzw verloren hat alle Gegner vom Bildschrim verschwinden. Die noch erstellten eiern nämlich noch munter durchs Bild beim GameOver Screen. Gibt es da eine Möglich keit alle zu löschen. Mit removeMovieClip komme ich nicht weiter. Ich habe den gegner per verknüpfung dupliziert.

PHP-Code:

// setze eine "wal" Instanz auf die Bühne mit Namen "wal"+i...
            
_parent.attachMovie("wal""wal"+i1+i); 
Ein 2. Prob habe ich auch noch. Mein Schiff, soll soblad einmal der Hittest ausgeführt wurde mit dem Gegner für ein paar Sekunden nicht mehr hit-bar sein.

wie stelle ich das an ?

Dieses Script liegt auf dem Gegner (Wal):

PHP-Code:
if (this.hitTest(_parent.boot)) {
    
    
// ...springe in der Raumschiff-Filmsequenz zum Bild "Explosion"
    
_parent.boot.gotoAndPlay("walhit");
    
// ... und springe in der eigenen Filmsequenz ebenfalls dorthin
    
gotoAndPlay("walhit");

Thx Felix
fexxx ist offline   Mit Zitat antworten
Alt 29-07-2004, 15:09   #2 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Hallo fexxx,

wenn du die Feinde alle in einen weiteren Movieclip steckst, dann kannst du alle auf einmal löschen, indem du den einen Clip entfernst.

ActionScript:
  1. // setze eine "wal" Instanz auf die Bühne mit Namen "wal"+i...
  2. _parent.alleFeinde.attachMovie("wal", "wal"+i, 1+i);

Für deinen Hittest kannst du dir beim Hit die aktuelle Zeit merken und dann einfach innerhalb der gewünschten Zeit nicht mehr auf Hits reagieren

ActionScript:
  1. if( getTimer() < wartezeitpunkt){
  2.     //kein hit möglich
  3. } else if( hitTest(...)){
  4.         wartezeitpunkt = getTimer() + 2000 // 2 sekunden warten
  5. }

mfg. r
bokel ist offline   Mit Zitat antworten
Alt 29-07-2004, 15:46   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 28
zum 2. prob, das klappt leider nicht weil ja die ein instanz nicht weiß das die andere getroffen wurde ??

und zum 1. prob, es wäre am besten das boot irgendwie nicht mehr hitbar zu machen (während der explosions scene) geht das? weil as boot darf auch nicht oben und unten anstoßen. und momentan gibts einen "pinball" effekt, sprich es wird von einem hit(feind bzw oben/unten) auf den nexten geschleudert.

Geändert von fexxx (29-07-2004 um 15:49 Uhr)
fexxx ist offline   Mit Zitat antworten
Alt 29-07-2004, 16:24   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 28
wie man sieht ist der wal jetzt recht einsam und das duplizieren geht nimmer ??

http://home.arcor.de/fexxx/game.zip

Geändert von fexxx (29-07-2004 um 16:28 Uhr)
fexxx ist offline   Mit Zitat antworten
Alt 29-07-2004, 22:52   #5 (permalink)
Neuer User
 
Benutzerbild von redbolt
 
Registriert seit: Jul 2003
Ort: Stuttgart
Beiträge: 118
baue einen schalter ein

Hallo,

bau doch einfa ch einen schalter in deine hittestfunktion ein.

zb.


Code:
onClipEvent(load){
var getroffen =0;
}

if (this.hitTest(_parent.boot) && this.getroffen ==0) {
    _parent.boot.gotoAndPlay("walhit");
    gotoAndPlay("walhit");
    this.getroffen = 1;
}
mit dem schalter "getroffen" verhinderst du eine doppelten hittest
redbolt ist offline   Mit Zitat antworten
Alt 29-07-2004, 22:55   #6 (permalink)
Neuer User
 
Benutzerbild von redbolt
 
Registriert seit: Jul 2003
Ort: Stuttgart
Beiträge: 118
Habe das selbe Problem möchte in meinem Spiel ebenfalls alle MovieClip Instanzen löschen, bin aber mit dem spiel schon so weit fortgeschritten dass ich nicht mehr alle in einen MovieClip legen kann.

Also, wie löscht man alle Instanzen?

mfg redbolt
redbolt ist offline   Mit Zitat antworten
Alt 29-07-2004, 23:20   #7 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Mit sowas vieleicht!!
ActionScript:
  1. for (var i in this) {
  2.     if (typeof this[i] == 'movieclip') {
  3.         this[i]._visible = false;//oder halt was anderes!
  4.     }
  5. }
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 30-07-2004, 00:20   #8 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Eine andere Methode wäre es, alle Instanzen beim Erzeugen in eine Liste einzutragen. Die Liste kannst du dann später durchlaufen und alle Instanzen die drinstehen löschen.

mfg r
bokel ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 07:11 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele