인스턴스 변경 (Change Instance)
이 문서에서는 인스턴스를 다른 인스턴스로 변경하는 방법에 대해 설명합니다. 이 작업을 통해 한 인스턴스를 다른 인스턴스로 변경할 수 있으며, 초기 인스턴스의 Destroy Event와 Clean Up Event를 수행한 후 새로운 인스턴스의 Create Event가 실행됩니다.
주요 사항
- 방향이나 속도를 지정하지 않으면 새로운 인스턴스는 기존 인스턴스의 속성을 그대로 "상속"합니다.
- 변경된 인스턴스에서 추가 작업을 수행할 수 없습니다. 다음 게임 틱까지 기존 인스턴스와 관련된 변수를 접근하거나 호출하는 경우 에러가 발생합니다.
문법
Change Instance(object);
인수 설명
| 인수 | 설명 |
|---|---|
| Object | 변경할 인스턴스의 객체 이름 |
예제
아래 예제는 마우스 클릭을 감지하고, 클릭이 감지되면 현재 인스턴스를 다른 인스턴스로 변경합니다.
if (mouse_check_button_pressed(mb_left)) {
Change Instance(obj_new_instance);
}
사용 사례
1. 적 캐릭터 변경
게임에서 플레이어가 적 캐릭터를 처치할 때, 해당 적 캐릭터를 다른 인스턴스로 변경하여 사라지는 애니메이션을 보여줄 수 있습니다.
if (health <= 0) {
Change Instance(obj_enemy_defeated);
}
2. 파워업 아이템 수집
플레이어가 파워업 아이템을 수집할 때, 해당 아이템을 사라지게 하고 새로운 파워업 아이템 인스턴스를 생성합니다.
if (player_collects_item) {
Change Instance(obj_powerup_active);
}
3. 장애물 회전
장애물이 회전하는 애니메이션을 바꿔주거나, 특정 조건에서 새로운 장애물 객체로 변경할 수 있습니다.
if (time_to_change > 0) {
Change Instance(obj_new_obstacle);
}
주의 사항
- 인스턴스가 변경되면 현재 단계가 끝난 후에만 새로운 인스턴스에 접근할 수 있습니다.
- 변수를 직접 호출하고자 할 경우, 변경 직후에는 접근할 수 없음을 유의해야 합니다.
결론
인스턴스 변경은 게임 내에서 객체의 상태를 전환할 수 있는 강력한 기능입니다. 적절히 활용하여 게임의 다양한 상황을 연출해 보세요!