string_width 함수 설명 및 활용 예제
함수 설명
string_width
함수는 입력된 문자열의 너비(픽셀 단위)를 반환합니다. 이 함수는 문자열에 포함된 줄 바꿈을 고려하여 텍스트 요소 간의 거리 계산에 매우 유용합니다. 현재 정의된 폰트를 사용하여 문자열을 그릴 때, 문자열을 구성하는 문자들의 총 너비를 기반으로 거리를 계산할 수 있습니다.
문법
string_width(string);
인자 설명
인자 | 타입 | 설명 |
---|---|---|
string | String | 너비를 측정할 문자열 |
반환값
- 실수형(Real): 문자열의 너비(픽셀 단위)
예제
var ww = string_width(str_Name + " ");
draw_text(32, 32, str_Name);
draw_text(32 + ww, 32, "has won the game!");
위 코드는 주어진 문자열의 너비를 계산한 후, 두 줄의 텍스트를 그립니다. 반환된 문자열 너비를 구분자로 사용합니다.
활용 예제
예제 1: 텍스트 정렬
var text1 = "Hello, ";
var text2 = "World!";
var width1 = string_width(text1);
var width2 = string_width(text2);
draw_text(100 - (width1 + width2) / 2, 50, text1);
draw_text(100, 50, text2);
이 코드는 두 개의 문자열을 중앙에 정렬하여 화면에 그립니다.
예제 2: 동적 텍스트 배치
var playerName = "Player1";
var message = "has joined the game!";
var totalWidth = string_width(playerName + message);
draw_text(50, 100, playerName);
draw_text(50 + string_width(playerName), 100, message);
이 코드는 플레이어 이름과 메시지를 동적으로 배치하여 화면에 표시합니다.
예제 3: 텍스트 박스 생성
var boxWidth = 300;
var text = "This is a long text that needs to fit within a box.";
var textWidth = string_width(text);
if (textWidth > boxWidth) {
// 텍스트가 박스 너비를 초과할 경우 처리
}
draw_text(10, 10, text);
이 코드는 텍스트가 주어진 박스 너비를 초과하는지 확인하고, 초과할 경우 추가 처리를 할 수 있습니다.
예제 4: 텍스트 간격 조정
var str1 = "Start";
var str2 = "End";
var space = 20; // 두 텍스트 사이의 간격
draw_text(50, 150, str1);
draw_text(50 + string_width(str1) + space, 150, str2);
이 코드는 두 개의 텍스트 사이에 지정된 간격을 두고 배치합니다.