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

eventos para clips de script

Estas en el tema de eventos para clips de script en el foro de Flash y Actionscript en Foros del Web. Hola, primero decir que no sé si estoy en el foro correcto, si no es así, lo siento, avisenme y procuraré no volver a hacerlo, ...
  #1 (permalink)  
Antiguo 16/02/2005, 01:47
 
Fecha de Ingreso: octubre-2003
Mensajes: 18
Antigüedad: 20 años, 6 meses
Puntos: 0
eventos para clips de script

Hola, primero decir que no sé si estoy en el foro correcto, si no es así, lo siento, avisenme y procuraré no volver a hacerlo, grácias.

Estoy cargando una imagen (con intención que sean más de una las que se van a cargar) y una vez cargada quiero darle dos eventos:
- onRollOver
- onMouseDown
He provado con el roll over pero nada, no sé dónde estoy haciendo algo mal.
Podrian ayudarme?
Les envio el código para que vean mejor como lo hago.
Muchas grácias.
Código:
quinProducte="cadires";
pagines=0;
nomProducte._visible=false;
_root.createEmptyMovieClip("imatge",1);

producte=new XML();
producte.ignoreWhite=1;

parseja=function(exit){
	if(exit){
		//trace(producte.firstChild.childNodes.length);
		quants=producte.firstChild.childNodes.length;
		for(i=0;i<quants;i++){ //recorre tots els tipus de mobles que tenim (submenús)
			if((producte.firstChild.childNodes[i].nodeName)==quinProducte){
				//trace("estic a cadires");
				pagines=producte.firstChild.childNodes[i].childNodes.length;
				//controlar si tenim més d'una pàgina
				prodAct=producte.firstChild.childNodes[i].childNodes[0].childNodes[0];
				//trace(prodAct.attributes.foto);
				imatge.loadMovie(prodAct.attributes.foto);
				
				imatge._alpha=30;
				imatge.nom=prodAct.attributes.nom;
				imatge.desc=prodAct.attributes.desc;
				imatge.material=prodAct.attributes.material;
				imatge.disseny=prodAct.attributes.disseny;
				
				imatge.onRollOver=function(){
					nomProducte._visible=true;
					this._alpha=100;
					nomProducte.text=this.nom;
				}
			}
		}
	}
}
producte.onLoad=parseja;
producte.load("cadires.xml");
  #2 (permalink)  
Antiguo 16/02/2005, 04:41
 
Fecha de Ingreso: febrero-2002
Mensajes: 442
Antigüedad: 22 años, 2 meses
Puntos: 2
amigo... prueba lo siguiente...

el evento RollOver o el que sea... definilo fuera de la funcion de carga de XML...

yo lo pondria ... asi...

Código:
parseja=function(exit){
	if(exit){
		//trace(producte.firstChild.childNodes.length);
		quants=producte.firstChild.childNodes.length;
		for(i=0;i<quants;i++){ //recorre tots els tipus de mobles que tenim (submenús)
			if((producte.firstChild.childNodes[i].nodeName)==quinProducte){
				//trace("estic a cadires");
				pagines=producte.firstChild.childNodes[i].childNodes.length;
				//controlar si tenim més d'una pàgina
				prodAct=producte.firstChild.childNodes[i].childNodes[0].childNodes[0];
				//trace(prodAct.attributes.foto);
				imatge.loadMovie(prodAct.attributes.foto);
				
				imatge._alpha=30;
				imatge.nom=prodAct.attributes.nom;
				imatge.desc=prodAct.attributes.desc;
				imatge.material=prodAct.attributes.material;
				imatge.disseny=prodAct.attributes.disseny;
				
			}
		}
	}
}

imatge.onRollOver=function(){
	this.nomProducte._visible=true;
	this._alpha=100;
	this.nomProducte.text=this.nom;
}
imatge.onPress=function(){
	this.nomProducte._visible=true;
	this._alpha=100;
	this.nomProducte.text="Pressiona Boton";
}
imatge.onRollOut=function(){
	this.nomProducte._visible=false;
	this._alpha=30;
	this.nomProducte.text="";
}
producte.onLoad=parseja;
producte.load("cadires.xml");

Bueno!... algo asi...esa es la idea... fijate y acomdalo!
__________________
tech-nico.com

Última edición por OXIGENO; 16/02/2005 a las 04:44
  #3 (permalink)  
Antiguo 16/02/2005, 11:09
 
Fecha de Ingreso: octubre-2003
Mensajes: 18
Antigüedad: 20 años, 6 meses
Puntos: 0
He probado como me dices y no funciona. Es como si no me reconociera el rollover!!!
No entiendo qué es lo que no funciona!
  #4 (permalink)  
Antiguo 16/02/2005, 11:18
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 3 meses
Puntos: 193
Al hacer un LooadMovie el Clip contenededor (Aun no se porque) no se le pueden aplicar algunos metodos sobre todo los eventos del raton...

La solucion es: crear un MovieClip anidado y ahi hacer el LoadMovie mientras que los esventos se los asignamos al Clip Padre. Algo asi:

Código:
quinProducte = "cadires";
pagines = 0;
nomProducte._visible = false;
holder = _root.createEmptyMovieClip("imatge", 1);
image = holder.createEmptyMovieClip("image", 1);
producte = new XML();
producte.ignoreWhite = 1;
parseja = function (exit) {
	if (exit) {
		quants = producte.firstChild.childNodes.length;
		for (i=0; i<quants; i++) {
			if ((producte.firstChild.childNodes[i].nodeName) == quinProducte) {
				pagines = producte.firstChild.childNodes[i].childNodes.length;
				prodAct = producte.firstChild.childNodes[i].childNodes[0].childNodes[0];
				image.loadMovie(prodAct.attributes.foto);
				holder._alpha = 30;
				holder.nom = prodAct.attributes.nom;
				holder.desc = prodAct.attributes.desc;
				holder.material = prodAct.attributes.material;
				holder.disseny = prodAct.attributes.disseny;
				holder.onRollOver = function() {
					nomProducte._visible = true;
					this._alpha = 100;
					nomProducte.text = this.nom;
				};
			}
		}
	}
};
producte.onLoad = parseja;
producte.load("cadires.xml");

Saludos!!
  #5 (permalink)  
Antiguo 16/02/2005, 12:06
 
Fecha de Ingreso: octubre-2003
Mensajes: 18
Antigüedad: 20 años, 6 meses
Puntos: 0
Ahora si!!!!
Muchas gracias TMeister.
Con un holder si funciona.

Cheeba.
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 12:13.