인스턴스 수 (instance_count) 사용법 및 예시
instance_count
는 현재 방(room)에 활성화된 인스턴스(instance)의 수를 나타내는 읽기 전용 변수입니다. 이 변수는 코드가 실행되는 인스턴스를 포함하지만, instance_deactivate
함수를 사용하여 비활성화된 인스턴스는 포함하지 않습니다. 또한, 이 변수는 스텝이 시작된 시점의 인스턴스 수를 반환하므로, 스텝이 시작된 이후에 방의 인스턴스 수에 변화가 생기더라도 반영되지 않습니다.
구문
instance_count;
반환값
- 실제 숫자(Real): 활성 인스턴스의 수를 반환합니다.
예시 코드
다음 코드는 "obj_Star" 객체의 인스턴스 수가 총 100개에 도달할 때까지 무작위 위치에 인스턴스를 생성합니다.
if (instance_count < 100) {
var dif = 100 - instance_count;
while (--dif > 0) {
instance_create_layer(random(room_width), random(room_height), "Effects", obj_Star);
}
}
활용 예제
예제 번호 | 설명 | 코드 |
---|---|---|
1 | 방에 최대 50개의 적 인스턴스 생성 | gml if (instance_count < 50) { var dif = 50 - instance_count; while (--dif > 0) { instance_create_layer(random(room_width), random(room_height), "Enemies", obj_Enemy); }} |
2 | 플레이어의 체력이 100 미만일 때 회복 아이템 생성 | gml if (player_health < 100) { var dif = 100 - player_health; while (--dif > 0) { instance_create_layer(random(room_width), random(room_height), "Items", obj_HealthPotion); }} |
3 | 특정 인스턴스 수에 도달할 때까지 이펙트 생성 | gml if (instance_count < 200) { var dif = 200 - instance_count; while (--dif > 0) { instance_create_layer(random(room_width), random(room_height), "Effects", obj_ParticleEffect); }} |
결론
instance_count
변수는 게임 내에서 인스턴스의 수를 동적으로 관리하는 데 유용합니다. 이 변수를 활용하여 원활한 게임플레이를 유지하고, 필요에 따라 인스턴스의 수를 조절할 수 있습니다.