venerdì 28 novembre 2008

Inerzia - Easing

Per ottenere un effetto inerzia: calcolare la distanza tra i due punti. L'oggetto che deve spostarsi si sposta a metà della distanza da percorrere. E poi di nuovo a metà della metà. E poi di nuovo. Fino a raggiungere un approsimazione prossima allo zero. Questo ovviamente in un enterFrame per ottenere l'animazione.

La formula generica che potrete facilmente memorizzare:
PassoSuccessivo=(DoveVoleteArrivare-DoveSieteAdesso)/ValoreInerzia;

da http://www.webmasterpoint.org/appunti/flash/83.asp

inerzia = 2;

palla_mc._x = 0
palla_mc._y = 200

var posPallaX:Number = this.palla_mc._x
var posPallaY:Number = this.palla_mc._y
var posMouse:Number = _root._xmouse

this.onEnterFrame = function () {
asseX()
asseY()
}

function asseX() {
//si calcola la distanza tra due punti e si fa andare la palla a metà poi ancora a metà della metà e così via
posMouse = _root._xmouse;
posPallaX = palla_mc._x;
distX = posMouse - posPallaX;
distXMeta = distX / 2;
palla_mc._x += distXMeta;
}

function asseY() {
posMouse = _root._ymouse;
posPallaY = palla_mc._y;
distY = posMouse - posPallaY;
distYMeta = distY / 2;
palla_mc._y += distYMeta;
}