인스턴스 개수 가져오기
이 문서에서는 주어진 객체의 현재 활성화된 인스턴스 수를 찾는 방법에 대해 설명합니다. 리소스 목록에서 객체를 선택하거나 all이라는 특수 키워드를 사용하여 모든 활성화된 인스턴스의 수를 세울 수 있습니다. 또한, 반환 값을 저장할 targetvariable을 제공해야 합니다. 만약 targetvariable을 "Temp"로 지정하면, 그 값을 저장하기 위한 새로운 임시(지역) 변수가 생성됩니다.
액션 구문
인자 설명
| 인자 | 설명 |
|---|---|
| Object | 확인할 객체의 이름 |
| Target | 반환 값을 저장할 변수 |
예제
아래 코드는 지역 변수를 생성한 후, "obj_Squirrel" 객체의 인스턴스 수를 이 변수에 할당합니다. 이후 인스턴스 수가 100보다 클 경우 인스턴스를 파괴하는 예제입니다.
var instance_count = 0; // 지역 변수 생성
instance_count = instance_number(obj_Squirrel); // 객체의 인스턴스 수를 변수에 할당
if (instance_count > 100) {
// 인스턴스 수가 100 초과 시 파괴
with (obj_Squirrel) {
instance_destroy();
}
}
다양한 활용 및 응용 예제
특정 객체의 인스턴스 수에 따라 게임 이벤트 발생시키기
var instance_count = instance_number(obj_Enemy); // 적 객체의 인스턴스 수를 구함
if (instance_count <= 5) {
instance_create_layer(x, y, "Instances", obj_Enemy); // 인스턴스 수가 5 이하일 때 새로운 적 생성
}
플레이어 주변의 적 인스턴스 수에 따라 경고 메시지 표시하기
var nearby_enemy_count = instance_number(obj_Enemy);
if (nearby_enemy_count > 3) {
show_message("경고! 주변에 적이 많습니다!"); // 적 인스턴스 수가 3 초과 시 메시지 표시
}
모든 인스턴스를 순회하며 상태 변경하기
var total_instances = instance_number(all); // 모든 인스턴스 수 구함
if (total_instances > 0) {
with (all) {
// 모든 인스턴스의 상태를 변경
state = "active";
}
}
요약
Get Instance Count 액션은 특정 객체 및 모든 객체의 인스턴스 수를 쉽게 측정하고, 그 값에 따라 다양한 게임 로직을 처리할 수 있도록 해줍니다. instance_number() 함수를 활용하여 게임의 동적인 요소를 관리하고, 플레이어 경험을 향상시키는 데 활용할 수 있습니다.