ActionScript: Déplacer un objet avec effet de ralentissement

Il existe une formule très simple pour déplacer un objet vers des coordonnées données avec un effet de ralentissement.

Cette formule fait diminuer la vitesse petit à petit suivant le temps.

vitesse = distance_entre_les_objets / coefficiant_de_ralentissement

La distance va décroître car la distance va décroître également.

Si je donne des valeurs :

object.x = 50

targetX = 100

speedX = (targetX – object.x)  / 5

Sur la première image : speed = 10

object.x += (100 – 50) /5 > 50/5 > 10

> object.x = 50+10 = 60

Sur la seconde image : speed = 8

object.x += (100 – 60) /5 > 40/5 = 8

> object.x = 60 + 8 = 68

Sur la troisième image: speed = 6,4

object.x += (100 – 68) / 5 > 32/5 = 6,4

> object.x = 68 + 6,4 = 74,4

etc.

Sur la 100ème image : speed = 0

object.x += (100 – 100) / 5 > 0 /5 = 0

> object.x = 100 + 0 = 100

Code source :

Exemple:

Télécharger la source : www.benoitfreslon.com Move an object to coordinates with smoothing.zip