lo que pasa es que en uno de mis proyectos hay disparos y cuando dos disparos chocan puse en la colisión [gml] instance_destroy(obj_Bala2 , true) [/gml]
pero el problema es que si hay 2 balas en el aire y solo 1 choca , las 2 se destruyen y no sé como hacer que solo los objetos que colisionen se destruyen

también pasa que hay un escudo que con 3 colisiones con una bala se destruye (también usé el instance_destroy), pero si hay mas de un escudo todos se destruyen y quisiera que solo el que recibió los 3 disparos se destruya
Atentamente: (y con cariño)
Fabricio Oliva López

twitter: @fabriciOliva
discord: Fabriyin#2173

#1 Enero 01, 2020, 04:36:27 AM Ultima modificación: Enero 01, 2020, 04:38:38 AM por RyZeX
Para que solo los objetos que colisiones se destruyan tienes que hacer en el objeto bala un evento colision con el botón add event pones colisión y pones contra los objetos que quieras que colisiones y pones instance_destroy

Porque con ese codigo, cada vez que un obj bala colisione con algo se eliminará el objeto bala osea todos los obj bala.

Osea pones solo instancr_destroy();
Sin poner nada dentro de ellos paréntesis
RyZeX

#2 Enero 01, 2020, 04:41:39 AM Ultima modificación: Enero 01, 2020, 04:43:27 AM por dixon
Hola, Saludos y feliz año nuevo a todos los lectores.

Ryzex tiene razón, pero Game maker studio 2 al parecer se ha modificado esa función. Puedes hacerlo de esa forma  :D pero ha faltado la instruccion dentro de los paréntesis, intenta colocando dentro de los parentesis la expresion self o la expreson other de la siguiente manera:

instance_destroy(self)  si no re funciona coloca
instance_destroy(other)

Una de esas dos te funcionará. Si no te funciona hazlo saber.
Si Dios quiere; Limpiaré la oficina, puliré el piso y les serviré café a todos, luego, me enseñarán a programar e iré a comprarles más café.

Cita de: dixon en Enero 01, 2020, 04:41:39 AM
Hola, Saludos y feliz año nuevo a todos los lectores.

Ryzex tiene razón. Puedes hacerlo de esa forma  :D pero ha faltado la instruccion dentro de los paréntesis, intenta colocando dentro de los parentesis la expresion self o la expreson other de la siguiente manera:

instance_destroy(self)  si no re funciona coloca
instance_destroy(other)

Una de esas dos te funcionará. Si no te funciona hazlo saber.



Dixon si pone dentro del objeto bala un evento colision y dentro pone el instante destroy con other va a eliminar el objeto con el que esté colisionando.
Nose si me explico bien osea la palabra other se utiliza cuando estás hablando sobre otro objeto
RyZeX

Hola denuevo.

Tienes razón, no he analizado el código ni su aplicación. Pero de todas formas que utilice todas las combinaciones hasta que le salga.

Si la función la vas a colocar en el objeto bala y quieres que se destruya la bala entonces:
instance_destroy() o instance_destroy(self)

Si la función la vas a colocar en el objeto bala y quieres que se destruya el otro objeto
instance_destroy(other)

Si la función la vas a colocar en el otro objeto que no es la bala y quieres que se destruya la bala
instance_destroy(other)

si la función la vas a colocar en el otro objeto que no es la bala y quieres destruir ese objeto
instance_destroy() o
instance_destroy(self)
Si Dios quiere; Limpiaré la oficina, puliré el piso y les serviré café a todos, luego, me enseñarán a programar e iré a comprarles más café.

Cita de: RyZeX en Enero 01, 2020, 04:44:16 AM


Dixon si pone dentro del objeto bala un evento colision y dentro pone el instante destroy con other va a eliminar el objeto con el que esté colisionando.
Nose si me explico bien osea la palabra other se utiliza cuando estás hablando sobre otro objeto

Sorry RyZex , pero lo probé y me funcionó
pero gracias por haber intentado ayudarme , eso es lo que más importa

psdt1: no sabía que citar era como responder a una respuesta

psdt2: Todavía no puedo hacer lo del texto :c
Atentamente: (y con cariño)
Fabricio Oliva López

twitter: @fabriciOliva
discord: Fabriyin#2173