Buenas,
tengo un objeto que cuando haces click (evento left pressed) se pone otro objeto encima con un mensaje. Una parte de su sprite es transparente, y veo que si le hace click a este objeto también hace el objeto que tiene detrás.
¿Como puedo evitar esto?
David
P.D: adjunto ejemplo, lo pongo como importación de recursos porque tengo versión 8.1 y sería incompatible con versiones anteriores.
verificas las depth de cada object al momento en que se presiona el click y compara las dos depth asi solo debe afectar al de mayor depth.
ejemplo.
event cerate
dp=; //guardara si es el de mayor o menor profundidad
clickact=false; //indica si le afecta o no el click
Event de colision con el object que esta en cima.
dp=other.depth; //tomo la depth del otro object y la guardo en la var dp
if dp < depth //osea si la produndidad de la instancia con la que coliciona es mayor es por que esta debajo
{clickact=true;}//se activa el uso del click sobre el.
ahora seguro usas el event de mouse click left... Bueno..
antes de todas las acciones colocas
if clickact=true
{
y aqui el codig normal...
}
Vaya, pensaba que solo con el depth sería suficiente.... :'(
De la manera que me has comentado si que queda solucionado, aunque no me gusta tener que controlarlo en todos los objetos....
Muchas gracias!
Tengo otras alternativas mas sencillas que no hacen exactamente lo que quieres pero te pueden ser igual de utiles. Llamaré A al objeto que hace poner al otro encima y llamaré B al de encima que trae el mensaje.
1.-Si B nunca será mas de 1, Haz que A genere un B solo si la cantidad de B es igual a cero. Ocupa instance_count .
2.-Si B siempre queda sobre A, Haz que A genere un B solo si no estan colisionando.
3.-Crea una variable global.creador y ponle el id de la instancia (A o B) que quieres que reaccione al hacerle click, haz que A o B hagan "lo que deben hacer" con el click solo si su self.id es igual a global.creador; así garantizas que sólo sea 1 quien reaccione. (Cuando B es creado es el momento para darle su id a global.creador).
Mis opciones están algo resumidas, las dejo por si te resultan interesantes y aplicables; si necesitas mas detalle sobre alguna pues lo daré.
Saludos ;D