객체 존재 확인 - object_exists 함수
개요
object_exists 함수는 특정 값이 객체 자산인지(true) 아닌지(false)를 반환합니다. 이 함수는 객체가 에셋 브라우저에 존재하는지를 확인하며, 게임 룸에 있는지는 확인하지 않습니다. 게임 룸 내 객체 확인은 instance_exists() 함수를 사용해야 합니다.
문법
object_exists(obj);
인자
| 인자 | 타입 | 설명 |
|---|---|---|
| obj | Object Asset | 확인할 객체의 인덱스 |
반환값
- Boolean: 객체가 존재하면
true, 존재하지 않으면false를 반환합니다.
사용 예제
예제 1: 모든 인스턴스 제거하기
아래 예제는 주어진 객체의 모든 인스턴스를 파괴하는 함수입니다. 객체가 유효하지 않은 경우 함수를 종료합니다. 유효한 경우 각 인스턴스 위치에서 폭발 인스턴스를 생성하고, 해당 인스턴스를 파괴합니다.
function destroy_all_instances(_object) {
if (!object_exists(_object)) return;
with (_object) {
instance_create_layer(x, y, layer, obj_explosion);
instance_destroy();
}
}
활용 및 응용 예제
예제 2: 적 객체 생성 확인
게임 시작 시 적 객체를 특정 조건에서만 생성하도록 하는 예제입니다.
if (object_exists(obj_enemy)) {
instance_create_layer(400, 300, "Instances", obj_enemy);
} else {
show_debug_message("적 객체가 존재하지 않습니다.");
}
예제 3: 게임 종료 시 전부 파괴
게임이 종료될 때 특정 객체의 모든 인스턴스를 파괴하는 예제입니다.
function end_game() {
if (object_exists(obj_player)) {
destroy_all_instances(obj_player);
}
if (object_exists(obj_enemy)) {
destroy_all_instances(obj_enemy);
}
show_message("게임이 종료되었습니다.");
}
예제 4: 특정 객체에 대한 조건부 행동
게임 내에서 특정 객체가 존재할 때만 동작을 수행하는 예제입니다.
if (object_exists(obj_key)) {
// 키 객체가 존재할 때만 문을 열도록 진행
open_door();
}
요약
object_exists 함수는 게임 내에서 객체의 존재 여부를 확인하는 데 유용한 함수입니다. 이를 통해 객체를 안전하게 생성하고, 관리할 수 있습니다. 다양한 상황에서 이 함수를 활용하여 게임의 로직을 보다 안전하고 효율적으로 구현할 수 있습니다.
© Copyright YoYo Games Ltd. 2024 All Rights Reserved ```