문자열 너비 측정 함수 설명
string_width_ext
함수는 입력된 문자열의 최대 너비(픽셀 단위)를 반환합니다. 이 함수는 줄 간격 및 줄 바꿈 너비를 고려하여 문자열이 여러 줄로 나뉘었을 때 텍스트 요소 간의 거리 계산에 유용합니다. 현재 정의된 폰트를 사용하여 문자열이 그려질 때의 너비를 측정합니다. 줄 간격 및 너비는 -1로 설정하여 기본 간격을 얻을 수 있습니다.
문법
string_width_ext(string, sep, w);
매개변수 설명
매개변수 | 타입 | 설명 |
---|---|---|
string | String | 너비를 측정할 문자열입니다. |
sep | Real | 문자열이 그려질 때 텍스트 줄 간격(픽셀 단위)입니다. |
w | Real | 줄 바꿈이 발생하기 전 문자열의 최대 너비(픽셀 단위)입니다. |
반환값
- Real: 문자열의 최대 너비(픽셀 단위)
예제
var ww = string_width_ext(str_Story_Text[1], -1, 100);
draw_text_ext(32, 32, str_Story_Text[1], -1, 100);
draw_text_ext(32 + ww, 32, str_Story_Text[2], -1, 100);
위 코드는 주어진 문자열의 너비를 측정하고, 그 너비를 사용하여 두 줄의 텍스트를 그립니다.
활용 예제
예제 1: 텍스트 정렬
var text1 = "안녕하세요!";
var text2 = "반갑습니다!";
var sep = 10; // 줄 간격
var max_width = 150; // 최대 너비
var width1 = string_width_ext(text1, sep, max_width);
var width2 = string_width_ext(text2, sep, max_width);
draw_text_ext(50, 50, text1, sep, max_width);
draw_text_ext(50 + width1, 50, text2, sep, max_width);
예제 2: 텍스트 박스 생성
var box_x = 100;
var box_y = 100;
var box_width = 200;
var box_height = 100;
draw_rectangle(box_x, box_y, box_x + box_width, box_y + box_height, false);
draw_text_ext(box_x + 10, box_y + 10, "이것은 텍스트 박스입니다.", -1, box_width - 20);
예제 3: 동적 텍스트 표시
var dynamic_text = "게임이 시작되었습니다!";
var sep = 5;
var max_width = 250;
var text_width = string_width_ext(dynamic_text, sep, max_width);
draw_text_ext(400 - text_width / 2, 300, dynamic_text, sep, max_width);
이와 같은 방식으로 string_width_ext
함수를 활용하여 다양한 텍스트 관련 기능을 구현할 수 있습니다.