Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

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: Instancias y Objetos, ayuda porfavor.  (Leído 482 veces)

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

Desconectado Setha

  • Visitante
  • *
  • Puntos: 22
  • Mensajes: 8
    • Ver Perfil
en: Febrero 15, 2018, 04:49:27 pm
Hola, estoy aqui con otro problema:( , el anterior a este ya lo solucione:).

Bien. Tengo un objeto (obj.enemy1) , ese objeto lo coloque tres veces (en diferentes posiciones) de la room, por lo tanto habran 3 instancias de ese objeto en la misma room.
El problema que tengo es que , cree un boton, que al clickear con el izquierdo, quiero que solamente se destruya una instancia de esas 3.
Pero no se que funcion usar para eliminar una de esas instancias, solamente se me elimina el objeto en si, osea las 3 instancias.

¿Como se identifican cada instancia de la room?

gracias de antemano:( :GMS:

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado nonoroman

Respuesta #1 en: Febrero 15, 2018, 08:08:42 pm
en el creation code de cada enemigo, asignale una variable global (estas anteriormente iniciadas a 0) y le pasas la id del enemigo. ejemplo. ENEMIGO_1 = id;

despues para eliminar al enemigo, comprueba si la variable global ENEMIGO_1 es diferente a 0, quiere decir que ese enemigo existe, por lo tanto, with(ENEMIGO_1){instance_destroy()}

y si esta a cero, entonces, pasa a la siguiente variable.

eso si, recuerda poner la variable ENEMIGO_1 a 0 cuando lo destruyas, para decir que ese enemigo ya no existe.

Espero haberme explicado. Suerte.  ;D
 

Hola, estoy aqui con otro problema:( , el anterior a este ya lo solucione:).

Bien. Tengo un objeto (obj.enemy1) , ese objeto lo coloque tres veces (en diferentes posiciones) de la room, por lo tanto habran 3 instancias de ese objeto en la misma room.
El problema que tengo es que , cree un boton, que al clickear con el izquierdo, quiero que solamente se destruya una instancia de esas 3.
Pero no se que funcion usar para eliminar una de esas instancias, solamente se me elimina el objeto en si, osea las 3 instancias.

¿Como se identifican cada instancia de la room?

gracias de antemano:( :GMS:

PCNONOGames  www.pcnono.es
 
Los siguientes usuarios dieron las gracias a este tema: Yuzo, Setha


Desconectado Ares074

Respuesta #2 en: Febrero 15, 2018, 08:27:14 pm
A cada objeto que colocas en el room se le asigna una id , puedes ver la id del objeto colocando el mause en el objeto que pusiste en el room y abajo a la derecha te aparecerá la id es algo como esto  id 10023401 si tiene 3 objetos iguales en el room cada objeto va atener una id diferente y así los puedes diferenciar , para cambiar un atributo de un objeto sin que afecta a los demás solo utiliza la id como 10023401.speed=5

Código: [Seleccionar]
if instance_exists(la id de la instancia){
  if (si das click al botom )
 
    with  id    instance_destroy();
   
    }

Tal vez algo así no se si este bien aquí lo explican mejorhttp://www.comunidadgm.org/preguntas-y-respuestas/ayuda-con-la-id/

 
Los siguientes usuarios dieron las gracias a este tema: Yuzo, Setha


Desconectado Setha

  • Visitante
  • *
  • Puntos: 22
  • Mensajes: 8
    • Ver Perfil
Respuesta #3 en: Febrero 15, 2018, 09:31:01 pm
en el creation code de cada enemigo, asignale una variable global (estas anteriormente iniciadas a 0) y le pasas la id del enemigo. ejemplo. ENEMIGO_1 = id;

despues para eliminar al enemigo, comprueba si la variable global ENEMIGO_1 es diferente a 0, quiere decir que ese enemigo existe, por lo tanto, with(ENEMIGO_1){instance_destroy()}

y si esta a cero, entonces, pasa a la siguiente variable.

eso si, recuerda poner la variable ENEMIGO_1 a 0 cuando lo destruyas, para decir que ese enemigo ya no existe.

Espero haberme explicado. Suerte.  ;D
 

Hola, estoy aqui con otro problema:( , el anterior a este ya lo solucione:).

Bien. Tengo un objeto (obj.enemy1) , ese objeto lo coloque tres veces (en diferentes posiciones) de la room, por lo tanto habran 3 instancias de ese objeto en la misma room.
El problema que tengo es que , cree un boton, que al clickear con el izquierdo, quiero que solamente se destruya una instancia de esas 3.
Pero no se que funcion usar para eliminar una de esas instancias, solamente se me elimina el objeto en si, osea las 3 instancias.

¿Como se identifican cada instancia de la room?

gracias de antemano:( :GMS:






Gracias men, me ah servido ese dato:)

 


Desconectado nonoroman

Respuesta #4 en: Febrero 15, 2018, 09:45:11 pm
Oleee. Me alegro. Si no te importa dale a dar gracias, please.

Saludos.

en el creation code de cada enemigo, asignale una variable global (estas anteriormente iniciadas a 0) y le pasas la id del enemigo. ejemplo. ENEMIGO_1 = id;

despues para eliminar al enemigo, comprueba si la variable global ENEMIGO_1 es diferente a 0, quiere decir que ese enemigo existe, por lo tanto, with(ENEMIGO_1){instance_destroy()}

y si esta a cero, entonces, pasa a la siguiente variable.

eso si, recuerda poner la variable ENEMIGO_1 a 0 cuando lo destruyas, para decir que ese enemigo ya no existe.

Espero haberme explicado. Suerte.  ;D
 

Hola, estoy aqui con otro problema:( , el anterior a este ya lo solucione:).

Bien. Tengo un objeto (obj.enemy1) , ese objeto lo coloque tres veces (en diferentes posiciones) de la room, por lo tanto habran 3 instancias de ese objeto en la misma room.
El problema que tengo es que , cree un boton, que al clickear con el izquierdo, quiero que solamente se destruya una instancia de esas 3.
Pero no se que funcion usar para eliminar una de esas instancias, solamente se me elimina el objeto en si, osea las 3 instancias.

¿Como se identifican cada instancia de la room?

gracias de antemano:( :GMS:






Gracias men, me ah servido ese dato:)

PCNONOGames  www.pcnono.es
 
Los siguientes usuarios dieron las gracias a este tema: Setha