ActionScript - Problema actionscript

<<>>
 
Vista:

Problema actionscript

Publicado por taronja (3 intervenciones) el 26/05/2005 13:25:46
Hola,

Estoy haciendo mi primera web sencilla usando actionscript y tengo un problema que no sé resolver.

Se trata de una galería de fotos, con distintos álbumes y cada álbum tiene sus fotos. Los datos los leo de un archivo xml.

El funcionamiento que quiero es el siguiente: al elegir un de los álbumes, se ven en pequeño las fotos que forman parte de él y al pasar por encima de éstas, se va visualitzando en grande cada fotografía. Parece fácil, no?

No he tenido problemas para crear los álbumes y sus eventos correspondientes (onRollOver, onRollOut y onPress). Pero cuando ya he creado los thumbnails (fotos pequeñas) al querer crear sus eventos, no me funcionan.

Mi pregunta sería:
¿ dentro de un onPress puedo crear un objeto y definir el onPress de este nuevo objeto?

Te adjunto parte del código, por si te aclara la explicación:

____________________________________

//Esto está dentro de un bucle. conAlbum contiene el album "i"

conAlbum.onPress=function()
{
for(j=0;j<numFotos;j++)
{
fotog=album.childNodes[j];
fotogs=fotog.attributes.nom;
conFotos=fotos.attachMovie("foto","foto"+i+"-"+j,50+j+10*i);//
loadMovie(carpetaFotosPetites+ "/" + fotogs,conFotos);
conFotos._x=j*70;

/*lo que viene a continuación es lo que no se si se puede hacer. Pero no me funciona*/
conFotos.onPress=function()
{
conDiapo=projector.attachMovie("diapo","diapo"+i+"-"+j,100+j+10*i);
loadMovie(carpetaFotosGrans+ "/" + fotogs,conDiapo);
}


}



} //conAlbum press

_______________


Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema actionscript

Publicado por Santiago Martín (52 intervenciones) el 26/05/2005 23:43:49
Yo te recomenaría que crearas un boton (de la forma tradicional, no mediante codigo) transparente. Basta con 10px x 10px. Lo guardes en la Biblioteca, lo exportes para ActionScript (para llamarlo con attachMovie) y dejes una instancia en el escenario, pero sin que se vea.
Yo tuve que hacer algo parecido.

Échale un vistazo a este código:
[code]
//Creo una función que cree movieclips vacíos y vaya asignando las imagenes según las va cargando
//del XML
function carga_imagenes(totalcampos, ejex, ejey){
System.useCodepage = true;
datos_xml = new XML();
datos_xml.ignoreWhite = true;
datos_xml.load("paises.xml");
datos_xml.onLoad = function (){
var i = 100;
var prof2 = 200;
for(x=0;x<totalcampos;x++){
bandera = this.childNodes[0].childNodes[x].attributes.bandera;
nombre = this.childNodes[0].childNodes[x].attributes.nombre;

_root.createEmptyMovieClip("miclip" add i, i);
mi_img = _root["miclip" add i];
mi_img.loadMovie("imagenes/banderas_jpg/" add bandera);
mi_img._x = ejex;
mi_img._y = ejey;

//Attacheo los botones
_root.attachMovie("boton","boton" add i, prof2 + i);
with(_root["boton" add i]){
_y = ejey + 6;
_x = 8;
_width = 20;
_height = 12;
_alpha = 0;
}
_root["boton" add i].onRollOver = function(){
_root.attachMovie("tooltiptext", "tooltip", prof2 + 100);
_root.tooltip._x = _xmouse;
_root.tooltip._y = _ymouse;
}
_root["boton" add i].onMouseMove = function(){
_root.attachMovie("tooltiptext", "tooltip", prof2 + 100);
_root.tooltip._x = _xmouse;
_root.tooltip._y = _ymouse;
updateAfterEvent();
}
_root["boton" add i].onRollOut = function(){
_root.tooltip.removeMovieClip();
}
ejey = ejey + 25;
i++;
}
}
}
[/code]

Salu2
Santi M:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema actionscript

Publicado por Taronja (3 intervenciones) el 27/05/2005 09:42:47
Muchas gracias por tu respuesta, Santi.

Yo también uso este método. Cuando creo los álbumes i sus eventos de esta forma, no tengo nigún problema. Lo hago de forma similar a lo que me sugieres.

Pero cada album tiene un numero de fotos pequeñas que, a su vez, tienen sus propios eventos, como el de mostrar la foto en grande al clicar encima.

Aunque hago exactamente lo mismo que en los álbumes, en el caso de la fotos pequeñas no hay forma que me reconozca los eventos. En cambio sí puedo cambiar sus propiedades... no sé qué ocurre.

Seguiré investigando...

Saludos.

Sandra

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema actionscript

Publicado por Santiago Martin (52 intervenciones) el 27/05/2005 12:24:26
Pero una cosa Sandra....

Los eventos no se los tienes que poner a las miniaturas de las imagenes, sino a los botones.
Me refiero, tu tienes por ejemplo un movieclip 'mc1' que ha cargado una imagen, y tiene unos valores 'x' e 'y' y una profundidad determinada, pues justo encima tendrás tu boton transparente con las mismas medidas pero éste tendrá las acciones onPress();

No se si me explico.
Voy a ver si te hago un ejemplo rápido para que lo veas.

Salu2
Santi M
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema actionscript

Publicado por taronja (3 intervenciones) el 27/05/2005 17:45:46
Gracias otra vez, Santi.

Ya resolví el problema con la solución del botón escondido.... hasta la próxima! ;-)

Sandra
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de victor

RE:Problema actionscript

Publicado por victor (2 intervenciones) el 05/10/2005 12:20:50
Evidentemente no te va a funcionar porque el codigo se ejcuta al pulsar.Una vez pulsado ya no funciona el evento interno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar