배경 요소의 스프라이트 설정하기
이 문서에서는 배경 요소의 스프라이트 인덱스를 설정하는 방법에 대해 설명합니다. layer_background_sprite 함수를 사용하여 배경 요소의 이미지를 변경할 수 있습니다.
함수 개요
layer_background_sprite 함수는 배경 요소의 스프라이트 인덱스를 설정합니다. 이 함수는 다음과 같은 매개변수를 사용합니다:
| 매개변수 | 유형 | 설명 |
|---|---|---|
| background_element_id | 배경 요소 ID | 변경할 배경 요소의 고유 ID 값입니다. |
| sprite_index | 스프라이트 자산 | 배경 요소에 사용할 스프라이트의 인덱스입니다. |
반환값
- N/A
사용 예제
아래 코드는 "Background_sky"라는 이름의 레이어에 대한 핸들을 가져오고, 해당 레이어의 배경 요소 ID를 사용하여 스프라이트를 설정하는 예제입니다.
var lay_id = layer_get_id("Background_sky");
var back_id = layer_background_get_id(lay_id);
if (layer_background_get_sprite(back_id) != spr_Clouds) {
layer_background_sprite(back_id, spr_Clouds);
}
이 코드는 "Background_sky" 레이어의 핸들을 가져온 후, 해당 레이어의 배경 요소 ID를 얻습니다. 그런 다음, 현재 배경 요소에 할당된 스프라이트를 확인하고, 만약 스프라이트가 spr_Clouds가 아니라면 이를 설정합니다.
활용 및 응용 예제
- 다양한 배경 스프라이트 전환하기
- 게임의 특정 이벤트에 따라 배경 스프라이트를 변경할 수 있습니다.
gml if (event_triggered) { layer_background_sprite(back_id, spr_NewBackground); } - 배경 스프라이트 초기화
- 게임 시작 시 기본 배경 스프라이트를 설정합니다.
gml layer_background_sprite(back_id, spr_InitialBackground); - 배경 스프라이트 제거하기
- 배경 요소의 스프라이트를 제거하여 투명하게 만들 수 있습니다.
gml layer_background_sprite(back_id, -1); - 조건에 따른 배경 변경
- 플레이어의 상태에 따라 배경을 변경합니다.
gml if (player_health < 50) { layer_background_sprite(back_id, spr_DangerBackground); } - 레벨에 따른 배경 설정
- 각 레벨에 맞는 배경 스프라이트를 설정합니다.
gml switch (current_level) { case 1: layer_background_sprite(back_id, spr_Level1Background); break; case 2: layer_background_sprite(back_id, spr_Level2Background); break; }
이와 같은 방법으로 layer_background_sprite 함수를 활용하여 게임의 배경을 동적으로 변경할 수 있습니다.