방프리
Unity2D 게임 포트폴리오 개발 일지 D + 6 본문
이왕 캐릭터AI를 만든겸 플레이어도 똑같이 StateMachine을 사용하도록 수정해보았다.
대신 Controller와 플레이어 캐릭터의 분리가 필요했다.
일반 캐릭터와 별개로 움직여야되기 때문에 State 클래스를 따로 제작했다.
채집 모드가 아닌 상태에서 현재 위치와 클릭된 위치의 길이가 차이가 났을 때 바로 Run상태로 바꾸게 했다.
매 프레임마다 현재 위치와 클릭된 위치와 계속 값을 계산하지만 연산량이 크지 않기 때문에 놔두기로 했다.
(오히려 적은 연산량으로 잘 분리시켰다고 생각한다.)
이후 PlayerCharacter.cs에는 Character.cs와 내용을 비슷하게 구현했다.
에러없이 잘 돌아갔다 ㅎㅎ
움직이는 상태에 들어가는 Enter()에 스프라이트를 회전하는 걸 넣었더니 연속으로 클릭했을 때
상태가 변하지 않은 상태에서 움직여서 이상한 방향을 보며 걷게 되었다.
그래서 플레이어 캐릭터는 Execute()시에도 계속 검사해서 x축 회전을 맞게 해주었고
일반 캐릭터의 경우엔 한 번 움직인 다음 대기상태로 가니 굳이 매 프레임마다 할 필요가 없어서
처음 상태로 들어가는 Enter()함수에 들어갈 때 스프라이트 X축을 정하도록 구현하였다.
다음은 UI 및 건축물 설치 관련을 제작해봐야겠다.
'GameEngine > UnityEngine' 카테고리의 다른 글
20.03.17 List 자료구조 안에 Transform 정리하기 (0) | 2020.03.17 |
---|---|
20.02.13 Unity와 Git 연동하기 (3) | 2020.02.13 |
Unity2D 게임 포트폴리오 개발 일지 D + 5 (0) | 2020.01.31 |
20.01.24 Unity Engine에서 Update 와 FixedUpdate의 차이점 (2) | 2020.01.24 |
Unity2D 게임 포트폴리오 개발 일지 D + 4 (0) | 2020.01.22 |
Comments