Название: Как подсчитать количество строк текста в draw_text_ext? Отправлено: Solar Off Roader от Июнь 27, 2023, 11:09:29 Приветствую! sm_hi3 Пишу текстовый квест, и вот такая задача - нарисовать фон-плашку, которая могла бы автоматически подстраиваться под размер текста (пример в скриншоте). Текст выводиться с помощью draw_text_ext. Как подсчитать количество строк или может ещё есть какой способ реализовать такое?)
[вложение удалено Администратором] Название: Re: Как подсчитать количество строк текста в draw_text_ext? Отправлено: ярик от Июнь 27, 2023, 12:36:30 Справка:
string_width (https://manual-ru.yoyogames.com/#t=GameMaker_Language%2FGML_Reference%2FStrings%2Fstring_width.htm) string_height (https://manual-ru.yoyogames.com/#t=GameMaker_Language%2FGML_Reference%2FStrings%2Fstring_height.htm) draw_set_halign (https://manual-ru.yoyogames.com/#t=GameMaker_Language%2FGML_Reference%2FDrawing%2FText%2Fdraw_set_halign.htm) (Опционально) Код: //draw_set_halign(fa_left); //draw_set_color(color); draw_roundrect(x, y, x + string_width(string), y + string_height(string), false); // string - рисуемый вами текст. // x, y - координаты рисуемого вами текста. Надеюсь вы разберётесь в данном методе. Название: Re: Как подсчитать количество строк текста в draw_text_ext? Отправлено: Solar Off Roader от Июнь 27, 2023, 14:26:10 Справка: string_width (https://manual-ru.yoyogames.com/#t=GameMaker_Language%2FGML_Reference%2FStrings%2Fstring_width.htm) string_height (https://manual-ru.yoyogames.com/#t=GameMaker_Language%2FGML_Reference%2FStrings%2Fstring_height.htm) draw_set_halign (https://manual-ru.yoyogames.com/#t=GameMaker_Language%2FGML_Reference%2FDrawing%2FText%2Fdraw_set_halign.htm) (Опционально) Код: //draw_set_halign(fa_left); //draw_set_color(color); draw_roundrect(x, y, x + string_width(string), y + string_height(string), false); // string - рисуемый вами текст. // x, y - координаты рисуемого вами текста. Надеюсь вы разберётесь в данном методе. Дело в том, что draw_text_ext рисует текст в установленной ширине и сам переносит текст на следующую строку. По вашему методу GM измерит весь текст в 1 строку и нарисует прямоугольник в одну строку, т к string_height(string) получается равен 1 Код: var ww = string_width(text); var hh = string_height(text); if point_in_rectangle(mouse_x, mouse_y, x + 25, y, x + ww + 25, y + hh) { draw_set_color(c_aqua); draw_set_halign(fa_left); draw_roundrect_colour(x, y, x + ww, y + hh, #2B2E4A, #2B2E4A, false); draw_text_ext(x + 25, y, text, stringHeight, boxWidth); } else { draw_set_color(c_white); draw_set_halign(fa_left); draw_roundrect_colour(x, y, x + ww, y + hh, #2B2E4A, #2B2E4A, false); draw_text_ext(x + 25, y, text, stringHeight, boxWidth); } [вложение удалено Администратором] Название: Re: Как подсчитать количество строк текста в draw_text_ext? Отправлено: SilentPhil от Июнь 27, 2023, 17:45:19 string_width_ext и string_height_ext соответственно
Название: Re: Как подсчитать количество строк текста в draw_text_ext? Отправлено: Solar Off Roader от Июнь 27, 2023, 17:57:40 string_width_ext и string_height_ext соответственно Спасибо! Уже хотел дедовским способом :xD: |