- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- AS3-On mouse Over un bottone inizia un animzione
-
AS3-On mouse Over un bottone inizia un animzione
Ciao sono nuovo qui, quindi piacere francesco.
Passo subito al dunque, ho un animazione web da preparare, nella quale l'uomo vitruviano di leonardo muove le sue braccia e alla fine di esse c'e' un link che ridirige ad un altro sito...
Per rendere l'animazione piu' fluida e gestibile sto utilizzando i bones... ma riscontro dei problemi nel far partire l'animazione del braccio quando passo sopra il link.Nella root ci sono un MC come Background, un MC che contiene l'animazione con Bones, un Button e infine il layer Actions...
Ho inserito questo codice
[PHP]
stop();prova.addEventListener(MouseEvent.MOUSE_OVER, arma);
function arma ( e:MouseEvent ):void {
trace("over");
this.gotoAndStop(1);}[/PHP]
quando vado a fare il test l'animazione parte da sola in loop(il trace funziona).
Grazie a tutti.
-
Ciao cerrino benvenuto sul Forum GT, l'animazione delle braccia la hai fatta dentro un movieclip o sulla time line? "prova" è l'istanza di che cosa ? Perchè hai messo gotoAndStop(1) e non gotoAndPlay(1) ?
-
L'animazione e dentro un movieclip, prova e l'istanza di un bottone,
gotoAndStop(1) e gotoAndPlay(1) Li ho provati tutti e due, ma il risultato e lo stesso loop infinito dell'animazione.
-
Al posto di this metti l'istanza del clip filmato.
-
Grazie Nhatan.
Avrei un'altro problemuccio.
Ho aggiunto un MOUSE.OUT per far funzionare meglio l'animazione.
Ovvero per far posizionare il braccio dell'omino sul link quando sono in mouseover,
per poi farlo tornare lentamente al punto iniziale quando vado in mouseout.risoluzione.addEventListener(MouseEvent.MOUSE_OVER, arm_due);
risoluzione.addEventListener(MouseEvent.MOUSE_OUT, c);function arm_due ( e:MouseEvent ):void {
// trace("over");
arm2.gotoAndPlay(1);}
function c ( e:MouseEvent ):void {
// trace("over");
arm2.gotoAndPlay(30);}
Ora il punto e' che funzionare funziona, ma solo se passo lentamente con il mouse sul link( o comunque la prima volta).Poi se passo velocemente si blocca tutto, o meglio rimane bloccato sui due frame indicati senza piu' visualizzare l'animazione intermedia( ovvero da 1-30 e da 30 a 60).
-
In quali frame sono gli stop() ?
-
frame 1
frame 30
frame 60
-
Se metti uno stop() al frame 30 al MOUSE_OUT metti un gotoAndPlay(31) in modo che salti lo stop() mentre al frame 60 non ci vuole lo stop() così alla fine dell'animazione la testina si riposiziona sul frame 1 pronta a riprendere il ciclo all'OVER.
-
Grazie di tutto!