Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-04-2004, 13:25   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 11
createEmptyMovieClip verliert seine position

Hallo erstmal,

so ich habe da ein Problem.

Das funzt:
ActionScript:
  1. createEmptyMovieClip("container1",1);
  2.     container1._y = 100;
  3.     container1._x = 100;
  4.     loadMovie("bild1.jpg","container1");
  5.  
  6.     createEmptyMovieClip("container2",2);
  7.     container2._y = 100;
  8.     container2._x = 200;
  9.     loadMovie(["bild2.jpg"],"container2");
  10.  
  11.     createEmptyMovieClip("container3",3);
  12.     container3._y = 100;
  13.     container3._x = 300;
  14.     loadMovie(["bild3.jpg"],"container3");

Das net:
ActionScript:
  1. for(i=1;i<=3;i++){
  2.     createEmptyMovieClip("container"+i,i);
  3.     ["container"+i]._y = 100;
  4.     ["container"+i]._x = 100*i;
  5.     loadMovie("bild"+i+".jpg","container"+i);
  6.     trace(i);
  7.     trace(["container"+i]);
  8.     trace(["container"+i]._x);
  9.     }

Das ach net:
ActionScript:
  1. for(i=1;i<=3;i++){
  2.     createEmptyMovieClip("container"+i,i);
  3.     strposx = ["container"+i]._x
  4.     strposy = ["container"+i]._y
  5.     strposx = 100*i;
  6.     strposy = 100;
  7.     loadMovie("bild"+i+".jpg","container"+i);
  8.     trace(i);
  9.     trace(["container"+i]);
  10.     trace(strposx);
  11.     trace(strposy);
  12.     }

Und ich verstehe nicht warum! Vielleicht kann mal einer drüber schauen, ich habe auch alles nochmal in eine ZIP eingepackt.
Angehängte Dateien
Dateityp: zip was-geht-und-was-nicht.zip (12,7 KB, 2x aufgerufen)
__________________
wiredmaegges
wiredmaegges ist offline   Mit Zitat antworten
Alt 20-04-2004, 13:40   #2 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Ort: Stuttgart
Beiträge: 155
so gehts:

ActionScript:
  1. for(i=1;i<=3;i++){
  2.     createEmptyMovieClip("container"+i,i);
  3.     this["container"+i]._y = 100;
  4.     this["container"+i]._x = 100*i;
  5.     loadMovie("bild"+i+".jpg","container"+i);
  6.     trace(i);
  7.     trace(["container"+i]);
  8.     trace(["container"+i]._x);
  9.     }
nanodesigner ist offline   Mit Zitat antworten
Alt 20-04-2004, 13:42   #3 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
Also im Prinzip ist das Problem hier:
ActionScript:
  1. ["container"+i]._y =....
...das funktioniert so nicht, da muss eine eindeutige Zuordnung vor den eckigen Klammern stehen (this oder _root) so würde es schon gehen:
ActionScript:
  1. this["container"+i]._y =....

...aber da Du eh den mc dynamisch erstellst und bei createEmptyMovieClip der target zurückgegeben wird empfehle ich die das so zu machen:
ActionScript:
  1. for(i=1;i<=3;i++){
  2.         var ziel=createEmptyMovieClip("container"+i,i);
  3.         ziel._y = 100;
  4.         ziel._x = 100*i;
  5.         loadMovie("bild"+i+".jpg",ziel);
  6.         trace(i);
  7.         trace(ziel);
  8.         trace(ziel._x);
  9. }

Gruß

Alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-
Alois ist offline   Mit Zitat antworten
Alt 20-04-2004, 15:17   #4 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 11
Super, das klappt!

Mmmmh, jetzt wollte ich das ganze noch dynamisch machen, indem ich eine ASP-Seite öffne die mir die Anzahl der zu erzeugenden Movieclips(anz=) und die Bildernamen(bild1=xyz.jpg&bild2=zyx.jpg) liefert. Das klappt aber nicht so ganz! Schaut mal:
ActionScript:
  1. loadVariables("asp.asp","");
  2.  
  3. for(i=1;i<=anz;i++){
  4.         createEmptyMovieClip("container"+i,i);
  5.         this["container"+i]._y = 100;
  6.         this["container"+i]._x = 100*i;
  7.         loadMovie(bild+i,"container"+i);
  8.         trace(i);
  9.         trace(["container"+i]);
  10.         trace(["container"+i]._x);
  11. }

Die ASP Seite liefert folgenden String zurück:

&bild1=xyz.jpg&bild2=yxz.jpg&bild3=zyx.jpg&anz= 3

Die Bilder liegen auch da wo Sie sollen.
__________________
wiredmaegges
wiredmaegges ist offline   Mit Zitat antworten
Alt 21-04-2004, 07:22   #5 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 11
Keiner eine Idee?
__________________
wiredmaegges
wiredmaegges ist offline   Mit Zitat antworten
Alt 21-04-2004, 08:05   #6 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 11
Ok Problem gefunden!
Muss auf einen MC gelgt werden das Script.

Jetzt habe ich aber gleich das nächste Prob........

ActionScript:
  1. onClipEvent (load) {
  2.     loadVariables("asp.asp", "");
  3. }
  4. onClipEvent (data) {
  5.     for (i=1; i<=anz; i++) {
  6.         var ziel = createEmptyMovieClip("container"+i, i);
  7.         ziel._y = 100;
  8.         ziel._x = 100*i;
  9.         loadMovie("bild"+i, ziel);
  10.         trace(i);
  11.         trace(ziel);
  12.         trace(ziel._x);
  13.     }
  14. }

asp.asp gibt die Variablen ja in der Form bild1=&bild2= usw. zurück.

Schreibe ich beim loadmovie "bild"+i müsste ja eigentlich im 1. Durchlauf Bild1 drinnen stehen. Das funzt aber nicht.
Schreibe ich loadMovie(bild1, ziel); klappt es, nutzt nur nichts da ich ja die Variable bild mit i hochzählen will um immer neue Bilder zu laden und nicht immer nur eins. Habe auch schon versucht eine Variable zielbild = "bild"+i; zu setzen und dann loadMovie(zielbild, ziel); zu verwenden klappt aber auch net.

P.S.: Warum habe ich dieses Projekt nur jemals angenommen......
__________________
wiredmaegges
wiredmaegges ist offline   Mit Zitat antworten
Alt 21-04-2004, 09:11   #7 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 11
Ok, warum poste ich eigentlich, wenn ich die Lösung dann selbst finde ???

Na ja, ich rede auch gerne mit mir selbst!

Auf jeden Fall die Lösung meines Problems:

ActionScript:
  1. onClipEvent (load) {
  2.     loadVariables("asp.asp", "");
  3. }
  4. onClipEvent (data) {
  5.     for (i=1; i<=anz; i++) {
  6.         var ziel = createEmptyMovieClip("container"+i, i);
  7.         var zielbild = this["bild"+i]
  8.         ziel._y = 100;
  9.         ziel._x = 100*i;
  10.         loadMovie(zielbild, ziel);
  11.         trace(i);
  12.         trace(ziel);
  13.         trace(ziel._x);
  14.         trace(zielbild)
  15.     }
  16. }


Wobei ich nicht wirklich verstehe wieso es damit klappt: this["bild"+i]

Aber ich weiß, wie ich das Forum durchforstet habe nach Lösungen und meistens diese zwar gefunden wurden aber nicht veröffentlicht wurden (Mit Script und allem).
__________________
wiredmaegges
wiredmaegges 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 01:47 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele