Chi mi spiega come applicarla ad un oggetto? come equazione e' abbastanza semplice se non la piu' semplice.
// t: current time, b: beginning value, c: change in value, d: duration
Math.linearTween = function (t, b, c, d) {
return c*t/d + b;
};
Chi mi spiega come applicarla ad un oggetto? come equazione e' abbastanza semplice se non la piu' semplice.
// t: current time, b: beginning value, c: change in value, d: duration
Math.linearTween = function (t, b, c, d) {
return c*t/d + b;
};
PALERMO IN SERIE A "siemu i miegghiu" <<""FORZA PALERMO"">> <<""FORZAPALERMO"">>
Associ ad un movieclip:
codice:onClipEvent(load){ this.inizio = 100; this.fine = 300; this.percorso = this.fine - this.inizio; this.durata = 30; this.tempo = 0; } onClipEvent(enterFrame){ this._x = Math.linearTween(this.tempo++, this.inizio, this.percorso, this.durata); }
sicuramente grazie per la risposta, era da piu' di un giorno che aspettavo.
associandolo ad un mc non fa assolutamente niente. perche?
uso mx
PALERMO IN SERIE A "siemu i miegghiu" <<""FORZA PALERMO"">> <<""FORZAPALERMO"">>
Aspetta, non è che ti sei dimenticato la definizione del metodo?
codice:onClipEvent (load) { Math.linearTween = function(t, b, c, d) { return c * t / d + b; }; this.inizio = 100; this.fine = 300; this.percorso = this.fine - this.inizio; this.durata = 30; this.tempo = 0; } onClipEvent (enterFrame) { this._x = Math.linearTween(this.tempo++, this.inizio, this.percorso, this.durata); }
mi sa che dopo la mangiata di ieri sono ancora un po' stontito.
mi ero proprio dimenticato la definizione del metodo :quote:
Ma a che ci siamo, e' molto piu difficile applicarla anche alle altre equazioni di easing tipo:
Quadratic
Cubic
Quartic
Quintic
Sinusoidal
ecc. ecc. conoscendo il metodo?
PALERMO IN SERIE A "siemu i miegghiu" <<""FORZA PALERMO"">> <<""FORZAPALERMO"">>
Affatto, funzionano tutte allo stesso modo (all'incirca).
scusami ancora nega, per esempio la ho applicata sull'easeoutbounce.
ma come faccio per fermarla?
onClipEvent (load) {
Math.easeOutBounce = function(t, b, c, d) {
if ((t /= d)<(1/2.75)) {
return c*(7.5625*t*t)+b;
} else if (t<(2/2.75)) {
return c*(7.5625*(t -= (1.5/2.75))*t+.75)+b;
} else if (t<(2.5/2.75)) {
return c*(7.5625*(t -= (2.25/2.75))*t+.9375)+b;
} else {
return c*(7.5625*(t -= (2.625/2.75))*t+.984375)+b;
}
};
this.inizio = 0;
this.fine = 300;
this.percorso = this.fine+this.inizio;
this.durata = 100;
this.tempo = 0;
}
onClipEvent (enterFrame) {
this._xscale = Math.easeOutBounce(this.tempo++, this.inizio, this.percorso, this.durata);
this._yscale = Math.easeOutBounce(this.tempo++, this.inizio, this.percorso, this.durata);
}
PALERMO IN SERIE A "siemu i miegghiu" <<""FORZA PALERMO"">> <<""FORZAPALERMO"">>
Ovviamente, se usi il flashmx:codice:onClipEvent (load) { Math.easeOutBounce = function(t, b, c, d) { if ((t /= d) < (1 / 2.75)) { return c * (7.5625 * t * t) + b; } else if (t < (2 / 2.75)) { return c * (7.5625 * (t -= (1.5 / 2.75)) * t + .75) + b; } else if (t < (2.5 / 2.75)) { return c * (7.5625 * (t -= (2.25 / 2.75)) * t + .9375) + b; } else { return c * (7.5625 * (t -= (2.625 / 2.75)) * t + .984375) + b; } }; this.inizio = 0; this.fine = 300; this.percorso = this.fine + this.inizio; this.durata = 100; this.tempo = 0; } onClipEvent (enterFrame) { if(this.tempo > this.durata)return this._xscale = Math.easeOutBounce(this.tempo++, this.inizio, this.percorso, this.durata); this._yscale = Math.easeOutBounce(this.tempo++, this.inizio, this.percorso, this.durata); }
codice:Math.easeOutBounce = function(t, b, c, d) { if ((t /= d) < (1 / 2.75)) { return c * (7.5625 * t * t) + b; } else if (t < (2 / 2.75)) { return c * (7.5625 * (t -= (1.5 / 2.75)) * t + .75) + b; } else if (t < (2.5 / 2.75)) { return c * (7.5625 * (t -= (2.25 / 2.75)) * t + .9375) + b; } else { return c * (7.5625 * (t -= (2.625 / 2.75)) * t + .984375) + b; } }; mc.inizio = 0; mc.fine = 300; mc.percorso = mc.fine + mc.inizio; mc.durata = 100; mc.tempo = 0; mc.onEnterFrame = function() { if (this.tempo > this.durata)delete this.onEnterFrame this._xscale = Math.easeOutBounce(this.tempo++, this.inizio, this.percorso, this.durata); this._yscale = Math.easeOutBounce(this.tempo++, this.inizio, this.percorso, this.durata); };
rinnovo i miei ringraziamenti, sei proprio bravo,
grazie.
PALERMO IN SERIE A "siemu i miegghiu" <<""FORZA PALERMO"">> <<""FORZAPALERMO"">>
mi potresti spiegare come fai ad arrivare a questa soluzione?
onClipEvent (load) {
Math.linearTween = function(t, b, c, d)
{
return c * t / d + b;
};
this.inizio = 100;
this.fine = 300;
this.percorso = this.fine - this.inizio;
this.durata = 30;
this.tempo = 0;
}
onClipEvent (enterFrame) {
this._x = Math.linearTween(this.tempo++, this.inizio, this.percorso, this.durata);
}
PALERMO IN SERIE A "siemu i miegghiu" <<""FORZA PALERMO"">> <<""FORZAPALERMO"">>