Frage zu settimeout oder so

  • Hallo,


    wage gerade meine ersten Schritte in Flash und stehe auch gleich vor einem Problem. ich habe mehrere MCs (mit den kreativen namen 1,2,3 usw.).


    Diese möchte ich in der Hauptanmiation zeitversetzt zeigen, also MC1 startet, MC2 startet 5sek später, MC3 wieder 5 sek später...


    Hatte die MCs zunächst alle auf der Zeitleiste, dadurch wurde diese aber total lang, außerdem habe ich so keinen vernünftigen Übergang vom letzten wieder auf den ersten MC.


    Auf der Suche nach AS Lösungen hierfür bin ich über setinterval und settimeout gestolpert, bekomme dies aber nicht wirklich umgesetzt - da ich nicht weiß, wie ich mein attach_movie da richtig einbaue. Idealerweise hätte ich das ganze auch gern in einer Schleife, so dass ich nicht für jeden MC weiteren Code reinknallen muss. Da die MCs ja nur Zahlen als Bezeichner haben, sollte das doch eigentlich klappen, oder gibts ein problem wenn ich die zahlen-variable i als string (ID des MCs) verwenden möchte?


    Mein logischer Ansatz sieht in etwa so aus:


    Ich denk mir das so: i entspricht im prinzip der anzahl meiner mcs. solange i kleiner als 11 bleibt (angenommen ich hab 10mcs), wird nach einer verzägerung von 5000ms der nächste MC gestartet (weil i gleichzeitig auch name des MCs ist). die schleife ist zwar eine endlosschleife, macht aber nix, weil das dingen nach ende ja eh wieder von vorn laufen soll. wenn i bei 10 angekommen ist, wirds also wieder auf 1 gesetzt und läuft weiter.


    geht das vom prinzip her so?


    Ich habe Flash CS3 zur Verfügung, ob das ganze in AS2 oder 3 umgesetzt wird, ist mir schnuppe :)


    Falls irgendwer Tipps dazu hat (ich bin natürlich an guten Tutorials hierzu interessiert, aber auch an einer kurzfristigen Lösung trotz geringerem Lerneffekt, da ich genau diese eine Animation recht kurzfristig benötige.)


    Besten Dank schonmal im Voraus :D

    Anstatt zu klagen was ihr wollt, solltet ihr dankbar sein, dass ihr nicht all das bekommt, was ihr verdient ;)
    ------------------------------------------
    Virtuelle Babyparty :D
    ------------------------------------------
    [COLOR="SeaGreen"]ich will mehr grüne kästchen!

  • Zitat

    Da die MCs ja nur Zahlen als Bezeichner haben, sollte das doch eigentlich klappen, oder gibts ein problem wenn ich die zahlen-variable i als string (ID des MCs) verwenden möchte?


    Wie wärs mit der Hilfe, gibts kostenlos unter F1. Da steht klipp und klar drinne:

    Zitat


    Bezeichner sind die Namen von Variablen, Eigenschaften, Objekten, Funktionen oder Methoden. Diese Namen müssen mit einem Buchstaben, einem Unterstrich (_) oder einem Dollarzeichen ($) beginnen, dürfen ansonsten jedoch neben diesen Zeichen auch Ziffern enthalten


    Das gilt auch für Instanznamen.
    "1._x = 300;" geht völlig vor den Baum.
    Auch 1clip._x = 300; ist falsch
    Dagegen ist clip1_mc._x=300; richtig.


    Ein Blick in Dein Ausgabefenster sollte dir dies Eigentlich auch verraten.


    Zitat

    Ich habe Flash CS3 zur Verfügung, ob das ganze in AS2 oder 3 umgesetzt wird, ist mir schnuppe


    .. aber Flash nicht, in AS 3 ist die Syntax völlig anders als in AS 2


    Syntax für setTimeOut:

    PHP
    1. function positionen() {
    2. }
    3. setTimeout(function () {
    4. positionen();
    5. }, 1000);

    Schöne Grüße aus Thüringen
    Stephan Page


    Stell Dir vor, hier steht was und keiner liest es!! schon entdeckt?? F1 ist ne geile Taste
    [FONT="Comic Sans MS"]Ich beantworte keine E-Mails. Bitte alle Fragen ins Forum


    [COLOR="RoyalBlue"][FONT="Comic Sans MS"]schon gehört??? Das Internet ist voll, die lassen keinen mehr rein!! :p :D :p

  • mh ok ich versuch mal daraus schlau zu werden.


    Der settimeout teil ist für AS2, oder?


    ps: für deine antwort bin ich dankbar, allerdings kommt sie streckenweise ziemlich pampig rüber...

    Anstatt zu klagen was ihr wollt, solltet ihr dankbar sein, dass ihr nicht all das bekommt, was ihr verdient ;)
    ------------------------------------------
    Virtuelle Babyparty :D
    ------------------------------------------
    [COLOR="SeaGreen"]ich will mehr grüne kästchen!

  • Falls es jemand braucht:


    Erklärung falls es jemanden interessiert: meine 50 MCs heißen clip1 bis clip50.
    var countVar:Number ist ein Zähler, der am Anfang auf 2 gesetzt wird, var MaxCount ist die Anzahl der MCs.


    Damit der erste Clip sofort läuft und nicht erst nach 5 Sekunden wird dieser separat aufgerufen (daher beginnt countVar auch bei 2 und nicht bei eins).


    Anschließensd wird die Funktion startMovie definiert, welche einen MC mit dem Namen clip+zählervariable aufruft und positioniert. Weiterer Bestandteil der Funktion ist das hochsetzen der countVar um 1 und anschließender überprüfung deren Wertes. Wenn dieser höher als die Anzahl der vorhandenen MCs ist (maxCount), wird sie wieder auf 1 gesetzt, so dass wieder mit dem ersten MC weitergemacht wird.


    Zuletzt wird setInterval benutzt, welches die Funkion startMovie alle 5 Sekunden ausführt.


    Grundlage für diesen Code war http://www.flashforum.de/forum/showthread.php?t=223331&highlight=settimeout, danke ans Flashforum :)


    Sicherlich ist der Code nicht perfekt aber vielleicht hilfts ja dem einen oder anderen :p

    Anstatt zu klagen was ihr wollt, solltet ihr dankbar sein, dass ihr nicht all das bekommt, was ihr verdient ;)
    ------------------------------------------
    Virtuelle Babyparty :D
    ------------------------------------------
    [COLOR="SeaGreen"]ich will mehr grüne kästchen!