Trying to give the background briefly: I've created a text handler object that, when given a string after creation, it displays that string one character at a time at the specified location, using string_copy. The text does not display. I've used debug mode to verify that string_copy does work, it's being given the string. I've added draw_text to other places in the game where draw_sprite is working (in the draw event, naturally); doesn't work. I've removed all other instances except the text_handler, to ensure that depth was not a problem. Doesn't work. I don't understand what could possibly be causing this, or how to get around it.
Here's all the code that goes into the text_handler:
text = ""; //The text to be drawn text_speed = .5; //Handled like image_speed. Almost always 1. char_num = 0; //Which character are we on? w = 0; //Maximum number of characters - not the width of the region. h = 0; //Maximum number of lines - not the height of the region.
(h is currently unused.)
draw_set_font(HUD_font) draw_set_color(33023); draw_text_ext(x, y, string_copy(text, 0, char_num), -1, w) char_num += text_speed;
Note: HUD_font is a font I created (it's just 7pt Courier) in the early stages of development for experimentation. I was able to display text with HUD_font at that time, in multiple places. I don't know what changed. I created a new font and changed no settings, and tried to use that one instead; no luck.
When the game is paused, the pause menu object creates a text handler; this is the code:
//text handler, 130, 27, 22, 4 weapon_desc = instance_create(130, 27, text_handler); weapon_desc.text = "Example text for now" weapon_desc.text_speed = 1 weapon_desc.w = 22