Cómo hago para que place_meeting me devuelva la ID de la instancia? Yo uso esto:
bala=place_meeting(x,y,obj_arma_bala)
if bala<>-4 and inmune=0
{
codigo....
with bala instance_destroy()
}
Pero me devuelve 1 o 0 (lo que me borra la instancia 1, en mi caso el suelo XD)
por que no usas collision_point(x,y,obj,prec,notme)? te devuelve el id de la instancia:
bala=collision_point(x,y,obj_arma_bala,1,0)
if (bala<>-4 and inmune=0){
codigo....
with bala instance_destroy()
}
Saludos.
Lo que pasa es que quería chequear colisiones desde step, se me hace mucho mas facil programar
La otra sería hacer un evento colision y usar other, pero quiero hacerlo en step
Saludos Amigo Mgbu:
Hay un algoritmo para determinar colisiones llamado "teorema de separación de los ejes" o algo así. :D
Está orientado para trabajar con vectores y matrices, pero siempre se pueden utilizar artilugios matemáticos. Puede que resulte algo difícil de entender al principio, pero es muy fácil y creo que será bastante eficiente. :D
En cuanto termine el proyecto que estoy realizando, comenzaré otro que requiere colisiones rápidas y exactas. Ya estoy estudiando el algoritmo, por eso te lo recomiendo. ;)
Gracias por la atención prestada y disculpen las molestias ocasionadas. ;D
Place meeting por si solo no la devuelve, pero podés dar vuelta el código
bala=-4
with all {if place_meeting(x,y,other) and object_index=obj_arma_bala {other.bala=id}}
if bala<>-4 and inmune=0
{
codigo....
with bala instance_destroy()
}
Cita de: Texic en Abril 23, 2012, 10:08:30 PM
Place meeting por si solo no la devuelve, pero podés dar vuelta el código
bala=-4
with all {if place_meeting(x,y,other) and object_index=obj_arma_bala {other.bala=id}}
if bala<>-4 and inmune=0
{
codigo....
with bala instance_destroy()
}
Anda perfecto :D
Exactamente lo que buscaba
bala=instance_place(x,y,obj_arma_bala)
if bala!=-4 and inmune=0
{
codigo....
with bala instance_destroy()
}
Me había olvidado de esa función, usala que es más eficaz que el código que te di =P
Cita de: romon_28 en Abril 23, 2012, 11:25:49 PM
bala=instance_place(x,y,obj_arma_bala)
if bala!=-4 and inmune=0
{
codigo....
with bala instance_destroy()
}
Justo lo que esperaba que haga place_meeting XD
Gracias!