Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-12-2005, 14:10   #1 (permalink)
oh oh
 
Registriert seit: Apr 2005
Beiträge: 10
mehrere Clips per removeMovieClip entfernen

Hallo,

ich würde gerne mehrere Clips die ich zuvor mit duplicateMovieClip erstellt hab an anderer Stelle wieder mit removeMovieClip entfernen. An sich kein Problem, aber die Anzahl der Clips unterscheidet sich immer. Und so würde ich gerne die Clips, die durchnummeriert sind, mit nem Sternchen als Platzhalter entfernen so wie man es z.B. aus einer Unix Shell kennt z.B.
Code:
on(rollOver){
		removeMovieClip("container.bild*");
}
aber wie kann ich solche Sternchen als Platzhalter in AS verwenden. Mit oben gezeigter Variante funktioniert es leider nicht.

Besten Dank!
schussel ist offline   Mit Zitat antworten
Alt 16-12-2005, 14:15   #2 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
das lässt sich mit einer vorschleife und ohne * bewerksetlligen

PHP-Code:
for (var 0i<anzahli++) {
    
timeline["deinmovieclip"+i].removeMovieClip(this);

__________________
gruß bloba

2 x onkel² b_d
bloba ist offline   Mit Zitat antworten
Alt 16-12-2005, 14:26   #3 (permalink)
oh oh
 
Registriert seit: Apr 2005
Beiträge: 10
ja ist richtig, wollte ich aber umgehen, da sich die Anzahl immer wieder ändert. So müsste ich vorher immer die Anzahl der vorhandenen Clips bestimmen.
Gibt es denn keine "Sternchen-Möglichkeit" in AS?
schussel ist offline   Mit Zitat antworten
Alt 16-12-2005, 14:29   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Das mit dem "*" verstehe ich nicht. Aber so
PHP-Code:
for (var i in this) {
    if (
this[i] instanceof MovieClip) {
        
removeMovieClip(this[i]);
    }

ist die Anzahl egal. Kloppt aber alle MCs in "this" weg.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 16-12-2005, 14:38   #5 (permalink)
oh oh
 
Registriert seit: Apr 2005
Beiträge: 10
mit * ist folgendes gemeint:
ich kenne es von Unix (ich glaube auch in der DOS-Box von Windows) so, dass man mehrere Dateien, die den gleichen Anfang haben aber jeweils ein anderes Ende mit einem * als Platzhalter mit einem Behfel z.B. löschen kann.
Hätte ich z.B.

bild1
bild2
bild3

könnte ich alle Bilder per " rm bild* " löschen.
Sowas dachte ich wäre auch gut für mein removeMovieClip.
schussel ist offline   Mit Zitat antworten
Alt 16-12-2005, 14:46   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Achso...
PHP-Code:
for (var i in this) { 
    if (
this[i] instanceof MovieClip && this[i]._name.substr(0,4) == "bild") { 
        
removeMovieClip(this[i]); 
    } 

Müsste klappen.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 16-12-2005, 15:07   #7 (permalink)
oh oh
 
Registriert seit: Apr 2005
Beiträge: 10
@Der Frager:

ich bin verwirrt...

unter normalen Umständen würde ich in meinem Fall einen Clip so entfernen:
PHP-Code:
removeMovieClip("container.bild1"); 
dieser wurde irgendwann zuvor so erzeugt:
PHP-Code:
duplicateMovieClip("container.eimer_mc""bild"+nn); 
hab mit Deinem Code rumgespielt komm aber zu keinem brauchbaren Ergebnis. Hab da wohl ein kleines Verständnisproblem wie ich Deinen Code richtig verbaue.

Geändert von schussel (16-12-2005 um 15:13 Uhr)
schussel ist offline   Mit Zitat antworten
Alt 16-12-2005, 15:20   #8 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Beispiel:
PHP-Code:
for (var 0n<5n++) {
    
this.container.eimer_mc.duplicateMovieClip("bild"+nn, {_x:random(500)});
}
this.btn.onRelease = function() {
    for (var 
i in this._parent.container) {
        if (
this._parent.container[i] instanceof MovieClip && this._parent.container[i]._name.substr(04) == "bild") {
            
removeMovieClip(this._parent.container[i]);
        }
    }
}; 
Wenn du jetzt auf den MC "btn" klickst, werden alle MCs, die mit "bild" beginnen, im container entfernt.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 16-12-2005, 15:54   #9 (permalink)
oh oh
 
Registriert seit: Apr 2005
Beiträge: 10
mmh, was ich nicht ganz verstehe ist warum Du den Zählindex an den Container hängst wobei doch bild.. die fortlaufende Nummer besitzt.

Aber nochmal zu meiner Ausgangsfrage gibt es in Flash wirklich keine möglich keit mit '*' als Platzhalter zu arbeiten?
schussel ist offline   Mit Zitat antworten
Alt 16-12-2005, 16:04   #10 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Nein. Aber wozu auch. Wenn du (wie im Beispiel) mit substr(0,4) auf die ersten 4 Zeichen prüfst, dann ist das dass Selbe in grün.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 16-12-2005, 16:15   #11 (permalink)
oh oh
 
Registriert seit: Apr 2005
Beiträge: 10
ja super. habs eingebaut und funktioniert prächtig.

danke für Deine Geduld
schussel 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 22:46 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele