Bättre sent än aldrig som man brukar säga. :r
Roings exempel funkar nog bäst för dig men jag lägger in koden som jag gjort så kanske du eller nån annan får användning för den en vacker dag.
Actionscript 2.0:
moveObj("mc_ball",25,0,200)
function moveObj(objName, duration, start, end){
var t = 0;
this.onEnterFrame = function(){
t++;
if(t <= duration){
this[objName]._x = _root.easeInOutQuad(t, start, end, duration);
}else{
delete this.onEnterFrame;
}
}
}
// t: current time, b: beginning value, c: change in value, d: duration
// Use:
// var start = 0;
// var end = 260;
// var duration = 10;
// var t = 0;
// t++;
// if (t <= duration) trace(easeInOutQuad(t, start, end, duration));
// or
// this._y = easeInOutQuad(t, start, end, duration)
// quadratic easing in/out - acceleration until halfway, then deceleration
function easeInOutQuad (t, b, c, d) {
if ((t/=d/2) < 1) return c/2*t*t + b;
return -c/2 * ((--t)*(t-2) - 1) + b;
}
// quadratic easing in - deceleration
function easeInQuad (t, b, c, d) {
return c*(t/=d)*t + b;
}
// quadratic easing out - acceleration
function easeOutQuad (t, b, c, d) {
return -c *(t/=d)*(t-2) + b;
}
Vet om om detta sättet är det mest optimala med det funkar iaf.
Ändra easeInOutQuad i koden till någon av dom andra t.ex easeInQuad beroende på vilken resultat du vill få fram. På http://www.robertpenner.com/easing/ så finns det ju miljaxer olika, så det är bara att välja och vraka. Vill du att den ska rör sig från höger till vänster istället för tvärtom så skriver du bara moveObj("mc_ball",25,0,-200)
Bifogar en fla-fil också gjord i Flash MX 2004 som det bara är att köra.
Hoppas jag inte bryter mot någon slags copyright nu när jag har använt Robert Penners ekvationer. Isåfall så ber jag om ursäkt och meddela mig så ska jag ta bort den här posten.