| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| nah dran Registriert seit: Sep 2002 Ort: Karlsruhe
Beiträge: 147
|
Hallo ihr lieben, ich habe ein kleines Problem, und zwar möchte ich alle Movieclips, die in einem bestimmten Pfad liegen, ansprechen und nacheinander verändern. Mein Ansatz war folgender, aber auf diese Weise wird das onEnterFrame wird erst beim letzten Movieclip ausgeführt. ActionScript:
Klar könnte ich auch erstmal alle Movieclips in ein Array schreiben und bei jedem onEnterFrame eins hochzählen, aber weiß vielleicht jemand eine elegantere Lösung, bei der man auch ohne Array auskommt? Thanx, Panda |
| | |
| | #2 (permalink) |
| Flash & TYPO3 Registriert seit: Oct 2003 Ort: Bayern
Beiträge: 2.700
|
Für was brauchst denn hier überhaupt ein oEF? Du verschiebst dem MC genau einmal - dann löscht du die oEf schon wieder! kannste dir doch dann gleich sparen!? Ansonsten in setInterval(); ädern!
__________________ Mediendesign-Student |
| | |
| | #3 (permalink) |
| nah dran Registriert seit: Sep 2002 Ort: Karlsruhe
Beiträge: 147
|
Stimmt, hast recht, das macht keinen Sinn Ich wollte halt alle Elemente, die sich im Pfad, also z.B. _root befinden, nacheinander verschieben/erscheinen lassen... was auch immer, ohne dabei alle Elemente in ein Array schreiben zu müssen. |
| | |
| | #4 (permalink) |
| nah dran Registriert seit: Sep 2002 Ort: Karlsruhe
Beiträge: 147
|
Sorry, ich komm da grad auch mit setInterval nicht weiter. Im Grunde gehts mir darum, eine for-in-Schleife in bestimmten Zeitabschnitten zu durchlaufen, also so zu sagen eine Verzögerung einzubauen, bis die Schleife das nächste durchlaufen wird. Wahrscheinlich ist der Weg mit setInterval schon der richtige, ich kriegs aber gerade nicht gebacken. Kann mir jemand auf die Sprünge helfen?? |
| | |
| | #6 (permalink) |
| querdenker Registriert seit: Jun 2001 Ort: formel1-stadt hockenheim
Beiträge: 4.731
|
dein aufbau oben ist falsch herum...ist dir nicht aufgefallen, nicht...?! nicht so: ActionScript:
sondern so herum wird ein schuh draus... ActionScript:
jetzt mal davobn ab, dass johannes natürlich recht hat, wenn er sagt, dass ein oEF für´n popo iss, wenn er eh nur einmal angesprungen wird... aber du hast den enterframe in die for-schleife gesteckt... statt anders rum... zu allem überfluss hast du auch nur einen enterfram, der innerhalb der schleife sofort überschreiben wird und somit nur den letzten der brüder verändert... greetz kelor |
| | |
| | #7 (permalink) |
| nah dran Registriert seit: Sep 2002 Ort: Karlsruhe
Beiträge: 147
|
Ich möchte eigentlich eine allgemeine Routine schreiben ohne Hinblick auf die Namen der Objekte oder dem was sie machen sollen. Ich versuchs nochmal etwas klarer zu formulieren: Ich habe einen Container-MC und in dem befindet sich eine Anzahl an Objekten (MCs), die vorher dynamisch erzeugt wurden. Diese sollen dann der Reihe nach eine Aktion ausführen, z.B. sich zeitlich versetzt (z.B. jeweils nach einem Frame) nacheinander einblenden. Wenn ich die Objekte beim Erzeugen in ein Array schreibe, kann ich das Problem mit onEnterFrame und einer if-Abfrage ja recht einfach lösen, aber ohne Array mit einer for-in-Schleife, die die Objekte ausliest, die sich im Container-MC befinden und zeitlich versetzt anspricht, klappt nicht. Vielleicht gehts auch einfach gar nicht... |
| | |
| | #8 (permalink) |
| nah dran Registriert seit: Sep 2002 Ort: Karlsruhe
Beiträge: 147
|
sorry kelor, jetzt hab ich deinen Beitrag übersehen... sehs mir gleich mal an! ... hmm, das Problem ist ja, (das hatte ich so rum ja auch schon probiert), daß er jetzt alle Objekte auf einen Schlag ändert und nicht zeitlich versetzt. Ich bräuchte also irgendwas, was die for-in-Schleife "langsamer" ablaufen läßt. Trotzdem danke! Geändert von Pandabärchen (05-05-2004 um 23:11 Uhr) |
| | |
| | #11 (permalink) |
| Neuer User Registriert seit: Apr 2004 Ort: Kalifornien
Beiträge: 239
|
i=0; myInterval=new Object(); myInterval.interval=function(){ _root.innerMc["neuMc"+i].Funktion hier.... i++; if(i>leztesClip){ clearInterval(timer); } } timer=setInterval(myInterval,"interval",2000); Dies macht was mit deinen mcs alle 2 Sekunden.
__________________ Es war schon immer etwas teurer, einen guten Flash Film zu machen. www.flashscript.biz |
| | |
| | #12 (permalink) |
| querdenker Registriert seit: Jun 2001 Ort: formel1-stadt hockenheim
Beiträge: 4.731
| ActionScript:
meintest du sowas...? greetz kelor |
| | |
| | #13 (permalink) |
| nah dran Registriert seit: Sep 2002 Ort: Karlsruhe
Beiträge: 147
|
Ja, das geht schon in die Richtung. Aber ich hab mich halt gefragt, ob es nicht irgend was ganz simples gibt, so was sie... ActionScript:
Klappt so natürlich auch nicht. Trotzdem vielen Dank für die Anregungen!! |
| | |
| | #14 (permalink) |
| querdenker Registriert seit: Jun 2001 Ort: formel1-stadt hockenheim
Beiträge: 4.731
| ActionScript:
so ? sollte gehen...hab´s aus´m kopp getippt und hoffe, das nirgendwo ein komma fehlt...*g* greetz kelor |
| | |
| | #15 (permalink) |
| nah dran Registriert seit: Sep 2002 Ort: Karlsruhe
Beiträge: 147
|
Irgendwas passt da nicht, glaube ihm schmeckt der Parameter _root[ele] nicht. Naja, hab jedenfalls nochmal mit deinem Ansatz rumgebastelt, aber im Endeffekt habe ich dabei das selbe Problem wie in meinem allerersten Ansatz mit onEnterFrame, nämlich dass das oEF bzw. setInterval nur für das letzte Element ausgeführt wird. Ich versteh zwar nicht, warum das so ist, aber ich gebe mich jetzt so langsam geschlagen. Denke es ist einfach der falsche Ansatz. Thanx, Panda |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |