레이어 가시성 설정 함수
layer_set_visible 함수는 레이어의 가시성을 전환하는 데 사용됩니다. 이 함수는 레이어 핸들(레이어를 생성할 때 layer_create()를 사용하여 얻는 값) 또는 레이어 이름(문자열 형태로 제공되며 성능에 영향을 미칠 수 있음)과 레이어의 가시성 값을 입력받습니다. 여기서 가시성 값은 true(보임) 또는 false(안 보임)입니다.
레이어가 보이지 않으면 해당 레이어에 할당된 모든 요소가 그려지지 않으며, 레이어에 할당된 인스턴스가 있다면 그들의 드로우 이벤트도 실행되지 않습니다. 이는 인스턴스 변수 visible을 false로 설정한 것과 유사합니다. 이미 보이지 않도록 설정된 인스턴스는 레이어가 보이도록 설정되더라도 다시 보이도록 설정되지 않으며, 이 두 설정은 독립적입니다.
문법
layer_set_visible(layer_id, visible)
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| layer_id | String 또는 Layer | 타겟 레이어의 핸들(또는 문자열 형태의 레이어 이름) |
| visible | Boolean | 레이어가 보이도록 설정할지 여부 (true 또는 false) |
반환값
N/A
예제
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);
}
위 코드는 "Instances"라는 이름의 레이어 핸들을 가져온 후, 해당 레이어의 가시성을 확인하고 반환된 값에 따라 레이어의 가시성을 전환합니다.
활용 예제
예제 1: 레이어 숨기기
var lay_id = layer_get_id("Background");
layer_set_visible(lay_id, false);
이 코드는 "Background" 레이어를 숨깁니다.
예제 2: 레이어 보이기
var lay_id = layer_get_id("UI");
layer_set_visible(lay_id, true);
이 코드는 "UI" 레이어를 보이게 합니다.
예제 3: 레이어 상태 토글
var lay_id = layer_get_id("Enemies");
layer_set_visible(lay_id, !layer_get_visible(lay_id));
이 코드는 "Enemies" 레이어의 가시성을 현재 상태와 반대로 전환합니다.
예제 4: 여러 레이어 가시성 설정
var layers = ["Layer1", "Layer2", "Layer3"];
for (var i = 0; i < array_length(layers); i++) {
var lay_id = layer_get_id(layers[i]);
layer_set_visible(lay_id, false);
}
이 코드는 "Layer1", "Layer2", "Layer3" 레이어를 모두 숨깁니다.