글
유도탄 스크립트를 잘못 만들면 피격이 불가능하게 설정된 오브젝트 주위를 맴도는 현상이 나타나기 쉬운데, 이를 해결하는 방법이 있다.
오브젝트가 피격 가능/불가능 상태 전환 시 마다 투명한 목표물 오브젝트를 생성/삭제하고, 유도탄은 그 목표물 오브젝트만 따라가도록 하는 방법이다.
단, 목표물 오브젝트는 그 부모 오브젝트 당 단 한 개만 존재하여야 하며, 누수를 막기 위해 부모 오브젝트가 삭제되었을 시 같이 삭제하여야만 한다.
- 1: 목표물 오브젝트를 생성하고, visible 플래그를 체크 해제해 투명하게 한 뒤, 부모 오브젝트의 id를 저장할 변수(기본값: self 즉 자기 자신)를 선언한다.
- 2: 목표물 오브젝트의 스텝 이벤트에 부모 오브젝트가 자기 자신이 아니면서 부모 오브젝트가 존재하지 않는 경우 자기 자신을 삭제하는 이벤트를 삽입한다.
- 3: (적, 또는 파괴가능 오브젝트의) 생성 이벤트에 피격 가능/불가능 여부 플래그 변수(이는 오브젝트의 상태 - 이를테면, 화면에 표시됨 여부, 지형 등에 가려짐 여부, 활성화 여부와 파괴 처리됨 여부 등 - 에 따라 변화한다.)와 목표물 오브젝트의 id를 저장할 변수를 선언한다.
- 4: 정리 이벤트에 목표물 오브젝트가 존재할 시 이를 삭제하는 이벤트를 삽입한다.
- 5: Begin 스텝 이벤트에 피격 가능일 때 목표물 오브젝트 부재 시 목표물 오브젝트를 생성하는 이벤트를 삽입한다.
- 6: End 스텝 이벤트에 목표물 오브젝트의 좌표를 자신의 좌표와 동기화하는 이벤트와, 피격 불가능일 때 목표물 오브젝트 존재 시 목표물 오브젝트를 삭제하는 이벤트를 삽입한다.
- 7: 유도탄 역할을 할 오브젝트는 목표물 오브젝트가 존재하고, 목표물 오브젝트의 부모 오브젝트가 화면에 보일 때만 이를 따라가는 이벤트를 삽입한다.
'기타 > 겜메 뻘팁' 카테고리의 다른 글
| 게임메이커 스튜디오 2의 오브젝트 그리기 순서 문제 (1) | 2026.01.06 |
|---|---|
| Round half away from zero 반올림 알고리즘과 각도 정밀도 제한 알고리즘 (0) | 2025.12.16 |
| (GMS2)플레이어의 연사속도에 따른 가변 자동연사 딜레이 설정 (1) | 2025.12.12 |
| (GMS2)동일한 오브젝트에 의해 중복 피격되는 걸 방지하는 방법 (0) | 2025.11.16 |
| BGM 파일들을 한 파일에 몰아넣기 (2) | 2025.08.09 |
RECENT COMMENT