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)
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


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.

Checa mi canal de Youtube para tutoriales y charlas sobre desarrollo de videojuegos.


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
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


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
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


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!
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy