Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-04-2006, 23:47   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 95
Schonende Warteschleife

Moin...

Ich sitze hier über einer Abfrage, die ich nicht sauber hinbekomme.
Der Ablauf ist folgendermaßen:

Auf einer Seite werden recht viele MCs von einem Ober-MC in eine SP geladen. Diese Verschachtelung ist für die DB-Integration leider nötig gewesen. Ok, aber das ist nicht der springende Punkt. Am Ende eines jeden "Slave"-MCs wird eine Variable auf 1 gesetzt und zeigt damit an, dass der MC geladen ist.

Im Ober-MC ist eine Funktion, die die SP resized und gleichzeitig die Slave-MC positioniert. Auch soweit kein Problem.

Da Flash bei der Positionierung immer Probleme mit der Laufzeit hat, bräuchte ich nun eine Abfrage, die die Positionierung erst durchführt, wenn der letzte MC geladen wurde.

Meine Idee (nicht hauen):
PHP-Code:
while(_root[_root.parray[_root.parray.length]]+"_loaded" != "1")
                         {
                          
this.pcount++;
                         }
intervalId setInterval(this"position"500); 
Also, wenn die Variable des letzten MCs 1 ist, führe die Funktion mit der Positionierung aus. Wäre da nicht die Meldung des verlangsamenden Scripts, wäre ich ja froh

Wie kann ich im Ober-MC sauber (und ständig) abfragen, ob die letzte Variable gesetzt ist, ohne großen Schaden zu verursachen?

Für Hilfe bin ich dankbar ...

Dale
Dale_C ist offline   Mit Zitat antworten
Alt 08-04-2006, 00:10   #2 (permalink)
+licht
 
Benutzerbild von view7
 
Registriert seit: Nov 2002
Beiträge: 210
if(){tuhe dies}

schonmal an eine "if"-Verzweigung gedacht? geht eben erst weiter wenn bedingung erfüllt....schau mal in die Hilfe.
view7 ist offline   Mit Zitat antworten
Alt 08-04-2006, 00:12   #3 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Eine Intervall-Funktion ist doch schon nicht schlecht... Ich würde in den letzten MC neben der auf 1 gesetzten Variablen entweder noch eine weitere Variable auf true setzen und diese über die Intervall-Funktion abfragen. Oder im Intervall nur auf die MC-Variable testen, die als letztes gesetzt wird, z.B.

if (meineLetzteMCInstanz.meineaufeinsgesetzte Variable == 1){}
  Mit Zitat antworten
Alt 08-04-2006, 07:50   #4 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 95
Danke, für Eure Antworten.

Ich habe es nun folgendermaßen gelöst:

Die Zeitleiste des Master-MC erweitert und 5 Frames weiter die Abfrage gebaut:

PHP-Code:
if(_root[_root.parray[_root.parray.length-1]+"_loaded"] == "1")
                         {
                          
//function aufrufen
                             
stop();
                         }
                         else
                         {
                            
gotoAndPlay(7); // 3 Frames zurück
                         

Das funzt prima

Dale
Dale_C 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 04:23 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele