Tengo 1 objeto y agregue 4 instancias del mismo en un room, a cada uno le puse un id cuando los agregue en el room(Rename object instance).
Ahora lo que quiero lograr es que cuando de click al primer botón, que el ultimo boton con el id "ultimo boton" cambie su image_index a la segunda subimagen.
Estuve intentándolo de esta forma:
Que cuando se haga click en el primer boton, ejecutar lo siguiente:
with(ultimo boton) {
image_index = 1;
}
Pero me da error, ni siquiera se ejecuta ???
Lo que quiere es obtener el objeto ya sabiendo su id y modificar sus propiedades a ese instancia en particular.
¿O no hay otra forma mas sencilla de hacer esto?
Tu código tiene varios errores. ultimo boton no es un nombre válido. No se deben usar espacios en los nombres. image_index = 1 no es una manera recomendada de cambiar el sprite, porque estás usando un número (1) y es mucho más seguro usar el nombre del recurso, por ejemplo spr_rojo.
1. Se tiene un objeto obj_A, y se colocan 4 instancias de este objeto en la habitación.
2. Se crea una variable ultimo_boton en algún objeto que no sea obj_A, ejemplo, un objeto controlador.
2. En un evento mouse left pressed de objeto A (objeto A debe tener una máscara de colisión válida)
[gml]obj_controlador.ultimo_boton = id[/gml]
4. En el evento mouse left pressed del botón que hace que cambie el sprite del obj_A:
[gml]
if (ultimo_boton > 10000)
ultimo_boton.sprite_index = spr_mi_sprite
[/gml]
Muchas gracias, ahora me ha funcionado perfectamente, de hecho he implementado mi propia forma basándome en tu ejemplo :)