Animation gesteuert über for-Schleife

helaukoenig

Erfahrenes Mitglied
Eins vorweg: Flash-Anfänger, Actionscript ahnungslos.

Aber dennoch möchte ich eine Animation über ein Actionsscript steuern, weil ein MovieClip schrittweise nämlich genau 200px bewegen soll. Ahnungslos wie ich bin will ich das über eine for-Schleife abarbeiten lassen. Nun hat Flash aber die Angewohnheit, erst die Schleife abzuarbeiten und dann das Ergebnis zu zeigen.
Wie kann ich also erreichen, dass mir die Animation in ihren Einzelschritten angezeigt wird und nicht deren Endergebnis?

Danke schön.
 
Hi,

um eine schrittweise Animation mit AS zu realisieren, verwendet man keine Schleife (die ja so schnell abgearbeitet wird, wie möglich), sondern eine onEnterFrame-Methode:
Code:
var first = meinclip._x;
var speed = 2;
this.onEnterFrame = function() {
    meinclip._x += speed;
    if (meinclip._x >= first + 200) {
        meinclip._x = first + 200;
        delete this.onEnterFrame;
    }
}

Gruß
.
 
Vielen Dank, so es!

Anmerkung: Theoretisch kann man das wohl auch über eine for-schleife schaffen, wenn man einige Voraussetzungen beachtet. Zumindest hat mir neulich ein flasher-Guru das mal kurz gezeigt, aber leider zu kurz und ohne Erklärungen.

Aber besser auf deine Methode.
 
... das will ich sehen :eek: Du müsstest den Interpreter dazu bringen, in jedem Schleifendurchlauf einen Frame zu warten, und sowas wie "sleep" kennt Flash eigentlich nicht. Du kannst allerdings statt onEnterFrame auch Intervalle (siehe setInterval) verwenden.

Gruß
.
 
Zurück