레이어 가시성 확인 함수
layer_get_visible 함수는 특정 레이어가 보이는지 여부를 확인하는 데 사용됩니다. 이 함수는 레이어 핸들(레이어를 생성할 때 layer_create()를 사용하여 얻은 핸들)이나 레이어 이름(문자열 형태)을 인수로 받아들입니다. 함수는 레이어가 보이면 true를, 그렇지 않으면 false를 반환합니다.
문법
layer_get_visible(layer_id)
인수 설명
| 인수 이름 | 타입 | 설명 |
|---|---|---|
| layer_id | String 또는 Layer | 타겟 레이어의 핸들(또는 문자열 형태의 레이어 이름) |
반환 값
- Boolean: 레이어가 보이면
true, 아니면false
예제
다음 코드는 "Instances"라는 이름의 레이어 핸들을 가져온 후, 해당 레이어가 보이는지 확인하고, 그에 따라 레이어의 가시성을 토글합니다.
var lay_id = layer_get_id("Instances");
if (layer_get_visible(lay_id)){
layer_set_visible(lay_id, false);
} else {
layer_set_visible(lay_id, true);
}
활용 예제
- 게임 오버 화면 표시
gml var game_over_layer = layer_get_id("GameOver"); if (!layer_get_visible(game_over_layer)) { layer_set_visible(game_over_layer, true); } - UI 요소 토글
gml var ui_layer = layer_get_id("UI"); if (layer_get_visible(ui_layer)) { layer_set_visible(ui_layer, false); } else { layer_set_visible(ui_layer, true); } - 적 레이어 숨기기
gml var enemy_layer = layer_get_id("Enemies"); if (layer_get_visible(enemy_layer)) { layer_set_visible(enemy_layer, false); } - 레벨 시작 시 레이어 가시성 설정
gml var background_layer = layer_get_id("Background"); layer_set_visible(background_layer, true); - 특정 조건에서 레이어 숨기기
gml var special_layer = layer_get_id("SpecialEvents"); if (player_health < 20) { layer_set_visible(special_layer, true); }
이와 같이 layer_get_visible 함수를 활용하여 게임 내 다양한 레이어의 가시성을 제어할 수 있습니다.