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ě:
Se abbassi il 10 l'animazione andra piů veloce.codice:tuo_mc.onEnterFrame = function() { _x = _x+(60-_x)/10 }
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.![]()
![]()
![]()

, ma proviamo a considerare che il valore della posizione in x dell'oggetto sia uguale a 0, e rileggiamola:
Rispondi quotando