인스턴스 활성화 함수 (instance_activate_all)
이 문서에서는 GameMaker에서 사용할 수 있는 instance_activate_all 함수에 대해 설명하고, 이를 활용할 수 있는 다양한 예제도 제공하겠습니다.
함수 설명
instance_activate_all 함수를 사용하면 방에서 이전에 비활성화된 모든 인스턴스를 활성화할 수 있습니다. 주의할 점은 활성화가 즉시 이루어지지 않으며, 이 함수가 호출된 이벤트가 끝날 때까지 활성 상태로 간주되지 않는다는 것입니다.
문법
instance_activate_all();
리턴값
이 함수에는 반환값이 없습니다.
기본 예제
instance_activate_all();
위 코드는 방 내의 모든 인스턴스를 활성화합니다.
활용 예제
예제 1: 카메라 뷰 안팎의 인스턴스 처리
아래 코드는 특정 카메라 뷰 내에서 모든 인스턴스를 활성화한 후, 카메라 뷰의 경계를 넘어 64px 떨어진 인스턴스들을 비활성화하는 방법을 보여줍니다.
var _vx = camera_get_view_x(view_camera[0]);
var _vy = camera_get_view_y(view_camera[0]);
var _vw = camera_get_view_width(view_camera[0]);
var _vh = camera_get_view_height(view_camera[0]);
instance_activate_all();
instance_deactivate_region(_vx - 64, _vy - 64, _vw + 128, _vh + 128, false, false);
예제 2: 게임 관리
이 예제에서는 특정 조건을 만족했을 때만 인스턴스를 활성화하는 방법을 보여줍니다.
if (score > 100) {
instance_activate_all();
} else {
instance_deactivate_all();
}
위 코드는 플레이어의 점수가 100 이상일 때만 모든 인스턴스를 활성화하고, 그렇지 않으면 비활성화합니다.
테이블 예시
예를 들어 instance_activate_all 함수의 사용을 나타내는 테이블은 아래와 같이 구성할 수 있습니다.
| 인스턴스 상태 | 함수 호출 예 | 설명 |
|---|---|---|
| 비활성화 | instance_deactivate_all(); | 모든 인스턴스를 비활성화합니다. |
| 활성화 | instance_activate_all(); | 모든 인스턴스를 활성화합니다. |
| 조건부 활성화 | if (조건) { instance_activate_all(); } | 특정 조건을 만족할 때만 활성화합니다. |
맺음말
instance_activate_all 함수는 방 내 인스턴스를 관리하는 데 유용한 함수입니다. 다양한 활용 방법을 통해 게임의 성능을 최적화하고 플레이어에게 더욱 나은 경험을 제공할 수 있습니다.