draw_get_font 함수 설명
draw_get_font
함수는 현재 텍스트를 그리기 위해 할당된 폰트를 가져오는 기능을 제공합니다. 만약 폰트가 설정되지 않았다면 -1을 반환하며, 설정된 폰트 자산의 핸들을 반환합니다.
문법
draw_get_font();
반환값
- 폰트 자산 핸들
- -1 (폰트가 설정되지 않은 경우)
예제
var _cur_font = draw_get_font();
var _y_offset = 0;
switch (_cur_font) {
case ft_small:
_y_offset = 10;
break;
case ft_medium:
_y_offset = 22;
break;
case ft_big:
_y_offset = 34;
break;
default:
_y_offset = 8;
}
draw_text(room_width / 2, 200 + _y_offset, "MENU");
위의 코드는 현재 적용된 폰트를 가져와서 스위치 문을 실행하여 폰트에 따라 다른 Y 오프셋 값을 적용합니다. 그런 다음 그 오프셋 값을 사용하여 텍스트를 그립니다.
활용 예제
활용 예제 설명 | 코드 스니펫 |
---|---|
현재 폰트에 따라 다른 텍스트 색상 적용 | gml if (_cur_font == ft_small) { draw_set_color(c_red); } else if (_cur_font == ft_medium) { draw_set_color(c_green); } else { draw_set_color(c_blue); } |
폰트 크기에 따라 다른 배경 색상 설정 | gml if (_cur_font == ft_big) { draw_set_color(c_yellow); draw_rectangle(0, 0, room_width, room_height, false); } |
폰트에 따라 다른 텍스트 정렬 방식 적용 | gml if (_cur_font == ft_small) { draw_set_halign(fa_left); } else { draw_set_halign(fa_center); } |
폰트에 따라 다른 애니메이션 속도 설정 | gml if (_cur_font == ft_medium) { speed = 5; } else { speed = 10; } |
폰트에 따라 다른 이미지 그리기 | gml if (_cur_font == ft_big) { draw_sprite(spr_big_image, 1, x, y); } |
이러한 예제들은 draw_get_font
함수를 활용하여 다양한 방식으로 게임의 UI를 동적으로 조정하는 방법을 보여줍니다.