Hola, saludos.

Quizás hiciste algo como esto:
draw_text(x,y,”Soy el objeto x”);
Lo adecuado es introducir el texto dentro de una variable y usar esa variable como el siguiente código:
variableTexto=”soy el objeto x”;
draw_text(x,y,variableTexto);
En el evento creación (CREATE) también deberás colocar:
variableTexto=”soy el objeto x”;
Ahora mencionas a un objeto que capturará el texto que contenga la instancia luego de colisionar con ella.
Para resolver eso debemos identificar a los objetos que intervienen en el proceso:
objetoTexto: objeto que contiene el texto, el cual tiene varias instancias.
objetoCapturador: objeto que capturará el texto de alguna instancia del objetoTexto.
Tambien debemos identificar las variables que intervendrán en el proceso:
variableTexto: es la variable del objetoTexto que contiene el texto del objeto la cual varía en cada instancia.
variableCaptura: es la variable del objetoCapturador la cual almacenará el texto que contenga la instancia con la cual colisione.
Entonces el proceso es el siguiente:
1. El objetoCapturador colisiona con una instancia del objetoTexto.
2. El objetoCapturador identifica a la instancia.
3. El objetoCapturador toma el texto almacenado en la variableTexto del objetoTexto.
4. El objetoCapturador almacena el texto capturado en su propia variableCaptura.
Códigos necesarios para el objetoCapturador:
“OBJETOCAPTURADOR.”
1. El objetoCapturador colisiona con una instancia del objetoTexto.
Supongo que estás usando un evento de colision o quizás estas usando place_empty o place_free o place_meeting, u otra técnica para interpretar una colision.
2. El objetoCapturador identifica a la instancia:
En el evento de colisión deberás colocar:
nnn=instance_nearest(x,y,objectTexto);
variableCaptura = nnn.variableTexto;
Listo, el objeto capturador tiene en su variableCaptura el valor de la variableTexto de la instancia con la cual ha colisionado.
¿Cómo funciona?
1. La función instance nearest devuelve o retorna el id o identificador único de la instancia más cercana al punto indicado, en este cado los puntos son x,y los cuales hacen referencia a la posición del objetoCapturador.
2. ¿Cómo es eso que devuelve? , Respuesta: Eso quiere decir que nos dará el nombre único de la instancia.
3. ¿Qué es el nombre único? , Respuesta: Es el id, o el identificador único que tiene cada instancia, es su nombre.
4. ¿Para qué quiero el identificador único? , Respuesta: Con el identificador único podemos acceder a cualquier variable interna de la instancia.
5. ¿Cómo obtenemos una variable interna de la instancia? ,Respuesta:
a. Primero almacenamos su identificador único en una variable, en este caso la llamaremos nnn.
nnn=instance_nearest(x,y,objetoTexto);
Esto quiere decir que ahora la variable nnn contiene el nombre único de la intancia.
b. Luego le colocamos un punto seguido de la variable para acceder a cualquier otra variable interna de la instancia.
nnn.x
nnn.y
nnn.sprite_index
nnn.speed
nnn.hspeed
nnn.image_index
c. Luego almacenamos en una variable el valor de la variable a obtener:
variableCapturadora = nnn.variableTexto;