인스턴스 가시성 (Instance Visibility)
visible 변수는 인스턴스가 보이는지 아닌지를 설정하는 데 사용됩니다. 이 변수를 true (보임) 또는 false (안 보임)으로 설정하여 인스턴스를 가시성 상태로 설정할 수 있습니다.
설명
- 가시성 설정:
visible변수를 사용하면 GameMaker에게 해당 인스턴스의 드로우 이벤트를 건너뛰도록 지시합니다. 따라서 인스턴스가 가시성이 없을 때 드로우 이벤트에 작성된 모든 코드가 실행되지 않습니다. - 계층의 가시성: 인스턴스가 속한 레이어가
invisible로 설정되어 있으면,visible변수를true로 변경해도 효과가 없습니다. 레이어 자체가visible로 설정되어야만 인스턴스가 가시성을 가질 수 있습니다. - 읽기 전용: 드로우 이벤트 중에는
visible변수가 읽기 전용이 되며, 이를 변경하려고 하면 치명적인 오류가 발생합니다.
문법
visible
반환 값
- Boolean: 인스턴스의 현재 가시성 상태를 반환합니다.
예제
다음 코드는 충돌 이벤트에서 "other" 인스턴스의 가시성 플래그를 확인하고, 진실(true)일 경우 현재 인스턴스를 이전 위치로 이동시킵니다.
if (other.visible == true) {
x = xprevious;
y = yprevious;
}
활용 및 응용 예제
예제 1: 적 비활성화
적 인스턴스가 사라졌을 때 이를 비활성화하여 더 이상 그리기 않도록 하는 코드입니다.
if (health <= 0) {
visible = false; // 적을 숨깁니다.
}
예제 2: 특정 상황에서만 인스턴스 보이기
플레이어가 특정 키를 눌렀을 때만 적을 보이게 하는 코드입니다.
if (keyboard_check_pressed(vk_space)) {
visible = true; // 스페이스 바를 눌렀을 때 적을 보이게 합니다.
}
예제 3: 여러 인스턴스의 가시성 관리
여러 인스턴스의 가시성을 한 번에 변경하고 싶을 때 사용할 수 있는 코드입니다.
for (var i = 0; i < instance_count; i++) {
var inst = instance_find(Enemy, i);
if (inst != noone) {
inst.visible = false; // 모든 적 인스턴스를 숨김
}
}
주의 사항
visible변수를 사용할 때는 항상 레이어의 가시성을 고려해야 합니다.- 드로잉 이벤트의 코드 실행 여부에 주의하십시오.
© Copyright YoYo Games Ltd. 2024 All Rights Reserved