draw_sprite_part 함수 설명
draw_sprite_part
함수는 주어진 방의 특정 위치에 스프라이트의 일부를 그릴 수 있는 기능을 제공합니다. 이 함수는 withdraw_sprite()
와 유사하게 작동하며, 그리려는 스프라이트와 서브 이미지(프레임)를 지정한 후, 스프라이트 내에서 그릴 영역의 상대 좌표를 제공해야 합니다.
주요 개념
- 좌표 설정: 좌측 위치가 0이고 상단 위치가 0이면 스프라이트의 좌상단 모서리를 의미합니다. 이후의 모든 좌표는 이 위치를 기준으로 합니다.
- 자동 크롭 주의: 텍스처 페이지가 자동 크롭을 허용하는 경우, 이 함수가 예상대로 작동하지 않을 수 있습니다. 스프라이트 주변의 "빈" 공간이 제거되기 때문입니다. 이 문제를 해결하려면 텍스처 그룹 편집기에서 자동 크롭 옵션을 비활성화해야 합니다.
- 비트맵 스프라이트 전용: 이 함수는 비트맵 스프라이트에만 유용하며, 벡터 또는 JSON(Spine) 스프라이트에는 작동하지 않습니다.
함수 구문
draw_sprite_part(sprite, subimg, left, top, width, height, x, y);
매개변수 설명
매개변수 | 유형 | 설명 |
---|---|---|
sprite | Sprite Asset | 그릴 스프라이트 |
subimg | Real | 그릴 스프라이트의 서브 이미지(프레임) |
left | Real | 그릴 영역의 좌측 상단 모서리의 x 좌표 |
top | Real | 그릴 영역의 좌측 상단 모서리의 y 좌표 |
width | Real | 그릴 영역의 너비 |
height | Real | 그릴 영역의 높이 |
x | Real | 스프라이트를 그릴 위치의 x 좌표 |
y | Real | 스프라이트를 그릴 위치의 y 좌표 |
반환값
- N/A
활용 예제
- 스프라이트의 특정 부분을 그리기:
draw_sprite_part(sprite_index, image_index, 4, 0, sprite_width - 16, sprite_height - 16, x, y);
- 스프라이트의 중앙 부분을 그리기:
draw_sprite_part(sprite_index, image_index, sprite_width / 4, sprite_height / 4, sprite_width / 2, sprite_height / 2, x, y);
- 애니메이션 프레임을 변경하여 그리기:
draw_sprite_part(sprite_index, (image_index + 1) % sprite_get_number(sprite_index), 0, 0, sprite_width, sprite_height, x, y);
- 다양한 크기의 스프라이트 부분을 그리기:
draw_sprite_part(sprite_index, image_index, 10, 10, 20, 20, x, y);
- 스프라이트의 특정 영역을 그리기 (예: 16x16 크기):
draw_sprite_part(sprite_index, image_index, 0, 0, 16, 16, x, y);
이와 같이 draw_sprite_part
함수를 활용하여 스프라이트의 특정 부분을 다양한 방식으로 그릴 수 있습니다.