playXP

서브 메뉴

Page. 54 / 246 [내 메뉴에 추가]
글쓰기
작성자 판밍
작성일 2017-04-12 11:02:08 KST 조회 1,784
제목
마우스 위치를 게임상의 x,y 좌표로 받아오기
질문을 제대로 하지 않은거 같아 다시 적어봅니다.


위 영상과 같은 게임을 만들고 있습니다.
wasd로 움직이고, 마우스가 있는 위치로 기술을 사용하도록 했습니다.

여기서 문제가
저는 현재 이벤트 -> 마우스 움직임을 통해서 마우스의 위치를 x,y좌표로 받아 오고 있습니다.




평소에는 이렇게 유닛이 바라보는 방향으로 스킬을 잘 시전합니다.

하지만
이벤트가 "마우스 움직임"이기 때문에
마우스를 움직이지 않고 wasd를 이용해 유닛을 이동하게 되면 이렇게 백샷을 발사 하는 현상이 발생합니다.
이를 응용하면 마우스에서 손을 때고 wasd로 유닛을 저 멀리 움직인다음 초 장거리에서 스킬을 시전하거나
개발자 입장에서 의도하지 않은 방식으로 스킬을 시전 할 수 있습니다.





위 그림 같은 상황이 발생한다는 것이죠
"마우스 움직임"이라는 이벤트에 반응해서 마우스의 화면상 위치를 게임상의 xy좌표로 받아오는 방식인데
마우스를 움직이지 않으면, 가장 마지막이 마우스를 움직여서 받아온 좌표값을 계속 가지고 있게 됩니다.

그래서 한번은
주기적 이벤트를 통해 0.0625초마다 마우스의 좌표를 설정해봤는데
이렇게하니까 마우스 좌표를 자꾸 지도의 왼쪽 제일 하단을 계속 가리키게 됩니다.

다른 방법으로는
wasd로 움직일때, 마우스의 위치를 반환해봤는데
마찬가지로 지도의 왼쪽 제일 하단을 계속 가리키게 됩니다.




최종적으로 하고싶은 것은 위 이미지 처럼
마우스 움직임이 없어도 항상 화면상에 마우스 위치에 대해서 게임상의 xy좌표를 받아 올 수 없을까요? 

지속적인 허위 신고시 신고자가 제재를 받을 수 있습니다.
신고 사유를 입력하십시오:

발도장 찍기
아이콘 CoNeL (2017-04-12 11:44:11 KST)
1↑ ↓0
센스 이미지
스크립트 짜야할꺼같은데, 실험해보고 예제로 드릴게요.
아이콘 mofa_b (2017-04-14 23:19:23 KST)
1↑ ↓0
센스 이미지를 등록해 주세요
vector형 record를 하나 만드시면 될 것 같습니다.

Event
- 마우스 움직임
Action
- v = ((마우스 x) - (유닛 x), (마우스 y) - (유닛 y))

기술을 발사할 때 vector로 거리와 각도를 계산할 수 있으니 가능하실겁니다.
아이콘 mofa_b (2017-04-14 23:44:22 KST)
1↑ ↓0
센스 이미지를 등록해 주세요
기술을 발사할 때 action을 작성한다면 아마도

Action
- ((유닛 x) + vx), (유닛 y) + vy) 지점에 기술 시전

이 되지 않을까요. 카메라가 유닛에 고정되어있다는 전제하 입니다.
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.