string_height_ext 함수 설명
string_height_ext
함수는 입력된 문자열의 높이를 픽셀 단위로 반환합니다. 이 함수는 줄 간격과 줄 바꿈 너비를 고려하여 문자열의 높이를 계산하는 데 유용합니다. 줄 바꿈 너비는 문자열이 줄 바꿈이 삽입되기 전에 차지할 수 있는 픽셀 수로 정의됩니다. 이 함수는 여러 줄에 걸쳐 그려질 때 문자열의 실제 길이와 함께 문자열을 구성하는 글자의 가장 높은 부분을 기준으로 텍스트 요소 간의 거리를 계산하는 데 매우 유용합니다.
함수 문법
string_height_ext(string, sep, w);
매개변수 설명
매개변수 | 타입 | 설명 |
---|---|---|
string | String | 높이를 측정할 문자열 |
sep | Real | 문자열이 그려질 때 텍스트 줄 간의 픽셀 거리 |
w | Real | 문자열이 줄 바꿈되기 전 차지할 최대 너비 (픽셀 단위) |
반환값
- Real: 문자열의 높이 (픽셀 단위)
활용 예제
아래의 예제는 주어진 문자열의 높이를 계산하고, 두 줄의 텍스트를 그리는 방법을 보여줍니다.
var hh = string_height_ext(str_Story_Text[1], -1, 100);
draw_text_ext(32, 32, str_Story_Text[1], -1, 100);
draw_text_ext(32, 32 + hh, str_Story_Text[2], -1, 100);
위의 코드는 주어진 문자열의 높이를 계산하고, 반환된 총 문자열 높이를 구분자로 사용하여 두 줄의 텍스트를 그립니다.
추가 활용 예제
- 문자열 높이 계산 후 정렬하기
gml var height1 = string_height_ext("첫 번째 줄", -1, 200); var height2 = string_height_ext("두 번째 줄", -1, 200); var totalHeight = height1 + height2 + 10; // 10픽셀의 여백 추가 draw_text_ext(50, 50, "첫 번째 줄", -1, 200); draw_text_ext(50, 50 + totalHeight, "두 번째 줄", -1, 200);
- 여러 줄의 텍스트를 동적으로 그리기
gml var lines = ["첫 번째 줄", "두 번째 줄", "세 번째 줄"]; var yOffset = 50; for (var i = 0; i < array_length(lines); i++) { var lineHeight = string_height_ext(lines[i], -1, 200); draw_text_ext(50, yOffset, lines[i], -1, 200); yOffset += lineHeight; // 다음 줄의 Y 위치 조정 }
- 텍스트 박스의 높이 계산하기
gml var textBoxWidth = 300; var textBoxHeight = 0; var textLines = ["이것은 첫 번째 줄입니다.", "이것은 두 번째 줄입니다.", "이것은 세 번째 줄입니다."]; for (var i = 0; i < array_length(textLines); i++) { textBoxHeight += string_height_ext(textLines[i], -1, textBoxWidth); } draw_rectangle(10, 10, 10 + textBoxWidth, 10 + textBoxHeight, false);
이 예제들은 string_height_ext
함수를 활용하여 텍스트의 높이를 계산하고, 다양한 방식으로 텍스트를 그리는 방법을 보여줍니다.