나인 슬라이스 함수
나인 슬라이스(Nine Slice) 기능은 스프라이트 에디터의 나인 슬라이스 섹션 외에도, GameMaker에서 런타임 중 스프라이트의 나인 슬라이스 속성을 설정할 수 있는 함수들을 제공합니다. 이 함수들에 대해 읽기 전에, 나인 슬라이스 기법에 대한 이해를 돕기 위해 관련 페이지를 먼저 읽는 것이 좋습니다.
나인 슬라이스 속성 함수
다음 함수들은 런타임 중 스프라이트 자산의 나인 슬라이스 속성을 검색하고 변경하는 데 사용할 수 있습니다:
| 함수 이름 | 설명 |
|---|---|
sprite_nineslice_create |
새로운 나인 슬라이스를 생성합니다. |
sprite_get_nineslice |
스프라이트의 나인 슬라이스 속성을 가져옵니다. |
sprite_set_nineslice |
스프라이트의 나인 슬라이스 속성을 설정합니다. |
이 함수들은 나인 슬라이스 구조체(Nine Slice struct)를 사용하며, 해당 구조체의 내용에 대해서는 관련 페이지를 참조할 수 있습니다.
나인 슬라이스 스프라이트 그리기
나인 슬라이스 스프라이트를 그리기 위한 별도의 함수는 없으며, 기존의 스프라이트 그리기 함수와 함께 작동합니다. 단, 스프라이트의 일부만 그리거나 왜곡하는 함수(예: draw_sprite_part() 또는 draw_sprite_pos())는 제외됩니다.
나인 슬라이스 스프라이트를 그릴 때는 draw_sprite_stretched() 함수를 사용하는 것이 좋습니다. 이 함수는 스프라이트의 절대 크기를 픽셀 단위로 지정할 수 있어 나인 슬라이스와 함께 사용하기에 용이합니다. 또한, 스케일 값을 사용하는 draw_sprite_ext() 함수도 사용할 수 있습니다.
활용 예제
예제 1: 나인 슬라이스 스프라이트 생성
var my_sprite = sprite_nineslice_create(my_sprite_index, 10, 10, 20, 20);
예제 2: 나인 슬라이스 속성 가져오기
var nineslice_properties = sprite_get_nineslice(my_sprite_index);
예제 3: 나인 슬라이스 속성 설정
sprite_set_nineslice(my_sprite_index, new_properties);
예제 4: 나인 슬라이스 스프라이트 그리기
draw_sprite_stretched(my_sprite_index, 0, x, y, width, height);
예제 5: 스케일을 사용한 나인 슬라이스 스프라이트 그리기
draw_sprite_ext(my_sprite_index, 0, x, y, scale_x, scale_y, rotation, color, alpha);