Bueno, había puesto otra duda en el anterior post pero como no tiene nada que ver y puede que esta se extienda mas he decidido abrir un post para preguntar mas concretamente..

Veamos, lo que necesito saber es si puedo acceder (imagino que si) a información de las instancias que hay en pantalla de un objeto. Por ejemplo necesito saber sobre que instancias has hecho click y las has seleccionado para poder trabajar con ellas y poder sumarlas entre si, o eliminarlas, etc...

Un saludo y gracias!

Para eso tenes que obtener la id de la instancia.
Hay varias funciones que devuelven el id (busca en el manual  instance_ ).
Lo mejor es guardar ese valor en una variable, array, lista, etc, por ejemplo objeto=instance_position(mouse_x,mouse_y, enemigo), esto guarda en la variable objeto, la id de un objeto enemigo.
Si por ejemplo queres saber dibujar en pantalla la velocidad(speed) de esa instancia  draw_text(10,10, objeto.speed)

Cita de: 3dgeminis en Junio 18, 2017, 07:50:28 PM
Para eso tenes que obtener la id de la instancia.
Hay varias funciones que devuelven el id (busca en el manual  instance_ ).
Lo mejor es guardar ese valor en una variable, array, lista, etc, por ejemplo objeto=instance_position(mouse_x,mouse_y, enemigo), esto guarda en la variable objeto, la id de un objeto enemigo.
Si por ejemplo queres saber dibujar en pantalla la velocidad(speed) de esa instancia  draw_text(10,10, objeto.speed)

Entiendo mas o menos como hacerlo pero no sé si se aplica a lo que quiero.

Yo tengo 15 instancias del mismo objeto y quiero saber cuales tienen la variable intSelected en "true". ¿Como haría algo así?

y si las emparentas en un objeto, y el código lo llame a ese parent

if obj_parent.variable == true {bla bla}
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Cita de: kostra en Junio 18, 2017, 09:00:46 PM
y si las emparentas en un objeto, y el código lo llame a ese parent

if obj_parent.variable == true {bla bla}

No he entendido esto xD

-creas un objeto sin sprite llamado obj_parentmuros (porque trata de eso de tu otro post no? de muros no? xd)
-en el código donde tienes que verificar cada una de las instancias, pones:
[gml]if obj_parentmuros.variable == true
{
    //lo que hace
}[/gml]

variable pues esa que quieres verificar :B
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Cita de: kostra en Junio 18, 2017, 09:30:00 PM
-creas un objeto sin sprite llamado obj_parentmuros (porque trata de eso de tu otro post no? de muros no? xd)
-en el código donde tienes que verificar cada una de las instancias, pones:
[gml]if obj_parentmuros.variable == true
{
    //lo que hace
}[/gml]

variable pues esa que quieres verificar :B

No.. no es mio el otro post xD

independientemente de sea tuyo o no el post ese, eso es lo que pides, o lo que entendí que pides xD
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Cita de: kostra en Junio 18, 2017, 10:13:22 PM
independientemente de sea tuyo o no el post ese, eso es lo que pides, o lo que entendí que pides xD

Pero la variable ya está dentro de un objeto, yo quiero verificar si esa variable está en true y después destruir las instancias que tengan esa variable en true.

:S !!!

pues en el mismo objeto pones una variable y la verificas, si se aplica en todas las instancias es porque estarás nombrando el objeto al verificar la variable :S

-create:
variable = false;

-step:
if variable {lo que pasa al estar en true}


cualquier lectura de cualquier instancia en la room, que haga una lectura de su step, afectará a ningúna otra instancia más que a sí misma.
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Creo que el problema se puede resolver con la palabra with (en un objeto controlador)

Para sumar valores asignados a las instancias de "obj_x"
[gml]
global.suma = 0;
with( obj_x ){ //revisar todas las instancias de obj_x
   if( intSelected == true ) //si esta seleccionado
      global.suma += valor; //agregar valor a global.suma
}
[/gml]

Para destruir las instancias selecccionadas
[gml]
with( obj_x ){ //revisar todas las instancias de obj_x
   if( intSelected == true ) //si esta seleccionado
      instance_destroy(); //destruir
}
[/gml]