Salve a tutti,
ho un oggetto....vorrei creare un'interpolazione di movimento via codice AS....è possibile? Se si come?
Grazie
Salve a tutti,
ho un oggetto....vorrei creare un'interpolazione di movimento via codice AS....è possibile? Se si come?
Grazie
"Considerate la vostra semenza:
fatti non foste a viver come bruti,
ma per seguir virtute e canoscenza''."
Dante Alighieri
ci sono diversi metodi, puoi agire sull' "_x" e "_y" del tuo oggetto oppure sfruttare le nuove classi "Tween" messe a disposizione dalla macromedia e molto potenti, vai a dare uno sguardo!
Faycal
Web & Multimedia Designer
:quote:
Se ti studi la Classe Tween vedrai che puoi fare di tutto e di più.
Cmq, qui di seguito, ti metto l'esempio più spartano possibile:
Assegna il nome d'istanza giovanni al movieclip che vuoi muovere.
Seleziona il frame in cui c'è il movieclip, apri il pannello Azioni e scrivi:
10 = coo.ta _x di partenza.codice:new mx.transitions.Tween(giovanni, "_x", mx.transitions.easing.Regular.easeOut, 10, 400, 1.5, true);
400 = coo.ta _x di arrivo.
1.5 = velocità del mc (più è alto il numero e più è lento il movimento. È ovvio che la velocità è in rapporto diretto col framerate del filmato.
Regular esprime che l'interpolazione è lineare.
giovanni = nome d'istanza del movieclip in questione
Se al posto di Regular ci metti Elastic ottieni un effetto, manco a dirlo... a molla. Poi ce ne sono altri; aiutati che Flash t'aiuta.
Cmq, per un'interpolazione lineare, semplice e fine a se stessa, ActionScript non fa né bene né male; è del tutto intile, da qualunque punto di vista, se non da quello dell'inutilissima "fighezza"![]()
Cià,
NAP
A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)
se sei alle prime armi con i movimenti in AS ti consiglio di farlo con il metodo per i MovieClip --> MovieClip.onEnterFrame
in pratica questo metodo è legato al framerate del filmato e si attiva ogni tot automaticamente, quindi ad esempio se io ho un clip istanziato come "palla" a coordinate 0,0 e scrivo su di un frame della timeline
vedrò il mio clip muoversi da 0 a 500 e poi fermarsicodice:// attivo il metodo con la dicitura qui sotto palla.onEnterFrame = function(){ // ad ogni richiamo del metodo aggiungo // alla _x del mio clip 10 pixel this._x += 10; // poi lo avverto che quando il clip arriva a _x == 500 if(this._x == 500){ // allora è necessario bloccare il metodo eliminandolo delete this.onEnterFrame; } }
ps. se fai una ricerchina da queste parti vedrai quante discussioni in merito![]()