layer_sprite_index 함수 설명
layer_sprite_index 함수는 여러 개의 서브 이미지를 가진 스프라이트 자산의 이미지 인덱스를 설정하는 데 사용됩니다. 이 함수는 스프라이트 요소 ID를 입력받아 해당 요소의 이미지 인덱스를 설정합니다. 만약 서브 이미지의 범위를 벗어난 값을 설정하면, 이미지 인덱스는 반복됩니다.
문법
layer_sprite_index(sprite_element_id, image_index);
인수 설명
| 인수 이름 | 타입 | 설명 |
|---|---|---|
| sprite_element_id | Sprite Element ID | 설정할 스프라이트 요소의 고유 ID 값 |
| index | Real | 스프라이트에 사용할 이미지 인덱스 |
반환값
- N/A
예제
var lay_id = layer_get_id("sprite_trees");
var spr_id = layer_sprite_get_id(lay_id, "gfc_trees");
layer_sprite_index(spr_id, 1);
위 코드는 "sprite_trees"라는 이름의 레이어에 대한 레이어 핸들을 가져오고, 이를 사용하여 해당 레이어의 주어진 스프라이트 요소의 ID를 가져옵니다. 이 ID는 요소의 이미지 인덱스를 변경하는 데 사용됩니다.
활용 예제
- 스프라이트 애니메이션
gml var lay_id = layer_get_id("sprite_animation"); var spr_id = layer_sprite_get_id(lay_id, "gfc_animation"); var current_frame = (current_frame + 1) % total_frames; // 현재 프레임을 업데이트 layer_sprite_index(spr_id, current_frame); - 상호작용에 따른 이미지 변경
gml if (player_interacts) { layer_sprite_index(spr_id, 2); // 상호작용 시 다른 이미지로 변경 } - 타이머에 따른 이미지 변경
gml if (timer > 60) { // 60 프레임 후 layer_sprite_index(spr_id, 3); // 특정 이미지로 변경 timer = 0; // 타이머 초기화 } - 랜덤 이미지 선택
gml var random_index = irandom(total_frames - 1); // 0부터 total_frames-1 사이의 랜덤 인덱스 layer_sprite_index(spr_id, random_index); // 랜덤 이미지로 변경 - 게임 상태에 따른 이미지 변경
gml if (game_state == "paused") { layer_sprite_index(spr_id, 4); // 게임이 일시 정지 상태일 때 이미지 변경 }
이와 같은 다양한 활용 예제를 통해 layer_sprite_index 함수를 효과적으로 사용할 수 있습니다.