layer_sprite_get_index 함수 설명
layer_sprite_get_index 함수는 스프라이트 요소의 현재 이미지 인덱스 값을 가져오는 데 사용됩니다. 이 함수는 스프라이트 요소 ID를 인수로 받아, 해당 스프라이트가 표시하는 이미지 인덱스를 나타내는 실수 값을 반환합니다. 만약 스프라이트 요소가 존재하지 않거나 유효한 스프라이트가 할당되지 않은 경우, 함수는 -1을 반환합니다.
문법
layer_sprite_get_index(sprite_element_id);
인수 설명
| 인수 이름 | 타입 | 설명 |
|---|---|---|
| sprite_element_id | Sprite Element ID | 정보를 가져올 스프라이트 요소의 고유 ID 값 |
반환 값
- 실수 값 또는 -1
활용 예제
다음은 layer_sprite_get_index 함수를 활용하는 예제입니다.
예제 1: 스프라이트 인덱스 확인 및 설정
var lay_id = layer_get_id("sprite_sky");
var spr_id = layer_sprite_get_id(lay_id, "Clouds");
if (layer_sprite_get_index(spr_id) < 4) {
layer_sprite_index(spr_id, 4);
}
이 코드는 "sprite_sky"라는 레이어의 핸들을 가져온 후, 해당 레이어에서 "Clouds"라는 스프라이트 요소의 ID를 얻습니다. 이후, 해당 요소의 이미지 인덱스가 4보다 작으면 인덱스를 4로 설정합니다.
예제 2: 스프라이트 인덱스에 따른 애니메이션 제어
var lay_id = layer_get_id("sprite_character");
var spr_id = layer_sprite_get_id(lay_id, "Hero");
if (layer_sprite_get_index(spr_id) == 0) {
layer_sprite_index(spr_id, 1); // 걷기 애니메이션으로 전환
} else if (layer_sprite_get_index(spr_id) == 1) {
layer_sprite_index(spr_id, 2); // 점프 애니메이션으로 전환
}
이 예제에서는 "sprite_character" 레이어에서 "Hero" 스프라이트의 인덱스를 확인하여, 현재 상태에 따라 애니메이션을 전환합니다.
예제 3: 스프라이트가 존재하는지 확인
var lay_id = layer_get_id("sprite_background");
var spr_id = layer_sprite_get_id(lay_id, "Background");
if (layer_sprite_get_index(spr_id) != -1) {
// 스프라이트가 존재할 때의 처리
show_message("배경 스프라이트가 존재합니다.");
} else {
// 스프라이트가 존재하지 않을 때의 처리
show_message("배경 스프라이트가 존재하지 않습니다.");
}
이 코드는 "sprite_background" 레이어에서 "Background" 스프라이트의 인덱스를 확인하여, 스프라이트가 존재하는지 여부를 판단합니다.