Ciao a tutti,
sto provando a fare un menu in as3, e ho un problema...
praticamente ho un pannello, che al passaggio del mouse fa un movimento slide verso l'interno della pagina. Su questo pannello ci sono altri quattro movie creati da un unico oggetto in libreria, con nomi istanza diversi (mc_button1,mc_button2.....)...i quattro movie seguono il movimento del pannello, e ho assegnato un evento rollover e rollout per ciascuno di loro, con il quale dovrebbero ingrandirsi al rollover e ritornare alle dimensioni iniziali al rollout... fin qui tutto bene, l'unica cosa è che quando passo col mouse su un movie, questo si sposta se il movimento è veloce, perchè evidentemente, essendo il movimento creato con una tween, l'as3 legge un valore diverso a ogni passaggio, in base alla posizione del movie stesso... vorrei che questo non succedesse...vorrei che i pulsanti si ingrandissero mantenendo le posizioni....come posso fare? posto anche il codice...
grazie a tutti in anticipo.
codice:import caurina.transitions.*; var clips:Array = new Array(mc_button1,mc_button2,mc_button3,mc_button4); for (var i:uint=0; i<clips.length; i++) { clips[i].addEventListener( MouseEvent.ROLL_OVER, on_roll_over ); clips[i].addEventListener( MouseEvent.ROLL_OVER, zoom_in ); clips[i].addEventListener( MouseEvent.ROLL_OUT, zoom_out ); } mc.addEventListener( MouseEvent.ROLL_OVER, on_roll_over ); mc.addEventListener( MouseEvent.ROLL_OUT, on_roll_out ); function on_roll_over (e:MouseEvent):void { Tweener.addTween(mc,{x:60,time:0.8,transition:"easeOutBack"}) for (var a:uint=0; a<clips.length; a++) { Tweener.addTween(clips[a],{x:14.5,time:0.8,transition:"easeOutBack"}) }} function on_roll_out (e:MouseEvent){ Tweener.addTween(mc,{x:-9.9,time:1}) for (var i:uint=0; i<clips.length; i++) { Tweener.addTween(clips[i],{x:-45.5,time:1}) }} function zoom_in (e:MouseEvent) { var mc_y = e.target.y var mc_height = e.target.height var n_height = e.target.height * 1.2 var diff_height = n_height - mc_height var diff_y = mc_y - (diff_height/2) for (var i:uint=0; i<clips.length; i++) { Tweener.addTween(e.target,{y:diff_y,scaleX:1.2,scaleY:1.2,time:0.3,transition:"linear"}) }} function zoom_out (e:MouseEvent) { var mc_y = e.target.y var mc_height = e.target.height var n_height = mc_height / 1.2 var diff_height = mc_height - n_height var diff_y = mc_y + (diff_height/2) for (var i:uint=0; i<clips.length; i++) { Tweener.addTween(e.target,{y:diff_y,scaleX:1,height:39.65,time:0.3,delay:0.2,transition:"easeOutBounce"}) }}

Rispondi quotando