Buenas a todos. Tengo un misil y un tanque. Y quiero ejecutar una acción dependiendo de donde le impacte el misil en él. El misil puede pegar en todas las flechas rojas, PERO yo quiero que solamente mi tanque actúe con su acción, arriba, abajo, izquierda y derecha. IGNORANDO las diagonales.
El tanque está formado por un único sprite.
(http://img23.imageshack.us/img23/2428/adpg.png) (http://imageshack.us/photo/my-images/23/adpg.png/)
Cuando el misil impacta en el tanque, el tanque crea una plantilla de humo en la zona del impacto.
Me diréis que el misil al impactar podría crearla y dejarla ahí, pero no es lo que quiero. Ya que la posición exacta está marcada por las flechas rojas. Entonces mi tanque crea el objeto "plantilla de humo" para localizar el lugar, en plan esquemático, "no es un arcade". Hasta ahora he probado con esto:
En el step event del tanque:
a=16;
//izquierda
if (place_meeting(x-a,y,misil_obj)){
instance_create(x-64,y+0,humo_obj)
}
//derecha
if (place_meeting(x+a,y,misil_obj)){
instance_create(x+64,y+0,humo_obj)
}
//arriba
if (place_meeting(x,y-a,misil_obj)){
instance_create(x+0,y-64,humo_obj)
}
//abajo
if (place_meeting(x,y+a,misil_obj)){
instance_create(x+0,y+64,humo_obj)
}
Mi código funciona PERO cuando impacta en una diagonal, se vuelve impreciso, porque si pega en la diagonal
abajo- izquierda "por ejemplo", puede detectarlo como abajo, o como izquierda, de manera inexacta.Por lo tanto veo el misil dar en la parte de abajo, pegado a la izquierda, pero me lo cuenta como izquierda y no queda bien.
al colisionar comparar x y del objeto colisionador al colisionado
muy breve pero es desde el movil
Sí, pero el problema reside en que cuando choca con una diagonal, a veces me selecciona el lateral que no es.
el codigo no seria asi y ay q definir las diagonales aver tanke. xy misil xy al colisionar cintrastar posiciones aver si esta tarde puedo tengo ya ordenador pero con otro disco duro y el externo y el anterior interno lo tiene la tienda y alli esta anotaciones ejemplos e gms y esta tarde m voi a sev y pari saludos
Fijate si esto es lo que buscas.
Suerte.
Romon, mil gracias, era lo que buscaba, yo lo estaba haciendo a la inversa y mal.