프로그래밍 공부
작성일
2024. 3. 13. 20:24
작성자
WDmil
728x90

주변 적을 확인, 그리고 주변 적들 중 가장 가까운 적을 타겟팅하는 시스템을 만들어보자.


TargetEvent 정의

타겟을 했을 때의 이벤트를 정의한다.

 

먼저, Teb을 눌렀을 때, 함수가 실행되도록 정의할 것 이다. 항상 타겟팅은 전투모드 일 때만 가능하며, 사용시, 이전까지 붙어있던 모든 Visival에 대한 배열목록을 전부 탐색해서 커서가 켜져있는 객체를 꺼주고, 새로운 객체에 lookOn을 할 것 이다.

 

여기서, 모든 객체 순환이 아니라, 코드 구조 상 한번에 한개의 객체가 커서가 존재함으로, 객체를 탐색하기 전에, 먼저 전 객체를 꺼주는 식으로 하면 더 빠른 코드가 될 것 이다.


LookOn함수

 Lookon을 하는 함수이다.

 

Self를 기준으로, 1000크기의 구체를 만든 뒤, 해당 구체에 닿은 엑터들을 전부 배열로 집어넣는다.

그리고, 집어넣은 배열을 탐색하여, Actor를 적으로 전환 한 다음, 배열에 저장한다.


Get Target

 

가장 가까운 객체를 판별한다. 충돌된 객체중, 플레이어의 카메라 기준으로 객체를 내적해 주어서, 해당 객체가 지정된 각도값(새로 갱신함으로, 카메라와 객체가 가장 가까운 정도가 된다) 으로 갱신하면서 카메라의 반직선과 가장 가까운 엑터를 찾은 뒤에, 찾았으면 결과값에 커서를 켜준다.


Cusor

 

커서를 켜주고 꺼주는 커스텀 이벤트 이다.

지정된 커서를 켜주고 꺼줄 수 있다.


테스트

 

728x90