인스턴스 파괴(Instance Destroy) 문서 해설
인스턴스를 "파괴"하고자 할 때 이 액션을 호출할 수 있으며, 이로 인해 인스턴스는 방에서 제거됩니다. 인스턴스를 파괴할 때 유의해야 할 점은 Destroy Event가 파괴를 호출하는 액션 직후에 호출된다는 것입니다.
하지만 인스턴스는 즉시 게임에서 제거되지 않고, 현재 이벤트의 코드를 끝까지 수행한 후에야 제거됩니다. 그때 Clean Up Event가 호출됩니다.
액션 문법 (Action Syntax)
instance_destroy();
사용 예제 (Example)
다음의 코드 블록은 호출 인스턴스의 위치에서 다른 인스턴스와 충돌을 체크하고, 충돌이 발견되면 자신을 파괴합니다.
if (instance_place(x, y, other) != noone) {
instance_destroy();
}
참고 표 (Reference Table)
| 기능 | 설명 |
|---|---|
instance_destroy() |
인스턴스를 파괴하는 액션 |
Destroy Event |
인스턴스가 파괴될 때 호출되는 이벤트 |
Clean Up Event |
인스턴스가 제거된 후 호출되는 이벤트 |
다양한 활용 및 응용 예제
예제 1: 적 인스턴스가 플레이어와 충돌 시 파괴
if (instance_place(x, y, player) != noone) {
instance_destroy(); // 적 인스턴스가 플레이어와 충돌 시 제거
}
예제 2: 일정 시간이 지난 후 인스턴스 자가 파괴
if (time >= destroy_time) {
instance_destroy(); // 설정한 시간 이후에 인스턴스 제거
}
예제 3: 총알이 적과 충돌 시 적을 파괴
if (instance_place(x, y, bullet) != noone) {
instance_destroy(); // 총알이 적에 맞으면 적 제거
}
결론
instance_destroy()를 사용하면 게임 내에서 인스턴스를 효율적으로 관리하고 파괴할 수 있습니다. 이를 통해 게임의 동작을 더욱 흥미롭게 만들 수 있습니다.