layer_background_get_sprite 함수 설명
layer_background_get_sprite 함수는 배경 요소의 현재 스프라이트를 가져오는 데 사용됩니다. 이 함수는 배경 요소 ID를 인자로 받아 해당 요소에 할당된 스프라이트 인덱스를 반환합니다. 만약 요소에 스프라이트가 할당되어 있지 않다면, 함수는 -1을 반환합니다.
문법
layer_background_get_sprite(background_element_id);
인자 설명
| 인자 이름 | 타입 | 설명 |
|---|---|---|
| background_element_id | Background Element ID | 배경 요소의 고유 ID 값으로, 정보를 가져올 요소를 지정합니다. |
반환 값
- 스프라이트 자산 또는 -1
예제 코드
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"가 아니라면 이를 설정합니다.
활용 예제
예제 1: 배경 스프라이트 변경
var layer_id = layer_get_id("Background_layer");
var bg_id = layer_background_get_id(layer_id);
if (layer_background_get_sprite(bg_id) != spr_NewBackground) {
layer_background_sprite(bg_id, spr_NewBackground);
}
예제 2: 배경 스프라이트 확인 후 다른 작업 수행
var layer_id = layer_get_id("Main_Background");
var bg_id = layer_background_get_id(layer_id);
if (layer_background_get_sprite(bg_id) == spr_Clouds) {
// 특정 작업 수행
show_message("현재 배경은 구름입니다.");
}
예제 3: 배경 요소가 스프라이트를 가지고 있는지 확인
var layer_id = layer_get_id("Sky_Background");
var bg_id = layer_background_get_id(layer_id);
if (layer_background_get_sprite(bg_id) == -1) {
// 스프라이트가 없을 경우 기본 스프라이트 설정
layer_background_sprite(bg_id, spr_DefaultSky);
}
예제 4: 여러 배경 요소의 스프라이트를 일괄 변경
var layers = ["Background_1", "Background_2", "Background_3"];
for (var i = 0; i < array_length(layers); i++) {
var layer_id = layer_get_id(layers[i]);
var bg_id = layer_background_get_id(layer_id);
if (layer_background_get_sprite(bg_id) != spr_NewSprite) {
layer_background_sprite(bg_id, spr_NewSprite);
}
}