ciao a tutti,
ho movie clip istanziato img e vorrei che si muovesse a destra e sinistra alla pressione dei tasti direzionali della tastiera ma dovrebbe muoversi a destra o a sinistra all'infinito,
come posso fare?
grazie
![]()
ciao a tutti,
ho movie clip istanziato img e vorrei che si muovesse a destra e sinistra alla pressione dei tasti direzionali della tastiera ma dovrebbe muoversi a destra o a sinistra all'infinito,
come posso fare?
grazie
![]()
Qualcosa del genere
"Clip" è un movie nella root
Quando vuoi farmarlo ti bastacodice:onClipEvent(keyDown){ if (Key.isDown(Key.RIGHT)){ this.onEnterFrame = function(){ _root.clip._x+=20 } } if (Key.isDown(Key.LEFT)){ this.onEnterFrame = function(){ _root.clip._x-=20 } } }
codice:delete _root.clip.onEnterFrame
metti un controllo sugli assi x e y
if (mc._x <= tua dimensione && mc._x){ comandi }
io userei preferibilmente un evento preesistente per la classe Key, con un listener... così eviti anche di inserire un mc sullo stage solo per questa azione....
codice:var o:Object = new Object(); o.onKeyDown = function(){ if (Key.isDown(Key.RIGHT)){ _root.clip._x+=20 } else if (Key.isDown(Key.LEFT)){ _root.clip._x-=20 } } Key.addListener(o);
cosi si muove ma non capisco come farla muovere all'infinito, in pratica si dovrebbe ripetere sempre....codice:onClipEvent(keyDown){ if (Key.isDown(Key.RIGHT)){ this.onEnterFrame = function(){ this._x-=20 } } if (Key.isDown(Key.LEFT)){ this.onEnterFrame = function(){ this._x+=20 } } } onClipEvent(keyUp){ delete this.onEnterFrame }
Si muove all'infinito infatti...
Forse vuoi farlo rientrare nello stage dalla parte opposta quando esce da un lato?
esatto!!!
![]()
E' abbastanza diverso da quello che chiedevi ^^
scusami and80 non mi è molto chiaro.... come evito di mettere un mc, ho provato anche la tua soluzione solo che è un pò scattosa... grazie mille!Originariamente inviato da and80
io userei preferibilmente un evento preesistente per la classe Key, con un listener... così eviti anche di inserire un mc sullo stage solo per questa azione....
codice:var o:Object = new Object(); o.onKeyDown = function(){ if (Key.isDown(Key.RIGHT)){ _root.clip._x+=20 } else if (Key.isDown(Key.LEFT)){ _root.clip._x-=20 } } Key.addListener(o);
la "mia" soluzione è legata al framerate del filmato, più è veloce e meno è scattoso il movimentoOriginariamente inviato da Rossella_75
scusami and80 non mi è molto chiaro.... come evito di mettere un mc, ho provato anche la tua soluzione solo che è un pò scattosa... grazie mille!
per quanto riguarda il clip... nulla, è solo un'abitudine mia di pensiero, di solito quando uso enterFrame creo sempre un movieclip vuoto che mi faccia da animatore in modo da poterlo eliminare quando non mi serve più, di solito preferisco strade alternative all'utilizzo dell'enterFrame...
nel tuo caso in effetti ti basta applicare lo script direttamente al clip che vuoi muovere...
comunque anche io avevo capito la stessa cosa di Stan, è un po' diversa la cosa...