draw_text_transformed_colour 함수 설명
draw_text_transformed_colour
함수는 draw_text()
, draw_text_transformed()
, draw_text_colour()
함수의 기능을 결합한 것입니다. 이 함수를 사용하면 텍스트를 스케일링하고 회전시키며, 그라디언트 색상으로 채우고 알파 값을 변경할 수 있습니다. 기본 알파 및 색상 설정은 무시됩니다.
참고: HTML5 타겟에서는 WebGL이 활성화되지 않으면 그라디언트 블렌딩을 사용할 수 없습니다. 그러나 블렌딩 색상을 설정할 수 있으며, 첫 번째 색상과 함께 폰트가 블렌딩됩니다. 이 방식으로 모든 블렌딩은 중복 폰트를 생성하여 캐시에 저장되며, 필요할 때 사용됩니다. 이는 최적의 성능이 아니며, 여러 색상 변경을 사용할 경우 게임 성능이 저하될 수 있습니다. 필요시 font_set_cache_size()
함수를 사용하여 폰트 캐시 크기를 설정할 수 있습니다.
함수 문법
draw_text_transformed_colour(x, y, string, xscale, yscale, angle, c1, c2, c3, c4, alpha);
인수 설명
인수 | 타입 | 설명 |
---|---|---|
x | 숫자 | 그려질 문자열의 x 좌표 |
y | 숫자 | 그려질 문자열의 y 좌표 |
string | 문자열 | 그릴 문자열 |
xscale | 숫자 | 수평 스케일 |
yscale | 숫자 | 수직 스케일 |
angle | 숫자 | 텍스트의 각도 |
c1 | 색상 | 그려질 텍스트의 왼쪽 상단 색상 |
c2 | 색상 | 그려질 텍스트의 오른쪽 상단 색상 |
c3 | 색상 | 그려질 텍스트의 오른쪽 하단 색상 |
c4 | 색상 | 그려질 텍스트의 왼쪽 하단 색상 |
alpha | 숫자 | 텍스트의 알파 값 |
예제 코드
draw_set_halign(fa_center);
draw_set_valign(fa_middle);
image_angle += 1;
draw_text_transformed_colour(room_width / 2, room_height / 2, keyboard_string, 2, 2, image_angle, c_red, c_red, c_yellow, c_yellow, 0.5);
위 코드는 주어진 텍스트를 방의 중앙에 그리며, 텍스트는 회전하고 원래 크기의 두 배로 스케일링됩니다. 색상 그라디언트는 노란색에서 빨간색으로 변하며, 알파 값은 0.5로 설정됩니다.
활용 예제
- 회전하는 텍스트 만들기
gml draw_text_transformed_colour(100, 100, "회전하는 텍스트", 1, 1, current_angle, c_white, c_blue, c_green, c_red, 1);
- 스케일링된 텍스트
gml draw_text_transformed_colour(200, 150, "확대된 텍스트", 3, 3, 0, c_yellow, c_yellow, c_yellow, c_yellow, 1);
- 그라디언트 효과
gml draw_text_transformed_colour(300, 200, "그라디언트 텍스트", 1, 1, 45, c_red, c_orange, c_yellow, c_green, 0.8);
- 알파 값 조정
gml draw_text_transformed_colour(400, 250, "반투명 텍스트", 1, 1, 0, c_white, c_white, c_white, c_white, 0.5);
이와 같은 방식으로 draw_text_transformed_colour
함수를 활용하여 다양한 텍스트 효과를 구현할 수 있습니다.