Comunidad de diseño web y desarrollo en internet online

AYUDA. MOVIECLIPS CONTENEDORES DE IMAGENES

Citar            
MensajeEscrito el 04 Sep 2008 07:56 am
Hola a todos. Tengo un porblema a ver si me pueden ayudar.

He creado un contenedor, pero ahora necesito que al pulsar sobre el me carge una pelicula externa:

Código :

on(release) { 
   _root.inst_llam.loadMovie("principal.swf");
}


Al no ser un botón no me lo permite. Le he dado muchas vueltas y no encuentro la solución.

Este es el codigo del contenedor:

Código :

//CREAMOS MOVIECLIPS CONTENEDORES DE IMAGENES/////////////////
_root.createEmptyMovieClip("imagen1_mc",1);
_root.createEmptyMovieClip("imagen2_mc",2);

      imagen1_mc._x = 602.0;
      imagen1_mc._y = 400.0;
      imagen2_mc._x = 602.0;
      imagen2_mc._y = 400.0;
      
//////////////////////////////////////////////////////////////

//ANALIZAMOS NODOS XML////////////////////////////////////////
function analiza_xml() {
   direcciones = new Array();
   vinculos = new Array();
   duraciones = new Array();
   primer_nodo = imagenes_xml.childNodes;
   nodo_galeria = primer_nodo[0].childNodes;
   for (var j = 0; j<nodo_galeria.length; j++) {
      direcciones[j] = nodo_galeria[j].attributes.direccion;
      vinculos[j] = nodo_galeria[j].attributes.vinculo;
      duraciones[j] = nodo_galeria[j].attributes.duracion;
   }
}
///////////////////////////////////////////////////////////////

//FUNCION PRINCIPAL////////////////////////////////////////////
function muestra_imagen(cual) {
   var mclListener:Object = new Object();
   mclListener.onLoadInit = function(objetivo_mc:MovieClip) {
      if (objetivo_mc == imagen1_mc) {
         objetivo_mc.swapDepths(imagen2_mc);
         alphaTween = new mx.transitions.Tween(_root.imagen2_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 100, 0, 2, true);
         alphaTween2 = new mx.transitions.Tween(_root.imagen1_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 2, true);
      } else {
         objetivo_mc.swapDepths(imagen1_mc);
         alphaTween = new mx.transitions.Tween(_root.imagen1_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 100, 0, 2, true);
         alphaTween2 = new mx.transitions.Tween(_root.imagen2_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 2, true);
      }
      if (vinculos[cual] != undefined) {
         objetivo_mc.onRelease = function() {
            getURL(vinculos[cual], "_blank");
         };
      } else {
         objetivo_mc.onRollOver = function() {
            objetivo_mc.useHandCursor = false;
         };
      }
      mi_duracion = duraciones[cual];
      objetivo_mc.onEnterFrame = function() {
         var mi_fecha:Date = new Date();
         milisegundos = mi_fecha.getTime();
         if (hito == undefined) {
            hito = milisegundos;
         }
         milisegundos_pasados = milisegundos-hito;
         if (milisegundos_pasados>1000*mi_duracion) {
            hito = milisegundos;
            siguiente_imagen();
         }
      };
   };
   var imagen_mcl:MovieClipLoader = new MovieClipLoader();
   imagen_mcl.addListener(mclListener);
   if (imagen1_mc.getDepth()<imagen2_mc.getDepth()) {
      imagen_mcl.loadClip(direcciones[cual],imagen1_mc);
   } else {
      imagen_mcl.loadClip(direcciones[cual],imagen2_mc);
   }
}
///////////////////////////////////////////////////////////////

//SECUENCIA IMAGENES///////////////////////////////////////////
function siguiente_imagen() {
   if (cual == undefined) {
      cual = 0;
   } else {
      cual++;
   }
   if (cual == nodo_galeria.length) {
      cual = 0;
   }
   muestra_imagen(cual);
}
///////////////////////////////////////////////////////////////

//LEE XML//////////////////////////////////////////////////////
var imagenes_xml:XML = new XML();
imagenes_xml.ignoreWhite = true;

imagenes_xml.onLoad = function(success) {
   analiza_xml();
   siguiente_imagen();
};

function lee_xml(que) {
   imagenes_xml.load(que);
}

lee_xml("pasefotos/pasefotos.xml");

stop();

Por Baloo_sevillano

11 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 04 Sep 2008 07:57 am
Se me olvidó una cosa, gracias por anticipado.

Por Baloo_sevillano

11 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 04 Sep 2008 09:00 am
Cuando hablas de un contenedor, te refieres a un movieClip no?
Y lo que haces es leer algún contenido externo dentro del movieClip?
Si las dos primeras preguntas son verdaderas, entonces debes darle las acciones cuando termine de cargar su contenido, sino cuando termine de cargarlo se perderán las acciones asignadas, lo mejor es leer el contenido con MovieClipLoader.loadClip y en el evento onLoadInit situar las acciones.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 04 Sep 2008 09:36 am

elchininet escribió:

Cuando hablas de un contenedor, te refieres a un movieClip no?
Y lo que haces es leer algún contenido externo dentro del movieClip?
Si las dos primeras preguntas son verdaderas, entonces debes darle las acciones cuando termine de cargar su contenido, sino cuando termine de cargarlo se perderán las acciones asignadas, lo mejor es leer el contenido con MovieClipLoader.loadClip y en el evento onLoadInit situar las acciones.


Intentaré explicarme mejor.

He creado un flash para la Navegación con peliculas externas en Flash, según el siguiente tutorial:

http://www.cristalab.com/tutoriales/106/navegacion-con-peliculas-externas-en-flash.html

Bien, dentro he creado una capa en la que va un MOVIECLIPS CONTENEDORES DE IMAGENES con el siguiente código:

Código :

//CREAMOS MOVIECLIPS CONTENEDORES DE IMAGENES/////////////////
_root.createEmptyMovieClip("imagen1_mc",1);
_root.createEmptyMovieClip("imagen2_mc",2);

      imagen1_mc._x = 602.0;
      imagen1_mc._y = 400.0;
      imagen2_mc._x = 602.0;
      imagen2_mc._y = 400.0;
      
//////////////////////////////////////////////////////////////

//ANALIZAMOS NODOS XML////////////////////////////////////////
function analiza_xml() {
   direcciones = new Array();
   vinculos = new Array();
   duraciones = new Array();
   primer_nodo = imagenes_xml.childNodes;
   nodo_galeria = primer_nodo[0].childNodes;
   for (var j = 0; j<nodo_galeria.length; j++) {
      direcciones[j] = nodo_galeria[j].attributes.direccion;
      vinculos[j] = nodo_galeria[j].attributes.vinculo;
      duraciones[j] = nodo_galeria[j].attributes.duracion;
   }
}
///////////////////////////////////////////////////////////////

//FUNCION PRINCIPAL////////////////////////////////////////////
function muestra_imagen(cual) {
   var mclListener:Object = new Object();
   mclListener.onLoadInit = function(objetivo_mc:MovieClip) {
      if (objetivo_mc == imagen1_mc) {
         objetivo_mc.swapDepths(imagen2_mc);
         alphaTween = new mx.transitions.Tween(_root.imagen2_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 100, 0, 2, true);
         alphaTween2 = new mx.transitions.Tween(_root.imagen1_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 2, true);
      } else {
         objetivo_mc.swapDepths(imagen1_mc);
         alphaTween = new mx.transitions.Tween(_root.imagen1_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 100, 0, 2, true);
         alphaTween2 = new mx.transitions.Tween(_root.imagen2_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 2, true);
      }
      if (vinculos[cual] != undefined) {
         objetivo_mc.onRelease = function() {
            getURL(vinculos[cual], "_blank");
         };
      } else {
         objetivo_mc.onRollOver = function() {
            objetivo_mc.useHandCursor = false;
         };
      }
      mi_duracion = duraciones[cual];
      objetivo_mc.onEnterFrame = function() {
         var mi_fecha:Date = new Date();
         milisegundos = mi_fecha.getTime();
         if (hito == undefined) {
            hito = milisegundos;
         }
         milisegundos_pasados = milisegundos-hito;
         if (milisegundos_pasados>1000*mi_duracion) {
            hito = milisegundos;
            siguiente_imagen();
         }
      };
   };
   var imagen_mcl:MovieClipLoader = new MovieClipLoader();
   imagen_mcl.addListener(mclListener);
   if (imagen1_mc.getDepth()<imagen2_mc.getDepth()) {
      imagen_mcl.loadClip(direcciones[cual],imagen1_mc);
   } else {
      imagen_mcl.loadClip(direcciones[cual],imagen2_mc);
   }
}
///////////////////////////////////////////////////////////////

//SECUENCIA IMAGENES///////////////////////////////////////////
function siguiente_imagen() {
   if (cual == undefined) {
      cual = 0;
   } else {
      cual++;
   }
   if (cual == nodo_galeria.length) {
      cual = 0;
   }
   muestra_imagen(cual);
}
///////////////////////////////////////////////////////////////

//LEE XML//////////////////////////////////////////////////////
var imagenes_xml:XML = new XML();
imagenes_xml.ignoreWhite = true;

imagenes_xml.onLoad = function(success) {
   analiza_xml();
   siguiente_imagen();
};

function lee_xml(que) {
   imagenes_xml.load(que);
}

lee_xml("pasefotos/pasefotos.xml");

stop();


Bien, ahora lo que necesito es que cuando se pulse en las imágenes me cargue otra película con esta función:

Código :

on(release) { 
   _root.inst_llam.loadMovie("principal.swf");
}


Lo importante es que llame a principal.swf al pulsar.

Muchas gracias.

Por Baloo_sevillano

11 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 04 Sep 2008 10:27 am
Bueno parece ser que las dos primera eran verdaderas, por lo tanto debes utilizar mi sugerencia:


entonces debes darle las acciones cuando termine de cargar su contenido, sino cuando termine de cargarlo se perderán las acciones asignadas, lo mejor es leer el contenido con MovieClipLoader.loadClip y en el evento onLoadInit situar las acciones.


Como estás leyendo las imágenes con MovieClipLoader.loadClip, solo te queda hacer la otra parte: "en el evento onLoadInit situar las acciones".

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 04 Sep 2008 11:28 am

elchininet escribió:

Bueno parece ser que las dos primera eran verdaderas, por lo tanto debes utilizar mi sugerencia:


entonces debes darle las acciones cuando termine de cargar su contenido, sino cuando termine de cargarlo se perderán las acciones asignadas, lo mejor es leer el contenido con MovieClipLoader.loadClip y en el evento onLoadInit situar las acciones.


Como estás leyendo las imágenes con MovieClipLoader.loadClip, solo te queda hacer la otra parte: "en el evento onLoadInit situar las acciones".


Disculpame, pero no entiendo mucho de esto, estoy empezando y no se como hacerlo

he probado asi pero me carga direcrtamente y yo necesito que sea al pulsar

Código :

mclListener.onLoadInit = function(objetivo_mc:MovieClip) {

   _root.inst_llam.loadMovie("fototeca.swf");


He intentado esto otro pero me da error

Código :

   mclListener.onLoadInit = function(objetivo_mc:MovieClip) {
on(release) { //accion que define cuando el boton del mouse es liberado.
   _root.inst_llam.loadMovie("fototeca.swf");


Gracias.

Por Baloo_sevillano

11 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 04 Sep 2008 12:02 pm
Debe ser de esta forma:

Código ActionScript :

mclListener.onLoadInit = function(objetivo_mc:MovieClip) {

    //accion que define cuando el boton del mouse es liberado.
    objetivo_mc.onRelease = function():Void { 
        _root.inst_llam.loadMovie("fototeca.swf");
    }

}

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 04 Sep 2008 01:13 pm

elchininet escribió:

Debe ser de esta forma:

Código ActionScript :

mclListener.onLoadInit = function(objetivo_mc:MovieClip) {

    //accion que define cuando el boton del mouse es liberado.
    objetivo_mc.onRelease = function():Void { 
        _root.inst_llam.loadMovie("fototeca.swf");
    }

}


Extraordinario, muchísimas gracias. Ahora voy a ver si consigo que en el cursor del botn aparezca la manita cuando lo ponga encima de la foto para que se sepa que ejecuta el enlace.

Por Baloo_sevillano

11 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 04 Sep 2008 03:51 pm
Es que se lo has dicho, donde pusiste:

Código ActionScript :

objetivo_mc.useHandCursor = false;


quítalo para que te salga la mano.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 06 Sep 2008 04:18 pm

elchininet escribió:

Es que se lo has dicho, donde pusiste:

Código ActionScript :

objetivo_mc.useHandCursor = false;


quítalo para que te salga la mano.


Una cosa está clara, no tengo ni idea de esto. Muchísimas gracias por todo.

Un abrazo.

Por Baloo_sevillano

11 de clabLevel



Genero:Masculino  

msie

 

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