Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-05-2007, 16:31   #1 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 11
Array-Elemente als Instanzname

Hi,
wie kann ich Elementen in einem Array bei attachMovieClip() als Instanzname
zuweisen? Ich hab es mit:
attachMovie("mein_mc", Array_ary[i], i);
versucht, was aber leider so nicht funktioniert.
Das Array muss sein, da ich per Eingabefeld beliebig viele Instanzen erzeugen
möchte.

Danke für eure Hilfe im voraus!
aoki ist offline   Mit Zitat antworten
Alt 30-05-2007, 16:39   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.136
ActionScript:
  1. var array:Array = new Array();
  2. var count:Number = 10;
  3. /* Erzeugung */
  4. for (var i:Number = 0; i<count; i++) {
  5.     /* attachMovie funktioniert analog dazu. */
  6.     array[i] = this.createEmptyMovieClip("instance"+i, this.getNextHighestDepth());
  7. }
  8. /* Zugriff */
  9. for (var i:Number = 0; i<array.length; i++) {
  10.     trace(array[i]);
  11. }
Omega Psi ist offline   Mit Zitat antworten
Alt 30-05-2007, 21:37   #3 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 11
Danke für die Antwort, hab's jetzt aber anders gelöst.

Aber es ist zum verrückt werden... ein Problem gelöst und schon kommt das nächste!

Wenn ich eine MC-Instanz von mehreren lösche, welches nicht das letzte
Element im Instanzen-Array (mc_name_ary[i]) ist und darauf ein neues MC per
Eingabefeld erstelle, wird auf der Bühne keine neue Instanz erstellt. Sonder die
Instanz, die im Array das letzte Element ist, wird mit dem Eingabetext im
Ausgabefeld überschrieben. Komischerweise wird beim Tracen die richtige
Anzahl und Index der Elemente ausgegeben!

Code:
_root.add_btn.onPress = function() {
    
    if (eingabe_txt) {
        _root.context_ary.push(eingabe_txt);
        max = _root.context_ary.length;
        i = max - 1;  // = das letzte (und damit neue) Element
        a_ary.push(i);
        a = a_ary.length + context_ary.length;
        attachMovie("context_mc", "context_mc" + a, i + 100);
        mc_name_ary.push("context_mc" + a);
        _root[mc_name_ary[i]].context_txt = eingabe_txt;        

        _root.createEmptyMovieClip("linie"+i, i + 10);
        linien_name_ary.push("linie"+i);

        trace(mc_name_ary.length);
        trace("mc dazugekommen; mc_name_ary= " + mc_name_ary);
        trace("context dazugekommen; context_ary= " + context_ary);

    }
    eingabe_txt = "";
};

function createContext() {
    
    max = context_ary.length;

    for (i = 0; i < max; i++) {
        attachMovie("context_mc", "context_mc" + i , i + 100);
        mc_name_ary.push("context_mc" + i);
        _root[mc_name_ary[i]]._x = 275;
        _root[mc_name_ary[i]]._y = 180;
        _root[mc_name_ary[i]].context_txt = context_ary[i];
        trace("context erstellt; mc_name_ary= "+mc_name_ary);
    }
};

function removeContext() {
    
    _root.remove_mc.onEnterFrame = function() {
        
        max = _root.context_ary.length;

        for (l = 0; l < max; l++) {
            var hit = this.hitTest(_root[mc_name_ary[l]]);
            if (hit == true) {            
                _root[mc_name_ary[l]].removeMovieClip();
                _root[linien_name_ary[l]].removeMovieClip();
                _root[linien_name_ary[l]].clear();
                _root.linien_name_ary.splice(l,1);
                _root.distanz_ary.splice(l,1);
                _root.context_ary.splice(l,1);
                _root.mc_name_ary.splice(l,1);

                max = _root.context_ary.length;

                updateAfterEvent();

                trace("mc gelöscht; mc_name_ary= " + _root.mc_name_ary);
                trace("mc länge=" + mc_name_ary.length);
                trace("context gelöscht; context_ary= " + _root.context_ary);
                trace("context länge=" + context_ary.length);
            } 
        }
    }
};
Angehängte Dateien
Dateityp: rar contextMap_7.rar (8,3 KB, 2x aufgerufen)
aoki 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 10:42 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele