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

Hit test

Estas en el tema de Hit test en el foro de Flash y Actionscript en Foros del Web. Hola a todos, una buena pregunta (supongo), creo un clip aleatoriamente y los coloco aleatoriamente: for(i=0; i<15; i++){ mes=this.attachMovie("clip","boton_"+i,i); mus=random(550); mas=random(400); mes._x=mus; mes._y=mas; } Supongo ...
  #1 (permalink)  
Antiguo 07/02/2008, 09:05
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Hit test

Hola a todos, una buena pregunta (supongo), creo un clip aleatoriamente y los coloco aleatoriamente:

for(i=0; i<15; i++){
mes=this.attachMovie("clip","boton_"+i,i);
mus=random(550);
mas=random(400);
mes._x=mus;
mes._y=mas;
}

Supongo que será con hit test pero he probado varias cosas, con bloqueo de script incluído. Así que ahí va la pregunta. ¿Cómo puedo hacer que no se toquen los clips?

Muchas gracias.
__________________
Chanante!
  #2 (permalink)  
Antiguo 07/02/2008, 09:40
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 19 años, 8 meses
Puntos: 12
Re: Hit test

Es un poco rudimentario, pero...
Código:
var arr:Array = new Array();

for (i=0; i<15; i++) {
	var mes:MovieClip = this.attachMovie("clip", "boton_"+i, i);
	situar_mc(mes);
	arr.push(mes._name);
}

function situar_mc (mc:MovieClip) {
	mc._x = random(550);
	mc._y = random(400);

	for (j=0; j<arr.length; j++) {
		var tmp:MovieClip = this[arr[j]];
		if (mc.hitTest(tmp)) {
			situar_mc(mc);
		}
	}
}
He hecho una función para poder llamarla en caso de contacto.
__________________
Los ignorantes se empeñan en enseñar. Los sabios en aprender.
SourceForge
  #3 (permalink)  
Antiguo 07/02/2008, 10:03
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Re: Hit test

Muchas gracias! me va perfecto!
__________________
Chanante!
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 09:21.