Noticias

¡Ayuda a la Comunidad GM, haz una donación!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: ¿Cómo puedo hacer que solo un objeto se destruya al impactar?  (Leído 554 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Fabriyin

lo que pasa es que en uno de mis proyectos hay disparos y cuando dos disparos chocan puse en la colisión
 instance_destroy(obj_Bala2 , true) 
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 Franco Francisco Frank Rodrigo Alejandro Alex Cirilo Oliver Oliva López
 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado RyZeX

  • Visitante
  • *
  • Puntos: 10
  • Mensajes: 8
  • Agradecido: 2 veces
  • Sexo: Masculino
  • Si lo puedes imaginar, lo puedes crear
    • Ver Perfil
Respuesta #1 en: Enero 01, 2020, 04:36:27 am
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
« última modificación: Enero 01, 2020, 04:38:38 am por RyZeX »

RyZeX
 


Desconectado dixon

Respuesta #2 en: Enero 01, 2020, 04:41:39 am
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.
« última modificación: Enero 01, 2020, 04:43:27 am por dixon »

Les serviré el café a mis jefes, luego me enseñarán a programar.
 


Desconectado RyZeX

  • Visitante
  • *
  • Puntos: 10
  • Mensajes: 8
  • Agradecido: 2 veces
  • Sexo: Masculino
  • Si lo puedes imaginar, lo puedes crear
    • Ver Perfil
Respuesta #3 en: Enero 01, 2020, 04:44:16 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
 


Desconectado dixon

Respuesta #4 en: Enero 01, 2020, 04:50:09 am
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)

Les serviré el café a mis jefes, luego me enseñarán a programar.
 


Desconectado Fabriyin

Respuesta #5 en: Enero 01, 2020, 04:51:29 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 Franco Francisco Frank Rodrigo Alejandro Alex Cirilo Oliver Oliva López
 


Desconectado FernandoNavarro

Respuesta #6 en: Febrero 04, 2020, 05:05:44 pm
psdt2: Todavía no puedo hacer lo del texto :c

Hola Fabriyin, ¿qué cosa con el texto?