Saludos, resulta que quiero que cuando el personaje colisione con un objeto aparezca un texto, ya he intentado poner el código pero no aparece ningún texto. Luego probé colocando el código en un evento draw y si aparece. Entonces, como hago para que el texto aparezca sin usar el evento draw? O sea, que aparezca desde que el personaje colisione.

De antemano, gracias.
¿Te gustaría crear un videojuego multijugador en línea con GameMaker Studio? Si la respuesta es afirmativa, estás leyendo la firma correcta ;). Visita mi curso alojado en Udemy en el cual enseño a desarrollar uno de manera clara, precisa y simplificada, ¡Échale un vistazo!

https://www.udemy.com/desarrollo-de-juegos-multijugadores-en-linea-con-gamemaker-y-python-3/

Primero, es imposible dibujar fuera de Draw.
Segundo, sólo necesitas crear una variable que tenga un valor que cuando colisione, y luego condicionar este valor en el draw.
Evento step
[Gml]
if place_meeting(x,y,objeto);
colision = true;
else
colision = false;
[/gml]

Draw
[gml]
if colision == true
draw_text(x,y,str);
[/gml]

No olvides definir la variable en create
alaberga regué el café.

BA:STFW&RTFM

tampoco olvides que si usas el evento draw, el sprite se pierde, para que esto no pase al principio del evento draw pones: draw_self();
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Cita de: NiuWeb en Noviembre 29, 2015, 06:12:31 AM
Primero, es imposible dibujar fuera de Draw.
Segundo, sólo necesitas crear una variable que tenga un valor que cuando colisione, y luego condicionar este valor en el draw.
Evento step
[Gml]
if place_meeting(x,y,objeto);
colision = true;
else
colision = false;
[/gml]

Draw
[gml]
if colision == true
draw_text(x,y,str);
[/gml]

No olvides definir la variable en create

Gracias por la recomendacióon, pero no me funcionó, tal vez lo esté usando mal o no sé. Podrias explicarme más detalladamente donde colocar cada acción?
Y perdón por la molestia pero soy nuevo en esto. Y a qué te refieres con definir la variable en Create?
¿Te gustaría crear un videojuego multijugador en línea con GameMaker Studio? Si la respuesta es afirmativa, estás leyendo la firma correcta ;). Visita mi curso alojado en Udemy en el cual enseño a desarrollar uno de manera clara, precisa y simplificada, ¡Échale un vistazo!

https://www.udemy.com/desarrollo-de-juegos-multijugadores-en-linea-con-gamemaker-y-python-3/

Técnicamente, si es posible dibujar en la pantalla fuera del evento Draw, pero se borra cuando GameMaker redibuja la pantalla (dibujando los backgrounds y ejecutando los eventos Draw). Pero en este caso es mejor usar una variable, como sugirió NiuWeb.

Es necesario definir la variable colision en el evento Create para que no lance un error al querer compararla, simplemente escribe esto:
[gml]
//Evento Create
colision = false;
[/gml]
después en el evento Collision cambias el valor de la variable
[gml]
//Evento Collision
colision = true;
[/gml]
y por último en el evento Draw se dibuja el texto dependiendo del valor de colision
[gml]
draw_self();
if( colision ) draw_text( x,y, "Mi texto" );
colision = false;
[/gml]
se usa draw_self para que se dibuje también el sprite del objeto.