Foros del Web » Creando para Internet » Flash y Actionscript »

Galeria de imagenes

Estas en el tema de Galeria de imagenes en el foro de Flash y Actionscript en Foros del Web. Estoy tratando de generar una pequeña galería de imagenes. Las imagenes se ven pero no consigo que me funcione el evento rollover. Llevo varios dias ...
  #1 (permalink)  
Antiguo 17/02/2008, 15:58
crg
 
Fecha de Ingreso: febrero-2008
Mensajes: 23
Antigüedad: 16 años, 2 meses
Puntos: 0
Galeria de imagenes

Estoy tratando de generar una pequeña galería de imagenes. Las imagenes se ven pero no consigo que me funcione el evento rollover.
Llevo varios dias dandole vueltas, pero no doy con ello.
A continuación muestro el codigo:

for (i=0; i<3; i++)
{
_root.attachMovie("but", "boton"+i, i);
_root["boton"+i]._y = 75*i;
_root["boton"+i]._x = 60*i;
_root["boton"+i].loadMovie("../imgs/C_0001.jpg");

_root["boton"+i].onRollOver = function ()
{
trace("HOLA");
}
}

Muchas gracias.
  #2 (permalink)  
Antiguo 18/02/2008, 01:26
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Re: Galeria de imagenes

La verdad es que el evento sí que funciona. He cogido un botón de bibliotecas comunes le he puesto but en vinculación y cada vez que hago un rollOver me hace el trace (pegando el código). Algo falla en tu botón.
__________________
Chanante!
  #3 (permalink)  
Antiguo 18/02/2008, 03:27
crg
 
Fecha de Ingreso: febrero-2008
Mensajes: 23
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Galeria de imagenes

Con un boton si que funciona, pero no consigo que funcione con un MovieClip.

Gracias.
  #4 (permalink)  
Antiguo 18/02/2008, 06:38
crg
 
Fecha de Ingreso: febrero-2008
Mensajes: 23
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Galeria de imagenes

Si pongo un boton me funciona el Rollover pero no me funciona el loadmovie.
Si pongo un MC me funciona el loadmovie pero no el rollover.
  #5 (permalink)  
Antiguo 18/02/2008, 08:48
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Re: Galeria de imagenes

Una solución es dejar el clip en cuyo contenido metes un botón invisible (botonaco), y un clip (panel) para cargar la imagen:


for (i=0; i<3; i++)
{
_root.attachMovie("but", "boton"+i, i);
_root["boton"+i]._y = 75*i;
_root["boton"+i]._x = 60*i;
_root["boton"+i].panel.loadMovie("../imgs/C_0001.jpg");

_root["boton"+i].botonaco.onRollOver = function ()
{
trace("HOLA");
}
}

Pon el botón invisible en una capa que quede por encima del clip panel. Esto en principio funciona.
__________________
Chanante!
  #6 (permalink)  
Antiguo 18/02/2008, 09:15
crg
 
Fecha de Ingreso: febrero-2008
Mensajes: 23
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Galeria de imagenes

Lo del botonaco, lo veo, lo que no entiendo es para que el clip panel si puedo cargar la imagen directamente en el clip _root["boton"+i]

_root["boton"+i].loadMovie("../imgs/C_0001.jpg");

Muchas gracias.
  #7 (permalink)  
Antiguo 18/02/2008, 09:21
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Re: Galeria de imagenes

Bueno, supongo que estaríamos otra vez al principio, al hacer loadMovie en el clip éste desaparece y pone la imagen, esto se cargaría el clip y su contenido (el botonaco). Así de esta manera sólo sustituyes el clip dentro del clip y se conserva el botón y puedes cargar la imagen. Fácil.

Un saludo
__________________
Chanante!
  #8 (permalink)  
Antiguo 18/02/2008, 10:57
crg
 
Fecha de Ingreso: febrero-2008
Mensajes: 23
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Galeria de imagenes

Perdona sirguy, es que no estoy muy suelto con action script, y no veo donde tengo que definir panel ni botonaco,
Entiendo que botonaco tendria que hacer otro array de ellos para ponerlos encima de los mc.
Pero panel, me pierdo, donde tendria que definirlo?
Por otro lado no entiendo por que hay que poner _root["boton"+i].panel si dentro del _root["boton"+i] no hay nada llamado panel, o mejor dicho no se donde hay que hacerlo para poder llamarlo así.

Si me puedes ayudar o indicarme donde puedo encontrar algun ejemplo parecido, te lo agradezco un monton.

Muchas gracias por tu ayuda.
  #9 (permalink)  
Antiguo 18/02/2008, 16:22
crg
 
Fecha de Ingreso: febrero-2008
Mensajes: 23
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Galeria de imagenes

He conseguido esto, pero ahora solo me carga una imagen, la ultima:

for (i=0; i<3; i++)
{
_root.attachMovie("fotos", "fotos"+i, 50);
_root["fotos"+i].createEmptyMovieClip("contiene", 1+i);
_root["fotos"+i]._y = 75*i;
_root["fotos"+i]._x = 60*i;
_root["fotos"+i].contiene.loadMovie("../imgs/C_0001.jpg");


_root["fotos"+i].onRollOver = function ()
{
trace("HOLA");
}
}
  #10 (permalink)  
Antiguo 18/02/2008, 17:38
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Re: Galeria de imagenes

Hola crg:
Escribe así tu código:
for (i=0; i<3; i++) {
_root.attachMovie("fotos", "fotos"+i, i);
_root["fotos"+i].createEmptyMovieClip("contiene", i+i);
_root["fotos"+i]._y = 75*i;
_root["fotos"+i]._x = 60*i;
_root["fotos"+i].contiene.loadMovie("imagenes/"+ i + ".jpg");
_root["fotos"+i].onRollOver = function() {
trace("HOLA");
};
}

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/

Última edición por Bandit; 20/02/2008 a las 08:52
  #11 (permalink)  
Antiguo 19/02/2008, 03:12
crg
 
Fecha de Ingreso: febrero-2008
Mensajes: 23
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Galeria de imagenes

De muchiiiiiiiiisima ayuda.

Muchas gracias.
  #12 (permalink)  
Antiguo 19/02/2008, 05:51
crg
 
Fecha de Ingreso: febrero-2008
Mensajes: 23
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Galeria de imagenes

Ahora me surge otro problema, ye s que al cargar una imagen en un nuevo holder me sale por detras del resto de fotos, aunque le ponga un numero alto:
Adjunto el codigo:
for (i=0; i<total; i++)
{

_root.attachMovie("fotos", "fotos"+i, i);
_root["fotos"+i].createEmptyMovieClip("contiene", i);
if ((i)%9==0)
{
fila=fila+1
columna=0;
}
else
{
columna=columna+1;
}

_root["fotos"+i]._y = 75*(fila)+55;
_root["fotos"+i]._x = 60*(columna+1);
_root["fotos"+i].contiene.loadMovie("../imgs/img_01_ZW_P.png");

cuadro._visible=false;
_root["fotos"+i].onRollOver = function ()
{

_global.imagenx=this._x;
_global.imageny=this._y;

holder.loadMovie("../imgs/img_01_ZW_G.png);
cuadro._visible=false;




var my_fmt:TextFormat = new TextFormat();
my_fmt.color = 0x000000;
my_txt.text = this._name;
my_txt.setTextFormat(my_fmt);


}
_root["fotos"+i].onRollOut = function ()
{
holder.unloadMovie();
cuadro._visible=false;
my_txt._visible=false;
}


}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:38.