Originariamente inviato da netbos
qualcuno puo spiegarmi in dettaglio cosa fa esattamente questa riga di codice

_x = _x+(pos-_x)/10;
o
_x = _x+(60-_x)/10;

Riga sotto: Qui si sta cercando di spostare un determinato oggetto (del quale non compare il nome) sull'asse delle x. La posizione in x che si vuole raggiungere č 60.

_x = questa č una proprietŕ del mc in questione. Indica la sua posizione sull'asse delle x.
60 = posizione in x che si vuole raggiungere.
10 = coefficiente fisso

Se volessimo "leggere" quella riga "traducendola" in italiano risulterebbe +o- cosě:

"Setta la posizione in x del mc su un valore che corrisponde a... -_x = - ...all'attuale posizione dell'oggetto in x incrementandola... - _x+ - ... di 60 meno il valore della posizione in x dell'oggetto diviso per 10. - (60-_x)/10 -

So che letto cosi potrebbe non risultere tanto semplice , ma proviamo a considerare che il valore della posizione in x dell'oggetto sia uguale a 0, e rileggiamola:

_x = _x+(60-_x)/10;
_x = 0+(60-0)/10
_x = 6

Cioč flash imposta la _x di quel mc a 6.

Se tu fai ripetere questo calcolo ad ogni frame a flash, risuterŕ che il tuo mc si spostera sull'asse delle x andando prima piů veloce e poi via via piů piano. Se infatti provi a rifare il calcolo con la x impostata a 6 ti accorgi subito che , questa volta, il volore di x viene incrementato di 5,4.

Chiaramete per fare si che che l'azione si ripeta ad ogni frame la devi inserire dento ad un evento onEnterFrame.
Cosě:
codice:
tuo_mc.onEnterFrame = function() {
_x = _x+(60-_x)/10
}
Se abbassi il 10 l'animazione andra piů veloce.



Riga sopra: Identico alla riga sotto solo che, in questo caso, il valore della posizione in x da raggiungere č impostato dentro a una variabile denominata pos .


Ciao.