layer_sprite_get_sprite 함수 설명
layer_sprite_get_sprite 함수는 스프라이트 요소의 현재 스프라이트 인덱스를 가져오는 데 사용됩니다. 이 함수는 스프라이트 요소 ID를 인자로 받아 해당 스프라이트 인덱스를 반환합니다. 만약 스프라이트 요소에 스프라이트가 할당되어 있지 않다면, 함수는 -1을 반환합니다.
문법
layer_sprite_get_sprite(sprite_element_id);
인자 설명
| 인자 이름 | 타입 | 설명 |
|---|---|---|
| sprite_element_id | Sprite Element ID | 정보를 가져올 스프라이트 요소의 고유 ID 값 |
반환 값
- 스프라이트 자산 또는 -1
예제
var lay_id = layer_get_id("sprite_sky");
var spr_id = layer_sprite_get_id(lay_id, "Clouds");
if layer_sprite_get_sprite(spr_id) != spr_Clouds {
layer_sprite_change(spr_id, spr_Clouds);
}
위의 코드는 "sprite_sky"라는 이름의 레이어 핸들을 가져온 후, 해당 레이어에서 스프라이트 요소의 ID를 가져옵니다. 이 ID를 사용하여 요소에 할당된 스프라이트를 확인하고, 만약 현재 스프라이트가 "spr_Clouds"가 아니라면 이를 변경합니다.
활용 예제
예제 1: 스프라이트 상태 변경
var lay_id = layer_get_id("sprite_background");
var spr_id = layer_sprite_get_id(lay_id, "Background");
if layer_sprite_get_sprite(spr_id) != spr_NewBackground {
layer_sprite_change(spr_id, spr_NewBackground);
}
예제 2: 스프라이트 애니메이션 제어
var lay_id = layer_get_id("sprite_animation");
var spr_id = layer_sprite_get_id(lay_id, "AnimationSprite");
if layer_sprite_get_sprite(spr_id) != spr_AnimationFrame {
layer_sprite_change(spr_id, spr_AnimationFrame);
}
예제 3: 스프라이트 비활성화
var lay_id = layer_get_id("sprite_objects");
var spr_id = layer_sprite_get_id(lay_id, "ObjectSprite");
if layer_sprite_get_sprite(spr_id) != -1 {
layer_sprite_change(spr_id, -1); // 스프라이트 비활성화
}
이와 같이 layer_sprite_get_sprite 함수를 활용하여 스프라이트의 상태를 동적으로 변경하거나 관리할 수 있습니다.