??Buenas Gente!!
Soy Legion, nuevito en foro. Gracias por la bienvenida
Estoy tirando mis primeros codigos (u objetos) en GM y me encontre con una duda

Dado 2 objetos A y B
Cuando A colisiona con B, desaparece B y si no hay mas objetos B, desparece C

Esto lo hice con un evento en A (programo con objetos no con codigo)

if  test instance Count (B) = 0
Destroy instance (objeto C)

PERO... aqui mi duda

tambien puedo hacerlo desde el objeto C
con el evento step en C
if  test instance Count (B) = 0
Destroy instance (self)

La pregunta no es cual es la mejor sino, si es correcta la codificacion.
(Espero no haber sido complicado  :-[)

Saludos y Gracias
Legion

#1 Noviembre 27, 2009, 10:23:58 PM Ultima modificación: Noviembre 27, 2009, 10:34:14 PM por metalfox6383
Hola, yo tambi?n soy nuevo en el foro, pero con un poquitin de experiencia en GM.

En realidad la funci?n "instance_destroy()" no lleva ning?n par?metro. Esta funci?n se usa dejando los par?ntesis vac?os. Lo que hace esta funci?n es destruir al objeto que est? usando esta funci?n. Si lo pones en alg?n evento (cualquiera) de tu objeto C, basta con que escribas "instance_destroy()" para destruir el objeto C.

?C?mo hacer para que un objeto destruya a otro? Pues para este caso tienes que utilizar el bloque de c?digo "with", el cual hace que te refieras a otro objeto y no al mismo, por ejemplo, en el evento STEP de tu objeto A puedes escribir tu c?digo pero con la siguiente modificaci?n:

if  test instance Count (B) = 0
with C {
Destroy instance ()
};

Tengo la versi?n 7 del GM y no aparece como funci?n el "destroy_instance" sino, el "instance_destroy", pero creo que se debe a las versiones que estamos usando. En todo caso, lo que te estoy explicando con el "with" deber?a funcionar igual.

Legion, le? las reglas.
Metalfox, no respondas mensajes que incumplan las reglas.
Vim.