event_object 설명서
event_object는 현재 실행 중인 이벤트의 인스턴스 객체 핸들을 반환하는 읽기 전용 변수입니다. 이 변수를 사용하면 특정 이벤트가 발생한 객체를 쉽게 식별할 수 있습니다.
문법
event_object;
반환값
- 객체 자산(Object Asset): 현재 이벤트를 수행하고 있는 인스턴스의 객체 인덱스를 반환합니다.
예제
global.obj = event_object;
위 코드는 이벤트를 수행하고 있는 인스턴스의 객체 인덱스를 전역 변수 global.obj에 저장합니다.
활용 및 응용 예제
1. 충돌 감지
충돌 이벤트에서 event_object를 사용하여 충돌한 객체를 확인할 수 있습니다.
if (place_meeting(x, y, global.obj)) {
// 충돌 처리 코드
}
2. 이벤트 기반 행동
특정 이벤트에 따라 객체의 행동을 다르게 설정할 수 있습니다.
if (event_type == ev_mousebutton) {
if (event_object == obj_enemy) {
// 적을 클릭했을 때의 행동
}
}
3. 객체 정보 저장
이벤트가 발생한 객체의 정보를 저장하여 나중에 사용할 수 있습니다.
global.last_event_object = event_object;
4. 다중 객체 관리
여러 객체가 동시에 이벤트를 처리할 때, 각 객체를 구분하여 처리할 수 있습니다.
switch (event_object) {
case obj_player:
// 플레이어 관련 이벤트 처리
break;
case obj_npc:
// NPC 관련 이벤트 처리
break;
}
5. 사용자 정의 이벤트
사용자 정의 이벤트에서 event_object를 활용하여 특정 객체에 대한 추가 작업을 수행할 수 있습니다.
if (event_object == obj_special) {
// 특별한 객체에 대한 작업
}
이와 같이 event_object는 다양한 상황에서 유용하게 사용될 수 있으며, 객체 지향 프로그래밍에서 이벤트 기반 로직을 구현하는 데 큰 도움이 됩니다.