quiero hacer una galería de fotos que reaccione a mouseX. La galería se genera, cargando las fotos mediante un XML dentro de un contenedor. Este contenedor es el que debe reaccionar al movimiento del ratón. El problema es que las imagenes vibrán un poco y el movimiento del contenedor no es tan fino como me gustaría.
Un saludo y muchas gracias.
Código :
package { //import.... public class MySpriteAparte extends Sprite { //var... public function MySpriteAparte() { init(); loadXML(); } private function loadXML():void { loader=new URLLoader(new URLRequest("images.xml")); loader.addEventListener(Event.COMPLETE, createPanel); } private function createPanel(e:Event):void { var xml:XML=new XML(e.target.data); var list:XMLList=xml.image; longitud=list.length(); for (var i:int=0; i<list.length(); i++) { var imc:Imc = new Imc(); imc.buttonMode=true; var l:Loader = new Loader(); l.x=-220; l.y=-138; l.load(new URLRequest(list[i].@mini)); imc.addChild(l); var total:Number=414*list.length(); angulo=total/list.length(); imc.x = (i*angulo); container.addChild(imc); imc.src=list[i].@mini; //El XML tiene un atributo "mini" con la ruta para cada foto } addChild(container); container.addEventListener(MouseEvent.MOUSE_OVER,in); container.addEventListener(MouseEvent.MOUSE_OUT,out); } private function init():void { container = new Sprite(); container.x=214; container.y=144; } function scroller(event:Event):void {//Esta función es la que controla el movimiento var halfstagewidth:int=350; var panspeed:int=15; container.x += - Math.round((mouseX - halfstagewidth)/panspeed); if (container.x<= - (414*longitud) + 781 + 220) { //414 es el ancho de cada foto container.x = - (414*longitud) + 781 + 220; //781 es el ancho de la mascara //220 es la posición x inicial de container } if (container.x>=214) { container.x=214; } } function out (e:MouseEvent) { //Solo quiero que se mueva el container cuando esté el ratón encima container.removeEventListener(Event.ENTER_FRAME, scroller); } function in (e:MouseEvent) { container.addEventListener(Event.ENTER_FRAME, scroller); } } }