Comunidad de diseño web y desarrollo en internet online

problema con mc dentro de otro mc

Citar            
MensajeEscrito el 22 Jul 2010 12:24 am
hola, tengo un problema con dos mc los dos tiene acciones de mouse. una galeria de fotos que se mueve arrastando el mouse de un izq a derecha y un mapa que al darle click encima se acerca o se aleja. El problema es me funcionan bien cuando estan en la scena 1 , pero al introcirlos dentro de un otro mc pierden las acciones de click, es decir no puede arrastar las fotos de un lado a otro y tampoco puedo alejar o acercar el mapa. hay algun codigo que deba poner en el mc que los contiene , de antemano muchas gracias por su ayuda.

Por enrique119

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Jul 2010 02:48 am
Fíjate que el MC no tenga asignada ninguna acción de Mouse, luego mira que los scripts no usen referencias a _root, que se pierden al meterlo dentro de un MC

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 22 Jul 2010 04:26 am
mira este es el codigo del mapa (un mapa que tuve que hacer con un efecto zoom porque el as2 no me permite trabajar con google maps) bueno en fin el efecto que hice le puse este codigo:

Código ActionScript :

incremento = 2;
zoomActivado = false;
ini_x = mapa._x;
ini_y = mapa._y;
function zoom(x, y, ancho, alto, aceleracion) {
   mapa.onEnterFrame = function() {
      this._x += (x-this._x)/aceleracion;
      this._y += (y-this._y)/aceleracion;
      this._width += (ancho-this._width)/aceleracion;
      this._height += (alto-this._height)/aceleracion;
      if (Math.abs(x-this._x)<0.5 && Math.abs(y-this._y)<0.5 && Math.abs(ancho-this._width)<0.5 && Math.abs(alto-this._height)<0.5) {
         this._x = x;
         this._y = y;
         this._width = ancho;
         this._height = alto;
         delete this.onEnterFrame;
      }
   };
}


onMouseDown = function() {

   if (mapa.hitTest(_xmouse, _ymouse)) {
      if (zoomActivado == false) {
         Alto = incremento*mapa._height;
         Ancho = incremento*mapa._width;

         xs = _xmouse-((_xmouse-mapa._x)*incremento);
         ys = _ymouse-((_ymouse-mapa._y)*incremento);

         zoomActivado = true;
      } else {
         Alto = mapa._height/incremento;
         Ancho = mapa._width/incremento;

         xs = ini_x;//_xmouse-((_xmouse-mapa._x) / incremento);
         ys = ini_y;//_ymouse-((_ymouse-mapa._y) / incremento);

         //Desactivamos el Flag para el zoomOut
         zoomActivado = false;
      }

      zoom(xs,ys,Ancho,Alto,3);
   }

};

bueno esto me funciona perfecto pero cuando lo introduzco en otro mc ya me deja de funcionar... igual me sucede con la galeria de fotos de otro archivo,( esa galeria si inlcuye el _root, pero lo reemplazo y de inmediato se me desaprecen las fotos xml, yo no se mucho de as2, yo creo que eso tiene que ver con las acciones de mouse,
gracias por tu ayuda

Por enrique119

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Jul 2010 11:07 am
El tema es que _xmouse e _ymouse pasan a trabajar dentro de las coordenadas del clip contenedor, mirate localToGlobal y globalToLocal para que use siempre ccoordenadas globales

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.