Comunidad de diseño web y desarrollo en internet online

Al cargar un swf externo, no funciona un clip con máscara

Citar            
MensajeEscrito el 05 Mar 2009 09:43 pm
Hola. Mi pregunta es la siguiente: he hecho un clip que contiene una máscara, que a su vez contiene una imagen que se mueve en el sentido contrario del ratón. La típica para que se vaya viendo la totalidad de la imagen. todo esto está en una película que debo visualizar en otra película. El movimiento se hace correctamente al probar la palícula primera, pero cuando la llama la otra no. ¿por qué será?

Éste es el código utilizado en el fotograma:

function mover(x,y, aceleracion) {
_root.show_mc.mapa_mc.onEnterFrame = function() {
this._x += (x-this._x)/aceleracion;
this._y += (y-this._y)/aceleracion;
if (Math.abs(x-this._x)<0.5 && Math.abs(y-this._y)<0.5 ) {
this._x = x;
this._y = y;
delete this.onEnterFrame;
}
};
}

Donde sohw_mc es el clip principal, y mapa.mc la imagen

y éste es el AS asignado a show_mc:

onClipEvent (mouseMove){
if (this.hitTest(_root._xmouse, _root._ymouse, true)){
_root.mover( -((mapa_mc._width-showinside_mc._width) /showinside_mc._width) * _xmouse,-((mapa_mc._height -showinside_mc._height) /showinside_mc._height) * _ymouse,33);
}
}

Muchas gracias, espero

Por PAN-web

3 de clabLevel



 

España

firefox
Citar            
MensajeEscrito el 06 Mar 2009 02:17 am
Es que esta usando _root. y cuando llamas desde otro .swf esta buscando en el _root del otro .swf y ya no del mismo, si ese codigo esta en su linea principal, puedes cambiar el _root por this asi buscara en su propia linea de tiempo.

Por drarock

Claber

705 de clabLevel

3 tutoriales

Genero:Femenino  

Lima, Peru

firefox
Citar            
MensajeEscrito el 06 Mar 2009 05:43 am
Hola, con _root._xmouse no hay problemas. Aqui podria estar tu problema: _root.show_mc.mapa_mc, esa linea dice que en la linea principal del archivo que carga a los demas, existe un clip llamado show_mc y dentro de el, un clip llamado mapa_mc debes de colocar esa ruta relativa a tu documento swf(el que cargas).

Bueno eso ya te lo explico drarock, pero yo tengo mis dudas. segun yo, no se puede aplicar hittest a clips enmascarados. espero que alguien me pueda resolver la duda.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 06 Mar 2009 12:17 pm
He probado ambas cosas. Muchas gracias por vuestra ayuda. No obstante, sigue sin funcionar. Puede que no lo haya hecho bien.
Pongo los dos archivos para que lo veáis mejor a ver si asi...

[url=http://panweb.es/duda/duda.zip][/url]

Por PAN-web

3 de clabLevel



 

España

firefox
Citar            
MensajeEscrito el 06 Mar 2009 02:34 pm
Ya mira,

En el codigo del primer fotograma, reemplaza el _root por this, y en el codigo del movieclip cambia el _root por _parent, te quedarian asi:

1er fotograma:

Código ActionScript :

function mover(x,y, aceleracion) { 
this.show_mc.mapa_mc.onEnterFrame = function() { 
this._x += (x-this._x)/aceleracion; 
this._y += (y-this._y)/aceleracion; 
if (Math.abs(x-this._x)<0.5 && Math.abs(y-this._y)<0.5 ) { 
this._x = x; 
this._y = y; 
delete this.onEnterFrame; 
} 
}; 
}


MovieClip

Código ActionScript :

onClipEvent (mouseMove){
if (this.hitTest(_root._xmouse, _root._ymouse, true)){
_parent.mover( -((mapa_mc._width-showinside_mc._width) /showinside_mc._width) * _xmouse,-((mapa_mc._height -showinside_mc._height) /showinside_mc._height) * _ymouse,33);
}
}

Por drarock

Claber

705 de clabLevel

3 tutoriales

Genero:Femenino  

Lima, Peru

firefox
Citar            
MensajeEscrito el 06 Mar 2009 03:30 pm
eres fantástico drarock!!! voy a probarlo. Gracias

Por PAN-web

3 de clabLevel



 

España

firefox
Citar            
MensajeEscrito el 06 Mar 2009 04:03 pm
genial!!! drarock, eres increíble tío! Muchas gracias de verdad.

si quieres ver el resultado:

[url=http://oceanonaranja.com][/url]

en la pestaña de medios, el botón "el espacio"

gracias otra vez

Por PAN-web

3 de clabLevel



 

España

firefox
Citar            
MensajeEscrito el 06 Mar 2009 04:05 pm
muy bien (y)

Recuerda que cuando haces un loadMovie el .swf externo se vuelve parte de la pelicula principal, por eso no hay que revisar esos _root.

Suerte en todo

Por drarock

Claber

705 de clabLevel

3 tutoriales

Genero:Femenino  

Lima, Peru

firefox
Citar            
MensajeEscrito el 06 Mar 2009 07:38 pm
Entonces si se puede aplicar hittest a clips enmascarados, no se porque no pude lograrlo la otra vez y me hice otra solución U_U

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox

 

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