오전에 짜놓은 스크립트를 작성해보자.



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c05398dc82aeedd06e5269bf4ecf12705d6d9b1ca0000defe0526fd49bf99bdc7bde9d19e6eb0a286f4e2529b

하... 벌써부터 많아 보인다 이거 언제 만드냐 일단 움직이는거부터 만들어보자.

일단 PlayerInput부터 작성해봤다.


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c05398dc82aeedd06e5269bf4ecf12705d6d9b1ca0000defe0526fd49bf99bdc7ecbdd3ca65b2a586f41e74b0

그리고 PlayerMove를 작성했다.


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c05398dc82aeedd06e5269bf4ecf12705d6d9b1ca0000defe0526fd49bf99bdc7bcee889832b3a1d5f4ef85da

그다음 플레이어의 매인 스크립트인 PlayerComponent를 손봐줬다.


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c05398dc82aeedd06e5269bf4ecf12705d6d9b1ca0000defe0526fd49bf99bdc7efed859f65bff080f475f6af

이동속도는 아직 PlayerStatus를 작성하지 않아서 간단히 2f를 주었다..

일단 여기까지 작성하고 테스트를 해보았다.



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c05398dc82aeedd06e5269bf4ecf12705d696e79b0169d6f804e03b9c49d743d31143c9072b10b7


하하하하핳 잘된당... 

그런데 뭔가 이상해서 봣더니 바라보는 방향이 안바뀌는구나, 구글링해서 찾아보니까 대충 2가지 방법이 있던디

캐릭터의 scale자체를 바꿔주던가 spriteRenderer에 flip? 이걸 바꿔주던가 하던대 scale이 쉬워보이니까 scale을 바꿔주는 LocalScaleSet 스크립트를 짜보자



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c05398dc82aeedd06e5269bf4ecf12705d696e79b0169d6f804e03b9d188747de4548ce072b10b7

??????? 뭐지?



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c05398dc82aeedd06e5269bf4ecf12705d6d9b1ca0000defe0526fd49bf99bdc7e9ec81c435b7fc83f4e7092c

도대체 뭐가 문제인 것일까....(30분 경과)

열심히 구글링 한 결과 playerInput에서 Input.GetAxisRaw에서 입력값이 없으면 0이 들어온다는걸 알게 되었다.

0이 들어왔기 때문에 플레이어의 크기기의 x값이 0이 되버려서 저렇게 된거였다



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c05398dc82aeedd06e5269bf4ecf12705d6d9b1ca0000defe0526fd49bf99bdc7ecea84cb61b3a7d5f4b21d00

조건을 추가해서 0이면 스케일 값이 변하지 않도록 해놓자



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c05398dc82aeedd06e5269bf4ecf12705d696e79b0169d6f804e03b98128112d01714ca072b10b7

아주 아주 맘에 들어!!!  신기방기하다.

이제 애니메이션을 추가 해봐야 할거같다.

일단 아주 간단하게 움직이는거랑 기본상태를 설정해봤다

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c05398dc82aeedd06e5269bf4ecf12705d6d9b1ca0000defe0526fd49bf99bdc7ecef85c935e3f38ef4b85c4e

스크립트는 PlayerAnimator로 새로 만들었다.



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c05398dc82aeedd06e5269bf4ecf12705d6d9b1ca0000defe0526fd49bf99bdc7b5e685cf63b3a2d2f4b9d244

그리고 실행 결과는----


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c05398dc82aeedd06e5269bf4ecf12705d696e79b0169d6f804e03b9b1bd313d54146cc072b10b7


에라 쥐엔좡 뭐가 문제인거야 이번엔?

코드만 1시간 넘게 꼴아보다 아무리봐도 문제가 없길래 애니메이터창을 보게 됬다.


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c05398dc82aeedd06e5269bf4ecf12705d6d9b1ca0000defe0526fd49bf99bdc7bfed87c937b0a783f44231c2

문제는 바로 이곳이었다. Has Exit Time? 이게뭔진 모르갯지만 체크를 해제하고 Transition Duration이걸 0으로 만들면 된다고 하더라 혹시 저게 뭐하는건지 아는사람은 댓글로좀 남겨줘


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c05398dc82aeedd06e5269bf4ecf12705d696e79b0169d6f804e03b9d4b8210df13469f072b10b7

아!! 아아아아!!!!! 매우 만족스러워



--오늘 게임을 만드는 스크립트랑 애니메이션 위주로 한거같다. 오늘 새롭게 든 생각은 역시 설계를 해봤자 나같은 초보는 처다보지도 않고 그냥 막코딩에 들어간다는 것이다. 또한 코딩을 제외한 여러 부가적인 내용을 알지 못하면 게임 만들기는 매우 힘들거같다. 이런 정보가 넘치는 시대에 태어나서 다행이라고 생각한다.. 고맙다 구글, 유튜브--