Easing- ähnliches Springen durch skalieren

Gajus Julius

Grünschnabel
hallo,

ich würde gernen einen eigentlich recht simplen Effekt machen: Es soll aussehen, wie wenn man einen springenden Gummiball von oben anschauen würde. der mc soll bei _yscale und _xscale = 0 beginnen und sofort auf 120% skalieren. dannach soll er sich auf 100% einpendeln. bis jetzt hatte ich dieses Skript auf dem Mc, das aber bei mir (Flash mx 2004 pro) nicht funktionier, der mc bleibt bei 0% stehen. (außerdem wird er von der hauptzeitleiste durch attachMovie auf die bühne gezogen):

onClipEvent (enterFrame) {
_yscale = 0;
_xscale = 0;
ziel = 100;
}
onClipEvent (load) {
a = _yscale;
aa=(aa+((ziel-a)/2))/1.5;
a = a+dx;
_yscale = a;
_xscale = a;
stop();
}
 
Hi,

da ist Dir aber einiges durcheinandergeraten... so sollte es klappen:
PHP:
onClipEvent (load) { // load und enterFrame vertauscht!
    _yscale = 1;
    _xscale = 1;
    this.a = 1; // setz ein this vor Membervariablen
    this.dx = 0; // alle Variablen müssen initialisiert sein, sonst hast Du "undefined" ...
    this.ziel = 100;
}
onClipEvent (enterFrame) {
    this.a = _yscale;
    this.dx=(this.dx+((this.ziel-this.a)/2))/1.5; // "aa" statt "dx" geschrieben
    this.a = this.a+this.dx;
    _yscale = this.a;
    _xscale = this.a;
}
Übrigens: eine Instanzierung mit attachMovie kann nicht sein, da onClipEvent nur auf Instanzen funktioniert. Willst Du den Code dem neuen Objekt von außen zuweisen (oder direkt in den MC schreiben), müsstest Du mit "this.onEnterFrame = function() {" usw. arbeiten. ;)

Gruß

.
 
Zuletzt bearbeitet:
Zurück