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를 동적으로 조정하는 방법을 보여줍니다.