위 영상과 같은 게임을 만들고 있습니다.
wasd로 움직이고, 마우스가 있는 위치로 기술을 사용하도록 했습니다.
여기서 문제가
저는 현재 이벤트 -> 마우스 움직임을 통해서 마우스의 위치를 x,y좌표로 받아 오고 있습니다.
평소에는 이렇게 유닛이 바라보는 방향으로 스킬을 잘 시전합니다.
하지만
이벤트가 "마우스 움직임"이기 때문에
마우스를 움직이지 않고 wasd를 이용해 유닛을 이동하게 되면 이렇게 백샷을 발사 하는 현상이 발생합니다.
이를 응용하면 마우스에서 손을 때고 wasd로 유닛을 저 멀리 움직인다음 초 장거리에서 스킬을 시전하거나
개발자 입장에서 의도하지 않은 방식으로 스킬을 시전 할 수 있습니다.
위 그림 같은 상황이 발생한다는 것이죠
"마우스 움직임"이라는 이벤트에 반응해서 마우스의 화면상 위치를 게임상의 xy좌표로 받아오는 방식인데
마우스를 움직이지 않으면, 가장 마지막이 마우스를 움직여서 받아온 좌표값을 계속 가지고 있게 됩니다.
그래서 한번은
주기적 이벤트를 통해 0.0625초마다 마우스의 좌표를 설정해봤는데
이렇게하니까 마우스 좌표를 자꾸 지도의 왼쪽 제일 하단을 계속 가리키게 됩니다.
다른 방법으로는
wasd로 움직일때, 마우스의 위치를 반환해봤는데
마찬가지로 지도의 왼쪽 제일 하단을 계속 가리키게 됩니다.
최종적으로 하고싶은 것은 위 이미지 처럼
마우스 움직임이 없어도 항상 화면상에 마우스 위치에 대해서 게임상의 xy좌표를 받아 올 수 없을까요?