• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

Player 움직임 질문

19.10.06 22:25 작성 조회수 163

0

플레이어 비행기를 움직일때 지금은 무조건 터치위치로 따라가는데요. (예를들면 터치할때마다 비행기가 터치 위치로 따라와요)

혹시, 따라가지 않고 터치 위치를 기준으로 비행기가 움직이려면 어떻게 해야하나요~?

답변 1

답변을 작성해보세요.

1

터치 위치로 플레이어를 가져가는 것이 아니라, 터치 위치와는 관계 없이 터치해서 손가락이 움직인만큼만 플레이어의 위치에 반영하고 싶으시다는 말씀이시죠? 간단한 코드로 구현할 수는 없을 것 같습니다.

컨셉은 움직인 직전과 직후의 터치 위치를 전역변수에 저장하고 그 차이를 플레이어 포지션에 반영하는 법이 되겠네요. 터치를 시작했을때 위치는 touchesBegan()으로 취득하고, 움직이는 동안의 포지션은 touchesMoved()로 취득할 수 있을 것 같습니다. 위치 반영은 update()에서 전역변수로 지정된 터치위치를 가져와서 플레이어 포지션에 반영하되, SKAction을 쓰지 말고 바로 포지션을 변화시키는 방식으로 하셔야 할 것 같습니다.

혹은 다음과 같은 가상조이스틱 모듈을 도입하면 좀 더 쉽게 구현하실 수 있을 것 같습니다.

https://github.com/MitrofD/TLAnalogJoystick