Pausen in flash?!?!

  • Hallo zusammen vieleicht könnt ihr mir ja helfen..(was ich eigendlich glaub)


    also mein problem:
    ich habe eine animation und will das sie nur jede 30sek abgespielt wird... wie geht das oder geht das überhaupt?
    Mfg
    Markus :)

  • hey! vor (oder nach) Deiner animation noch drei bilder einfügen, die folgendes script bekommen:


    1. bild:


    t=0
    fps=20 //ändern auf die von Dir gewählte framerate
    sek=30 //oder wie viele sekunden Du pause haben willst...


    2. bild:


    t++
    if(t>=(fps*sek)){
    gotoAndPlay("animation")
    }


    3. bild:


    t++
    gotoAndPlay(_currentframe-1)



    bei dieser variante ist die pausenzeit aber abhängig von der darstellbaren framerate beim client-rechner. hat der also 'nen 200er und Du hast noch z.B. fette animationen am laufen, dann geht seine framerate in den keller. der rechner packt dann Deine gewünschte framerate nicht, stellt also z.B. nur 10fps dar, damit verlängert sich Deine pause dann auf 60 sek.


    deshalb gibt's noch 'ne andere möglichkeit, die aber etwas komplizierter ist. Du kannst per actionscript die zeit in millisekunden auslesen, die seit start des filmes vergangen ist. und mit dieser zeit kann man natürlich ALLES anstellen :) z.B. bei jedem start der "pausenroutine" eine variable auf diese zeit setzen lassen, und eine zweite, die ebenfalls diesen wert bekommt, allerdings plus (sek*1000). und dann liest Du in jedem schleifendurchlauf die aktuell verstrichene zeit aus, und wenn die grösser ist, als die zweite variable, kommt Dein gotoAndPlay. somit verhinderst Du eine längere pause als gewünscht, auch bei schwächeren rechnern.


    [edit]


    das erste bild der animation musst Du natürlich für das o.a. script noch "animation" nennen. geht im "bild"-inspektor unter name.


    [/edit]

    viele grüsse, boom. :)


    alle coder sind erstaunt, wenn ihr kilometerzähler nicht von 0000099 auf 000009A springt...