부모 이벤트 호출 (Call Parent Event)
이 문서에서는 부모 이벤트를 호출하는 액션 블록에 대해 설명하고, 이를 통해 자식 객체에서 부모 객체의 이벤트를 실행할 수 있는 방법을 다룰 것입니다.
개념 설명
- 부모 객체(Parent Object): 자식 객체가 상속받는 부모 역할을 하는 객체입니다.
- 자식 객체(Child Object): 부모 객체의 이벤트를 상속받는 객체입니다.
부모 객체를 자식 객체에 할당하면, 자식 객체는 부모 객체의 모든 이벤트를 "상속"받습니다. 그러나 자식 객체에 이벤트를 추가하면, 해당 이벤트는 부모의 이벤트를 덮어쓰게 됩니다. 이 액션 블록을 사용하면 자식 객체가 부모 이벤트와 자식 객체의 이벤트를 모두 실행하도록 강제할 수 있습니다.
액션 구문(Action Syntax)
// 부모 객체의 이벤트를 호출
parent_event();
// 이후 자식 객체의 이벤트를 실행
alarm[0] = room_speed * 2;
sprite_index = spr_new_sprite;
예제 (Example)
위의 액션 블록 코드는 자식 객체가 부모 객체의 이벤트를 호출한 후, 알람을 설정하고 스프라이트를 변경합니다.
활용 및 응용 예제
여기에서는 이 기능을 활용하는 다양한 예제를 다룹니다.
| 예제 번호 | 설명 | 코드 예제 |
|---|---|---|
| 1 | 캐릭터가 점프할 때 부모 이벤트와 자식 이벤트를 동시에 실행 | gml<br>parent_event();<br>if (jumping) {<br> vspeed = -10;<br>}<br> |
| 2 | 적 캐릭터가 공격할 때 부모와 자식의 공격을 모두 처리 | gml<br>parent_event();<br>attack_enemy();<br> |
| 3 | 이벤트에 사운드를 추가하여 부모의 이벤트와 함께 발동 | gml<br>parent_event();<br>audio_play_sound(snd_attack, 1, false);<br> |
| 4 | 충돌 처리 시 부모의 충돌을 호출한 후 추가 처리를 수행 | gml<br>parent_event();<br>if (collided) {<br> health -= 10;<br>}<br> |
참고 사항
parent_event()는 부모 객체의 이벤트를 호출합니다.- 자식 객체의 이벤트가 특정 조건에서 부모 객체의 이벤트보다 먼저 실행되게 하려면, 이 액션 블록을 사용할 수 있습니다.
이를 통해 복잡한 게임 로직을 효율적으로 구성하고 재사용성을 높일 수 있습니다.
© Copyright YoYo Games Ltd. 2023 All Rights Reserved