instance_exists 함수 설명 및 활용 예제
instance_exists
함수는 현재 룸에 특정 객체가 존재하는지를 확인하는 데 사용됩니다. 사용자가 확인하고자 하는 방식을 따라 두 가지 방식으로 사용할 수 있습니다.
두 가지 사용 방법
- 객체 인덱스 확인
- 특정 객체의 인덱스를 주면, 이 함수는 해당 객체의 인스턴스가 현재 룸에 존재하는지 확인 후
true
를 반환합니다. - 인스턴스 ID 확인
- 특정 인스턴스의 ID를 제공하면, 이 함수는 그 특정 인스턴스가 현재 룸에 존재하고 활성화 되어있는지를 확인해
true
를 반환합니다.
문법
instance_exists(obj);
인자 설명
인자 | 타입 | 설명 |
---|---|---|
obj | 인스턴스 ID 또는 객체 자산 | 존재 여부를 확인할 객체나 인스턴스 |
반환 값
- Boolean: 존재하면
true
, 존재하지 않으면false
를 반환합니다.
활용 예제
다음은 instance_exists
함수를 활용한 간단한 예제입니다.
기본 예제
if (!instance_exists(obj_Enemy)) {
score += 200;
room_goto(rm_hiscores);
}
위 코드에서 obj_Enemy
의 인스턴스가 존재하지 않을 경우, score
변수에 200을 추가하고 방을 rm_hiscores
로 변경합니다.
추가 활용 예제
1. 특정 객체가 존재할 때 아이템 추가
if (instance_exists(obj_Item)) {
inventory_add(obj_Item);
}
위 코드는 obj_Item
이 존재하면 인벤토리에 그 아이템을 추가합니다.
2. 적이 없을 때 배경 음악 재생
if (!instance_exists(obj_Enemy)) {
audio_play_sound(snd_victory, 1, false);
}
위 코드는 적 obj_Enemy
가 존재하지 않을 경우, 승리 음악 snd_victory
를 재생합니다.
3. 플레이어가 적과 충돌 시 게임 오버
if (instance_exists(obj_Enemy)) {
game_over();
}
위 코드는 적 obj_Enemy
가 존재하면 game_over
함수를 호출하여 게임 오버 상태로 전환합니다.
결론
instance_exists
함수는 게임 개발에서 객체의 존재 여부를 확인하는 유용한 도구입니다. 이 함수를 사용하여 다양한 게임 로직을 구현할 수 있으며, 플레이어의 경험을 더 풍부하고 동적으로 만들어 줄 수 있습니다.