Buenas, estoy haciendo una bola de plasma, que gira, y al contacto con el suelo esta se destruye, y al destruirse quiero que dependiendo donde esta el objeto solido(o suelo) tenga distinto sprite.
La bola es redonda, y al contacto con ese suelo, quiero que, si el suelo esta abajo, ponga un bojeto con sprite donde la mitad de la bola este cortada y mirando hacia arriba, como pegada al suelo, me explico? entonces, quiero hacer que detecte si el piso solido esta abajo para hacer ese sprite, y si esta a la derecha otro objeto que se vea como que mira a la derecha, y otro si esta arriba para que mire hacia abajo, no se si me explico?
En el evento collision usá point_direction(x,y,other.x,other.y) para saber la dirección en la que se encuentra el objeto contra el q colisionó. Para ahorrarte chequeos extensivos podés tomar el seno y coseno de ese ángulo y redondearlos con round(), luego determinás el ángulo según los resultados de seno y coseno. Si el seno dio 1 o -1 es arriba o abajo, si el coseno dio 1 o -1 es derecha o izquierda respectivamente
Me gustaria que me pudieras explicar mejor la opcion que me diste para ver si obtengo lo que quiero
Acá tengo el ejemplo, la bola detecta hacia que lado está el objeto con el que colisiona y dibuja una flecha
http://dl.dropbox.com/u/18232060/dirr.gmk (http://dl.dropbox.com/u/18232060/dirr.gmk)
gracias! te pasaste sos un cra'! ;D
Una cosa, cuando intento adaptarlo a mi juego, aparece esto:
___________________________________________
ERROR in
action number 1
of Collision Event with object FAs
for object PRUEBA:
Error in code at line 1:
dir=point_direction(x,y,other.x,other.y)
^
at position 31: Unknown variable x
En este caso PRUEBA es mi objeto, y FAs es el piso, que podria estar haciendo mal?
Unknown variable x? Destruiste el objeto FA's o PRUEBA antes en el evento de colisión con alguna función?
Pues, destruia el objeto PRUEBA, pero despues del codigo y colisionar contr ale piso (FAs), ahora le quite eso y me manda el mismo error, pero en otra posicion:
Error in code at line 1:
dir=point_direction(x,y,other.x,other.y)
^
at position 31: Unknown variable x
Ahora es en other.x no en la primera x, quizas sea lo mismo :-[
En algún punto tu objeto FAs se destruye, buscalo, el código tiene q ir antes de q FAs se destruya
Ya revise Texic, y estoy seguro, no elimino el piso en ningun momento ni nada :-\
A ver pasa editable y reviso, no me acuerdo qué más podía causar ese error. También lo causa desactivar los objetos pero no creo q lo hagas