Originariamente inviato da 8bit
Che complicazione passare da un player all'altro.

Per i miei movimenti elastici ho sempre usato questa funzione, richiamata in un onEnterFrame o su due livelli, a seconda della versione di flash:

function Rubber(mc, centerX, centerY, elasticity) {
mc.dx = ((centerX-mc._x)*.25)+(mc.dx*elasticity);
mc.dy = ((centerY-mc._y)*.25)+(mc.dy*elasticity);
mc._x += mc.dx;
mc._y += mc.dy;
}

//"mc" è il movieClip da spostare
//"centerX" e "centerY" sono le coordinate x,y che il mC deve raggiungere
//"elasticity" è il fattore di elasticità che non deve mai raggiungere l'unità, ma deve essere sempre minore di 1 e maggiore di 0

Ora però con il Flash Player 7 e AS2 questa funzione non funziona (scusate il gioco di parole) più.

Qualcuno sa aiutarmi e magari dirmi come posso modificarla?
Il problema è che non riesce più a calcolare "mc.dx".

Grazie!
Come sempre.
succede perchè al primo passaggio mc.dx e mc.dy non sono definiti. Con l'ultima versione le cose sono migliorate e non si possono più fare calcoli numerici con variabili non numerici (menomale).

quindi basta aggiungere questa in testa alla funzione:
if(!mc.dx) mc.dx = 0;
if(!mc.dy) mc.dy = 0;
ossia se mc.dx e mc.dy hanno valore undefined vengono inizializzatia 0