Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-08-2006, 14:08   #1 (permalink)
Neuer User
 
Benutzerbild von MICKtheBIG
 
Registriert seit: Feb 2004
Ort: Hamburg
Beiträge: 88
MCs in Array packen?

Moin erstmal. Ich habe das Gefühl, als ob man keine MCs in einen Array packen kann. Stimmt das?

Ich habe hier folgendes:
PHP-Code:
loadMovie usw....
preloader_mc.onEnterFrame = function() {
        var 
vids = new Array();
        
vids[0] = intro_tux_mc;
        
vids[1] = verwunderung_mc;
        
vids[2] = unsicherheit_mc;
        
vids[3] = nothing_mc;
        
vids[4] = ernst_mc;
        
vids[5] = zustimmung_mc;
        
vids[6] = nein_mc;
        
vids[7] = freude_mc;
        
vids[8] = trauer_mc;
        
vids[9] = sicherheit_mc;
        for(var 
0vids.lengthi++){
            
//genau dies läuft nicht
            
geladen _root.vids[i].getBytesLoaded();
            
alles_zusammen_geladen alles_zusammen_geladen geladen;
            
            
zuladen _root.vids[i].getBytesTotal();
            
alles_zusammen_zuladen alles_zusammen_zuladen zuladen;
            

...

//Das funktioniert so leider nicht, da Actionscript irgendwie die MC-Instanz auf der Bühne nicht mit dem Array-Element identifiziert


//Das hingegen läuft:

geladen _root.into_tux_mc.getBytesLoaded(); 
Versteht ihr mein Problem? Ich kann es für alle MCs einzeln durchführen aber die Array-Variante gefällt mir eigentlich besser.....

Ich habe schon danach gesucht, aber ich finde irgendwie nichts gefunden

Geändert von MICKtheBIG (24-08-2006 um 14:10 Uhr)
MICKtheBIG ist offline   Mit Zitat antworten
Alt 24-08-2006, 14:13   #2 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
Wenn ich das richtig sehe leigt dein Problem in den Pfadangaben...denn da du das ARRAY in dem OnEnterFrame erstellst, liegt das im preloader_mc....

Somit müsste anstatt:
PHP-Code:
geladen _root.vids[i].getBytesLoaded(); 
das dort stehen:
PHP-Code:
geladen _root.preloader_mc.vids[i].getBytesLoaded(); 
Noch zum Verständnis, du packst ja die MCs nicht in das Array. Du speicherst ja quasi nur Verweise zu den MCs dort hinein...

Gruß b.asile
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org
b.asile ist offline   Mit Zitat antworten
Alt 24-08-2006, 14:31   #3 (permalink)
Neuer User
 
Benutzerbild von MICKtheBIG
 
Registriert seit: Feb 2004
Ort: Hamburg
Beiträge: 88
Also wenn im onEnterFrame
PHP-Code:
trace("Video: "+vids[i]); 
mache, wird der Name richtig ausgegeben und leider funktioniert es nicht mit

PHP-Code:
geladen _root.preloader_mc.vids[i].getBytesLoaded(); 
und Die MCs liegen ja in der Root-Bühne. Deswegen denke ich eigentlich, dass
PHP-Code:
geladen _root.vids[i].getBytesLoaded(); 
vom Pfad her stimmt.

Ich glaube viel mehr, dass das Actionscript die Elemente im Array als String interpretiert und nicht als Instanz eines MCs.....

Aber vielleicht irre ich mich auch....Trotzdem vielen Dank an b.asile
MICKtheBIG ist offline   Mit Zitat antworten
Alt 24-08-2006, 14:35   #4 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
du kannst die MCNamen doch auch als Strings speichern....
und dann machst du mal im OnEnterFrame:

PHP-Code:
var _root.vids = new Array(); 
und dann überall ein _root. davor.

Die MC Namen in Anführungszeichen, und dann sollte das gehen.
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org
b.asile ist offline   Mit Zitat antworten
Alt 24-08-2006, 14:39   #5 (permalink)
Neuer User
 
Benutzerbild von MICKtheBIG
 
Registriert seit: Feb 2004
Ort: Hamburg
Beiträge: 88
Ich habe einen Teil der Lösung hier gefunden:

http://www.tutorials.de/forum/flash/...abe-array.html

Es heißt also:

PHP-Code:
geladen _root[vids[i]].getBytesLoaded(); 
(Soetwas finde ich bei PHP besser...)
MICKtheBIG ist offline   Mit Zitat antworten
Alt 24-08-2006, 14:41   #6 (permalink)
Neuer User
 
Benutzerbild von MICKtheBIG
 
Registriert seit: Feb 2004
Ort: Hamburg
Beiträge: 88
PHP-Code:
**Fehler** Szene=Szene 1Ebene=SkriptBild=1:Zeile 38Syntaxfehler.
             var 
_root.vids = new Array(); 
sorry...
MICKtheBIG ist offline   Mit Zitat antworten
Alt 24-08-2006, 14:57   #7 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
was passiert denn bei:
PHP-Code:
trace(_root.preloader_mc.vids[1]); 
?

Wenn da der richtige wert erscheint, dann probiere bitte mal:
PHP-Code:
geladen _root[preloader_mc.vids[i]].getBytesLoaded(); 
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org

Geändert von b.asile (24-08-2006 um 14:59 Uhr)
b.asile ist offline   Mit Zitat antworten
Alt 24-08-2006, 15:01   #8 (permalink)
Neuer User
 
Benutzerbild von MICKtheBIG
 
Registriert seit: Feb 2004
Ort: Hamburg
Beiträge: 88
ah ha,

ich habe noch eine Möglichkeit gefunden. Die Beste, wie ich finde:

PHP-Code:
...
var 
vids = new Array();
        
vids[0] = intro_tux_mc;
        
vids[1] = verwunderung_mc;
        
vids[2] = unsicherheit_mc;
        
vids[3] = nothing_mc;
        
vids[4] = ernst_mc;
        
vids[5] = zustimmung_mc;
        
vids[6] = nein_mc;
        
vids[7] = freude_mc;
        
vids[8] = trauer_mc;
        
vids[9] = sicherheit_mc;
        for(var 
0vids.lengthi++){
            
geladen vids[i].getBytesLoaded(); 
also ohne _root.
Wenn man die MCs ohne Anführungszeichen in den Array packt. Erkennt Actionscript sie auch als Instanzen und gibt dazu die Ebene an. Deswegen stand vorher da
PHP-Code:
geladen _root._level10.MC.getBytesLoaded(); 
deswegen ging es nicht und b.asile hatte dann auch recht mit seinem Pfadgedanken. Es war sozusagen doppelt gemoppelt. Nun ohne _root steht da
PHP-Code:
_level10.MC.getBytesLoaded(); 
und es läuft Bestens....
MICKtheBIG 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:35 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele