레이어 인스턴스 삭제 함수 해설
layer_destroy_instances 함수는 주어진 레이어에 할당된 모든 인스턴스를 삭제하는 데 사용됩니다. 이 함수를 사용하려면 레이어 핸들(레이어를 생성할 때 layer_create()를 사용하여 얻은 것)이나 레이어 이름(문자열 형태)을 제공해야 합니다. 그러면 해당 레이어에 있는 모든 인스턴스가 게임에서 제거되며, 이 과정에서 Destroy 및 Clean Up 이벤트가 발생합니다.
문법
layer_destroy_instances(layer_id)
인수
| 인수 이름 | 타입 | 설명 |
|---|---|---|
| layer_id | String 또는 Layer | 레이어의 핸들(또는 문자열 형태의 레이어 이름) |
반환값
- N/A
예제
if (global.game_over) {
layer_destroy_instances(layer);
}
위 코드는 전역 변수를 확인하고, 만약 true라면 호출 인스턴스의 레이어에 있는 모든 인스턴스가 삭제됩니다(호출 인스턴스 포함).
활용 예제
예제 1: 게임 종료 시 모든 적 삭제
if (global.game_over) {
layer_destroy_instances("EnemiesLayer");
}
이 코드는 게임이 종료될 때 "EnemiesLayer"라는 이름의 레이어에 있는 모든 적 인스턴스를 삭제합니다.
예제 2: 특정 레이어의 모든 아이템 삭제
layer_destroy_instances(layer_items);
이 코드는 layer_items라는 레이어 핸들을 사용하여 해당 레이어에 있는 모든 아이템 인스턴스를 삭제합니다.
예제 3: 레이어 이름을 사용하여 인스턴스 삭제
layer_destroy_instances("PowerUps");
이 코드는 "PowerUps"라는 이름의 레이어에 있는 모든 파워업 인스턴스를 삭제합니다.
예제 4: 레이어가 비어 있는지 확인 후 삭제
if (layer_instance_count(layer) > 0) {
layer_destroy_instances(layer);
}
이 코드는 레이어에 인스턴스가 있는 경우에만 해당 레이어의 모든 인스턴스를 삭제합니다.
예제 5: 게임 시작 시 초기화
layer_destroy_instances("InitialLayer");
게임이 시작될 때 "InitialLayer"에 있는 모든 인스턴스를 삭제하여 초기 상태로 만듭니다.