인스턴스 수 확인 함수
이 문서는 instance_number 함수에 대해 설명하고, 이를 활용한 다양한 예제를 제공합니다. instance_number 함수는 특정 객체의 현재 활성 인스턴스 수를 파악하는 데 사용됩니다. 객체가 부모일 경우, 모든 자식 객체도 포함됩니다. 비활성화된 인스턴스는 이 체크에 포함되지 않습니다.
문법
instance_number(obj);
인수
| 인수 | 유형 | 설명 |
|---|---|---|
| obj | Object Asset | 인스턴스 수를 가져올 객체, 또는 모든 인스턴스를 세기 위한 키워드 all |
반환값
- 실수 (Real): 지정된 객체의 활성 인스턴스 수
예제 코드
다음의 예제 코드는 현재 인스턴스와 같은 객체로 생성된 인스턴스 수를 체크하여, 그 수가 50개 미만일 때 새로운 인스턴스를 생성합니다. 생성되는 인스턴스의 위치는 방 안의 임의의 위치입니다.
if (instance_number(object_index) < 50) {
instance_create_layer(random(room_width), random(room_height), "Instances", object_index);
}
이 코드는 방 안의 객체 수를 감독하여, 일정 수 이상일 때 새로운 인스턴스가 생성되지 않도록 조정할 수 있습니다.
응용 예제
1. 적 생성 관리
적의 수가 과도하게 늘어나는 것을 방지하기 위해, 적 인스턴스 수를 점검하고 필요시 새로운 적을 생성합니다.
if (instance_number(enemy_object) < 10) {
instance_create_layer(random(room_width), random(room_height), "Enemies", enemy_object);
}
2. NPC 생성 제한
게임의 NPC 개수를 관리하여 게임의 리소스를 효율적으로 사용합니다.
if (instance_number(npc_object) < 5) {
instance_create_layer(random(room_width), random(room_height), "NPCs", npc_object);
}
3. 프로젝트 진행 상태 확인
게임에서 점검해야 할 특정 객체의 인스턴스 수를 확인하고, 그에 따라 특정 작업을 수행합니다.
if (instance_number(projectile_object) >= 20) {
show_message("경고: 발사체가 너무 많습니다!");
}
요약
instance_number 함수는 객체의 활성 인스턴스 수를 확인하는 데 매우 유용합니다. 이를 통해 게임의 성능을 모니터링하고, 필요에 따라 인스턴스 생성을 조절할 수 있습니다. 다양한 예제를 통해 이 함수의 활용법을 익히시면 게임 개발에 큰 도움이 될 것입니다.