Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-12-2003, 20:52   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 4
Post Flash 5 - Problem mit for (i=1; i<21; ....

Hallo, ich habe da mal eine für mich wichtige Frage. Ich komme mit dem unten
genannten Problem überhaupt nicht weiter, vielleicht kann mir ja jemand auf
die Sprünge helfen.

Ich habe folgende Zeilen bei mir programmiert

ifFrameLoaded ("Szene 1","Demo 01") {x[1] = "1"};
ifFrameLoaded ("Szene 1","Demo 02") {x[2] = "1"};
ifFrameLoaded ("Szene 1","Demo 03") {x[3] = "1"};
ifFrameLoaded ("Szene 1","Demo 04") {x[4] = "1"};
ifFrameLoaded ("Szene 1","Demo 05") {x[5] = "1"};
ifFrameLoaded ("Szene 1","Demo 06") {x[6] = "1"};
ifFrameLoaded ("Szene 1","Demo 07") {x[7] = "1"};
ifFrameLoaded ("Szene 1","Demo 08") {x[8] = "1"};
ifFrameLoaded ("Szene 1","Demo 09") {x[9] = "1"};
ifFrameLoaded ("Szene 1","Demo 10") {x[10] = "1"};
ifFrameLoaded ("Szene 1","Demo 11") {x[11] = "1"};
ifFrameLoaded ("Szene 1","Demo 12") {x[12] = "1"};
ifFrameLoaded ("Szene 1","Demo 13") {x[13] = "1"};
ifFrameLoaded ("Szene 1","Demo 14") {x[14] = "1"};
ifFrameLoaded ("Szene 1","Demo 15") {x[15] = "1"};
ifFrameLoaded ("Szene 1","Demo 16") {x[16] = "1"};
ifFrameLoaded ("Szene 1","Demo 17") {x[17] = "1"};
ifFrameLoaded ("Szene 1","Demo 18") {x[18] = "1"};
ifFrameLoaded ("Szene 1","Demo 19") {x[19] = "1"};
ifFrameLoaded ("Szene 1","Demo 20") {x[20] = "1"};


dies funktioniert wunderbar, hat aber den großen Nachteil, das es doch sehr
lang ist, da ich diese Abfrage mindestens 20 Mal benötige.

Jetzt bin ich davon ausgegangen dies mit einer Schleife zu lösen:

for (i=1; i<21; i++) {
ifFrameLoaded ("Szene 1","Demo "+String[i]) {x[i] = "1"};
}



Aber dies funktioniert nicht - es kommt immer "1" heraus, egal ob der film
geladen ist oder nicht - woran liegt das? Ich habe es auch mit einer
do/while Schleife getestet, auch hier nur falsche Ergebnisse.

Für eine Hilfe wäre ich dankbar.

Gruß
wilderwullewatz ist offline   Mit Zitat antworten
Alt 29-12-2003, 21:21   #2 (permalink)
~~~~~~~~~~~~
 
Benutzerbild von _geo_
 
Registriert seit: May 2002
Ort: AUSTRIA (OÖ)
Beiträge: 3.298
Erstmal willkommen im FLashforum und versuchs mal so:
ActionScript:
  1. for (i=1; i<21; i++) {
  2.     name = "Demo " add (i<10) ? "0" add i : i;
  3.     ifFrameLoaded ("Szene 1", name) {
  4.         x[i] = "1";
  5.     }
  6. }
  7.  
  8. //ist gleich
  9. for (i=1; i<21; i++) {
  10.     if (i<10) {
  11.         name = "Demo 0" add i;
  12.     } else {
  13.         name = "Demo " add i;
  14.     }
  15.     ifFrameLoaded ("Szene 1", name) {
  16.         x[i] = "1";
  17.     }
  18. }
__________________
--- :P ---

Blog
Bei unerwünschten Nebenwirkungen zerreißen Sie die Packungsbeilage oder erschlagen ihren Arzt oder Apotheker

Geändert von _geo_ (29-12-2003 um 21:25 Uhr)
_geo_ ist offline   Mit Zitat antworten
Alt 29-12-2003, 21:47   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 4
Vielen Dank für die schnelle Nachricht und Antwort.

Habe beide Codes eingebaut und getestet. Leider ohne Erfolg. Meines Erachtens liegt es nicht an der Textangabe "Demo 01", "Demo 02" etc. Die Ausgabe dazu ist nämlich richtig. Irgendwie habe ich das Gefühl, daß der Befehl "ifFrameLoaded" nicht mit der for-Schleife harmoniert.

for (i=1; i<21; i++) {
name = "Demo " add (i<10) ? "0" add i : i;
ifFrameLoaded ("Szene 1", name) {
x[i] = "1";
}
}

Als Vergleich die nächste Schleife in meinem Programm die funktioniert:


for (i=1; i<21; i++) {
setProperty ("sr"+String(i),_visible,x[i]);
}

Hoffentlich kann mir noch geholfen werden.

Gruß
wilderwullewatz ist offline   Mit Zitat antworten
Alt 29-12-2003, 22:08   #4 (permalink)
~~~~~~~~~~~~
 
Benutzerbild von _geo_
 
Registriert seit: May 2002
Ort: AUSTRIA (OÖ)
Beiträge: 3.298
versuch vielleicht mal so n leeres container mc (das muss natürlich "auf ne eigene Ebene und" in alle frames forhanden sein) und dann darauf:

ActionScript:
  1. onClipEvent(enterFrame){
  2. for (i=1; i<21; i++) {
  3. name = "Demo " add (i<10) ? "0" add i : i;
  4. ifFrameLoaded ("Szene 1", name) {
  5. x[i] = "1";
  6. }
  7. }
  8. }

dann wird die abfrage immer wieder wiederholt.

oder

ActionScript:
  1. //bestimme die nr der frames Demo 01 Demo 02 ... (trace(_currentframe))
  2.  
  3. //im ersten frame des films:
  4. framenummern = new Array(1,7,3,4,89,3,5,62,1,5);
  5.  
  6. //auf ein leeres mc
  7. onClipEvent(enterFrame){
  8.     for (i=1; i<21; i++) {
  9.         if (_root._framesloaded == framenummern[i-1]) {
  10.             x[i] = i;
  11.         }
  12.     }
  13. }
__________________
--- :P ---

Blog
Bei unerwünschten Nebenwirkungen zerreißen Sie die Packungsbeilage oder erschlagen ihren Arzt oder Apotheker
_geo_ ist offline   Mit Zitat antworten
Alt 29-12-2003, 23:35   #5 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 4
hab ich auch probiert, leider kein erfolg.

Weiß noch jemand was?
wilderwullewatz ist offline   Mit Zitat antworten
Alt 30-12-2003, 12:14   #6 (permalink)
~~~~~~~~~~~~
 
Benutzerbild von _geo_
 
Registriert seit: May 2002
Ort: AUSTRIA (OÖ)
Beiträge: 3.298
also bei mir gehts !

habs noch etwas verbessert, dass auf ein mc
ActionScript:
  1. onClipEvent (load) {
  2.     i = 1;
  3.     x = new Array();
  4. }
  5. onClipEvent (enterFrame) {
  6.     name = "Demo " add (i<10) ? "0" add i : i;
  7.     ifFrameLoaded ("Szene 1", name) {
  8.         x[i-1] = i;
  9.         i++;
  10.     }
  11.     if (i<21) { //nur für testzwecke
  12.         trace (x); //nur für testzwecke
  13.     } //nur für testzwecke
  14. }
__________________
--- :P ---

Blog
Bei unerwünschten Nebenwirkungen zerreißen Sie die Packungsbeilage oder erschlagen ihren Arzt oder Apotheker
_geo_ ist offline   Mit Zitat antworten
Alt 30-12-2003, 13:55   #7 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 4
Talking

Joh Johh,

habe auch etwas die Sache modifiziert. Jetzt geht es auch hier.

Vielen Dank.

Als Neuuser werde ich mich öfters mal hier aufhalten. Vielleicht kann ich ja auch etwas beitragen.

Gruß an alle

wilderwullewatz ist offline   Mit Zitat antworten
Alt 30-12-2003, 22:12   #8 (permalink)
~~~~~~~~~~~~
 
Benutzerbild von _geo_
 
Registriert seit: May 2002
Ort: AUSTRIA (OÖ)
Beiträge: 3.298
"etwas beitragen" das ist ja auch der sinn der sache ;-)
__________________
--- :P ---

Blog
Bei unerwünschten Nebenwirkungen zerreißen Sie die Packungsbeilage oder erschlagen ihren Arzt oder Apotheker
_geo_ 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 09:56 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele