sprite_set_offset 함수 설명
sprite_set_offset 함수는 스프라이트의 x 및 y 원점을 설정하는 데 사용됩니다. 이 함수는 스프라이트의 왼쪽 상단 모서리(0,0) 위치를 기준으로 상대적인 값을 받습니다. 아래 이미지는 이 개념을 설명합니다.
주의: 이 함수는 스프라이트 자산에 영향을 미치므로, 이후 이 스프라이트를 사용하는 모든 인스턴스는 동일한 오프셋을 갖게 됩니다.
문법
sprite_set_offset(ind, xoff, yoff);
인자 설명
| 인자 | 타입 | 설명 |
|---|---|---|
| ind | 정수 | 오프셋을 변경할 스프라이트의 인덱스 |
| xoff | 정수 | 원점의 x 위치 |
| yoff | 정수 | 원점의 y 위치 |
반환값
이 함수는 반환값이 없습니다.
예제
sprite_assign(spr_Custom, spr_Base);
sprite_set_offset(spr_Custom, sprite_get_xoffset(spr_Base), sprite_get_yoffset(spr_Base));
위 코드는 "spr_Base"에 인덱스가 있는 스프라이트를 "spr_Custom"에 할당한 후, "spr_Base"의 x 및 y 오프셋 값을 사용하여 새로운 스프라이트의 원점을 설정합니다.
활용 예제
- 스프라이트 원점 조정: 게임에서 캐릭터의 스프라이트를 중앙에 위치시키기 위해 원점을 조정할 수 있습니다.
gml sprite_set_offset(spr_Character, sprite_get_width(spr_Character) / 2, sprite_get_height(spr_Character) / 2); - 다양한 애니메이션 효과: 여러 애니메이션 스프라이트에 대해 동일한 원점을 설정하여 일관된 애니메이션 효과를 만들 수 있습니다.
gml sprite_set_offset(spr_Animation1, 0, 0); sprite_set_offset(spr_Animation2, 0, 0); - UI 요소 배치: UI 스프라이트의 원점을 조정하여 화면의 특정 위치에 정확히 배치할 수 있습니다.
gml sprite_set_offset(spr_Button, 10, 10); - 스프라이트 복사 및 변형: 기존 스프라이트의 오프셋을 복사하여 새로운 스프라이트에 적용할 수 있습니다.
gml sprite_set_offset(spr_NewSprite, sprite_get_xoffset(spr_OriginalSprite), sprite_get_yoffset(spr_OriginalSprite)); - 게임 오브젝트의 위치 조정: 게임 오브젝트가 스프라이트를 사용할 때, 스프라이트의 원점을 조정하여 오브젝트의 위치를 쉽게 변경할 수 있습니다.
gml sprite_set_offset(spr_GameObject, -5, -5);
이와 같은 방법으로 sprite_set_offset 함수를 활용하여 스프라이트의 원점을 조정하고 다양한 효과를 낼 수 있습니다.