Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: tristy3 en Agosto 15, 2018, 10:34:50 PM

Título: Como concatenar un array al nombre de un objeto
Publicado por: tristy3 en Agosto 15, 2018, 10:34:50 PM
Buenas muchachos, tengo varios objetos con la terminación de un número (ej. ob1, ob2, ob3), necesito hacer referencia a esos objetos desde un array creado a partir de ciertos datos.

Por ejemplo tengo este array:

comprobarNum[0]=1
comprobarNum[1]=2
comprobarNum[2]=3

Lo que quiero es usar este array como parte del nombre del objeto, intento haciendo esto pero sin éxito:

ob[comprobarNum[0]]

También he probado así y nada:

ob+comprobarNum[0] o ob(comprobarNum[0])

Sé que se debería poder hacer pero no encuentro como resolver esto, agradezco desde ya cualquier aporte que puedan hacerme.
Saludos




Título: Re:Como concatenar un array al nombre de un objeto
Publicado por: BssString en Agosto 15, 2018, 10:56:25 PM
Hola tristy3

Lo que buscas es la función "asset_get_index". Lo que hace es utilizar una String para devolver un recurso del juego, como sprites, objetos, etc.

Acá tienes un ejemplo de su uso
var a_buscar = "ob" + string(comprobarNum[0])
var tu_objeto = asset_get_index(a_buscar)
if tu_objeto != -1 { instance_create(0,0,tu_objeto) }


Saludos
Título: Re:Como concatenar un array al nombre de un objeto
Publicado por: tristy3 en Agosto 15, 2018, 11:34:18 PM
Al parecer funciona, muchas gracias! Ahora resta saber como aplicarlo a mi proyecto, saludos master!
Título: Re:Como concatenar un array al nombre de un objeto
Publicado por: tristy3 en Agosto 16, 2018, 12:06:29 AM
Listo, me funcionó a la perfección. Dejo el código completo que tengo en funcionamiento por si alguien más necesita algo como esto.

var a_buscar = "ob_" + string(global.numcompleto1[0])
var tu_objeto = asset_get_index(a_buscar)
if tu_objeto != -1 {
tu_objeto.sprite_index=sp_AA_1
tu_objeto.select=1
tu_objeto.image_index=0
}


Gracias!