Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-07-2003, 21:07   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Beiträge: 518
["abc"+i].onEnterFrame??

schaut mal bitte!

ActionScript:
  1. for (i=1; i<=16; i++) {
  2.     _root.createEmptyMovieClip("walker"+i, 500+i);
  3.     _root["walker"+i].move(4);//die function move() is ok!!!
  4.     _root.attachMovie("bird_gr", "bird_gr"+i, 50+i);
  5.     _root["bird_gr"+i].onEnterFrame = function() {
  6.         this._x = _root["walker"+i]._x;
  7.         this._y = _root["walker"+i]._y;
  8.     };
  9.     }
warum geht das ned?
is das zuviel auf einmal??
Problem is, dass die
bird_gr+i
den
walker +i
nicht folgen

Danke && Grütze
hnes

Geändert von hnes (23-07-2003 um 21:14 Uhr)
hnes ist offline   Mit Zitat antworten
Alt 23-07-2003, 21:15   #2 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Zürich
Beiträge: 1.776
ich weiss nicht, aber mir kommts so vor, als solltest du die walker und birds erst mal in ner schleife erzeugen und dann die funktion definieren/aufrufen:

ActionScript:
  1. for (i=1; i<=16; i++) {
  2.         _root.createEmptyMovieClip("walker"+i, 500+i);
  3.         _root["walker"+i].move(4);//die function move() is ok!!!
  4.         _root.attachMovie("bird_gr", "bird_gr"+i, 50+i);
  5.        
  6. }

und dann:

ActionScript:
  1. for (i=1; i<=16; i++) { _root["bird_gr"+i].onEnterFrame = function() {
  2.                 this._x = _root["walker"+i]._x;
  3.                 this._y = _root["walker"+i]._y;
  4.         };}
fresh ist offline   Mit Zitat antworten
Alt 23-07-2003, 21:24   #3 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
nö, das sollte so schon gehen.

was passiert denn?
garnichts?
oder folgen sie verzögert?

mach doch mal nen trace("geht"); in das onEnterFrame wenn garnichts passiert, dann wissen wir schon mal, ob das mit dem Event klappt
Janoscharlipp ist offline   Mit Zitat antworten
Alt 23-07-2003, 21:26   #4 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
nene, das geht nicht weil i ja zur Laufzeit abgefragt wird
schau Dir nochmal Dein onEnterFrame an:
ActionScript:
  1. ...
  2. _root["bird_gr"+i].onEnterFrame = function() {
  3.                 this._x = _root["walker"+i]._x;
  4.                 this._y = _root["walker"+i]._y;
  5.         };
  6. ...
das ist nicht dasselbe wie:
ActionScript:
  1. _root.bird1.onEnterFrame = function() {
  2.                 this._x = _root.walker1._x;
  3.                 this._y = _root.walker1._y;
  4.         };
  5. _root.bird2.onEnterFrame = function() {
  6.                 this._x = _root.walker2._x;
  7.                 this._y = _root.walker2._y;
  8.         };
  9. ...
...sondern:
ActionScript:
  1. _root.bird1.onEnterFrame = function() {
  2.                this._x = _root["walker"+i]._x;
  3.                 this._y = _root["walker"+i]._y;
  4.  
  5.         };
  6. _root.bird2.onEnterFrame = function() {
  7.                 this._x = _root["walker"+i]._x;
  8.                 this._y = _root["walker"+i]._y;
  9.  
  10.         };
  11. ....
folgendermassen gehts:
ActionScript:
  1. for (i=1; i<=16; i++) {
  2.         _root.createEmptyMovieClip("walker"+i, 500+i);
  3.         _root["walker"+i].move(4);//die function move() is ok!!!
  4.         _root.attachMovie("bird_gr", "bird_gr"+i, 50+i);
  5. _root["bird_gr"+i].i=i;
  6.         _root["bird_gr"+i].onEnterFrame = function() {
  7.                 this._x = _root["walker"+this.i]._x;
  8.                 this._y = _root["walker"+this.i]._y;
  9.         };

Gruß

Alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-

Geändert von Alois (23-07-2003 um 21:28 Uhr)
Alois ist offline   Mit Zitat antworten
Alt 23-07-2003, 21:27   #5 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
hi!

versuchs mal so:
ActionScript:
  1. for (i=1; i<=16; i++) {
  2.         _root.createEmptyMovieClip("walker"+i, 500+i);
  3.         _root["walker"+i].move(4);//die function move() is ok!!!
  4.         _root.attachMovie("bird_gr", "bird_gr"+i, 50+i);
  5.  _root["bird_gr"+i]._number = i;       
  6.  _root["bird_gr"+i].onEnterFrame = function() {
  7.                 this._x = _root["walker"+this._number]._x;
  8.                 this._y = _root["walker"+this._number]._y;
  9.         };
  10. }

so far, mati


Edit: man alois! das waren höchstens 30 sec. schweinerei...
__________________
„Ich war geheilt, all right!“

Geändert von mati (23-07-2003 um 21:28 Uhr)
mati ist offline   Mit Zitat antworten
Alt 23-07-2003, 21:29   #6 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
hähä
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-
Alois ist offline   Mit Zitat antworten
Alt 23-07-2003, 21:31   #7 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Beiträge: 518
DANKE @ al(lois)


ActionScript:
  1. _root["bird_gr"+i].i=i;

spitzen Idee && funzt !

Danke
hnes
hnes ist offline   Mit Zitat antworten
Alt 23-07-2003, 21:50   #8 (permalink)
thinkin aBout tha lib.
 
Benutzerbild von kaneda
 
Registriert seit: Nov 2001
Ort: Kölle
Beiträge: 1.379
Wobei anzumerken ist das da schon sehr viel vom code, ausgesprochen unsauber ist
kaneda ist offline   Mit Zitat antworten
Alt 23-07-2003, 21:58   #9 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Beiträge: 518
@kaneda

was genau is denn unsauber?
hnes ist offline   Mit Zitat antworten
Alt 23-07-2003, 22:13   #10 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
quark...!
sieht schick aus...und funzt !


warrantmaster ist offline   Mit Zitat antworten
Alt 23-07-2003, 22:17   #11 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
kaneda, putz mal Deinen Monitor, dann kommt das script auch sauber rüber

Alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-
Alois ist offline   Mit Zitat antworten
Alt 23-07-2003, 22:21   #12 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Beiträge: 518
von der performance her alles im grünen Bereich!
hnes ist offline   Mit Zitat antworten
Alt 24-07-2003, 06:42   #13 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
Zitat:
Geschrieben von kaneda
Wobei anzumerken ist das da schon sehr viel vom code, ausgesprochen unsauber ist
da hätte ich jetzt aber gerne ein beispiel! meinst du alois' oder meinen code? wobei eigentlich ist's ja das selbe...

confused, mati
__________________
„Ich war geheilt, all right!“
mati ist offline   Mit Zitat antworten
Alt 24-07-2003, 06:57   #14 (permalink)
thinkin aBout tha lib.
 
Benutzerbild von kaneda
 
Registriert seit: Nov 2001
Ort: Kölle
Beiträge: 1.379
Naja

alleine der Teil 500+i ... in der Ebenenangabe lässt darauf hindeuten das wenn mehr als 500 objekte mal da sind das diese untergehen, würde das eher über zwei movieclips lösen in denen die jeweiligen objekte einen Zähler kriegen.

attachMovie kann man ja auch Parameter übergeben.

d.h.

ActionScript:
  1. attachMovie('bird_gr', 'bird_gr'+i, 50+i, {i: i});

Auch das _root überall macht die Sache sehr fix, was wenn im root mal was anderes rein muss ... naja -> OOP Forum ...
__________________
Back to community with http://leichtgewicht.at
kaneda ist offline   Mit Zitat antworten
Alt 24-07-2003, 07:10   #15 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
über 500 objekte geht net? nicht wirklich... flash fängt ja bekannterweise bei einer tiefe von -13tausend irgendwas an und ich denke nicht dass er mehr objekte hat als flash ebenen... letztendlich ist es nur eine frage der organisation und strukturierung. wenn er weiß, wo seine objekte liegen, dann hat er kein problem damit...
ActionScript:
  1. attachMovie('bird_gr', 'bird_gr'+i, 50+i, {i: i});

so, und den sinn davon hab ich jetzt nicht erschlossen, vielleicht liegts ja dran dass ich grad nicht im oop-forum bin
oder worin besteht der sinn in jedem attachten movie den wert von i abzulegen? da machste au nix anderes als wir, nur dass du halt das initialisierungsobjekt verwendest... bleibt die frage ob das jetzt unsauber war was wir da gemacht haben

das mit _root - meinetwegen, soll er halt relative pfadangaben machen...
__________________
„Ich war geheilt, all right!“

Geändert von mati (24-07-2003 um 07:36 Uhr)
mati 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 03:18 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele