draw_skeleton 함수 설명
draw_skeleton 함수는 Spine과 같은 스켈레탈 애니메이션 프로그램을 사용하여 생성된 스프라이트에만 사용됩니다. 일반적인 그리기 함수(예: draw_self())를 사용하여 이러한 스프라이트를 그릴 수 있지만, 특정 프레임을 그리거나 스킨 텍스처를 변경하고 싶을 때 이 함수를 사용할 수 있습니다. 이 함수는 스프라이트 인덱스와 애니메이션 이름을 받아 해당 프레임을 가져오고, 사용할 스킨 이름과 프레임 값을 지정합니다.
함수 구문
draw_skeleton(sprite, animname, skinname, frame, x, y, xscale, yscale, rot, colour, alpha);
매개변수 설명
| 매개변수 | 유형 | 설명 |
|---|---|---|
| sprite | Sprite Asset | 그릴 스프라이트의 인덱스입니다. |
| animname | String | 프레임을 가져올 애니메이션의 이름입니다. |
| skinname | String | 사용할 스킨의 이름입니다. |
| frame | Real | 그릴 애니메이션 프레임 (0부터 image_number - 1까지). |
| x | Real | 스프라이트를 그릴 x 좌표입니다. |
| y | Real | 스프라이트를 그릴 y 좌표입니다. |
| xscale | Real | 스프라이트의 수평 스케일 (1 = 정상, 0.5 = 절반 등). |
| yscale | Real | 스프라이트의 수직 스케일 (1 = 정상, 0.5 = 절반 등). |
| rot | Real | 스프라이트의 회전 각도 (0 = 정상, 90 = 90도 반시계 방향). |
| colour | Colour | 스프라이트와 혼합할 색상입니다. |
| alpha | Real | 스프라이트의 알파 값 (0 = 투명, 1 = 불투명). |
반환값
N/A
활용 예제
- 기본 스켈레탈 애니메이션 그리기
gml draw_skeleton(spr_Jump, "jump", "skin1", 0, x, y, image_xscale, image_yscale, image_angle, c_white, 0.5); - 다른 애니메이션 프레임 그리기
gml draw_skeleton(spr_Run, "run", "skin2", 1, x + 10, y, 1, 1, 0, c_red, 1); - 스케일과 회전 적용하기
gml draw_skeleton(spr_Attack, "attack", "skin1", 2, x, y, 1.5, 1.5, 45, c_blue, 0.8); - 투명도 조절하기
gml draw_skeleton(spr_Idle, "idle", "skin1", 0, x, y, 1, 1, 0, c_green, 0.3); - 다양한 위치에 그리기
gml draw_skeleton(spr_Fall, "fall", "skin1", 0, x - 20, y + 20, 1, 1, 0, c_yellow, 1);
이와 같은 예제를 통해 draw_skeleton 함수를 활용하여 다양한 애니메이션 효과를 구현할 수 있습니다.