유니티 2D 게임 제작 2단계
(SLIDE TO CIRCLE)
#공의 점프
공의 점프는 버튼을 눌렀을 때,
0.6초동안 중력 벡터를 반대로 설정하고
0.6초 후에 다시 원래 대로 돌려 놓으면 자연스럽게 진행될 것입니다.
빨간색 공의 Red_GM 스크립트에서 해결할 것입니다!
UI에서 Button을 생성하였고 Source Image에 png파일을 넣었습니다. 그리고 on click에 버튼 함수가 들어있는 스크립트인 Red_GM을 가지고 있는 오브젝트인 빨간색 공을 연결하고 오른쪽에 Red_Button함수를 연결시켜줍니다.
1. Red_Button()함수를 사용해 버튼이 눌리면 Red_Button_Constant에 1를 대입합니다.
2. if문에서 Red_Button_Constant를 체크하여 버튼이 눌린지 검사하고 눌렸다면 Jump_Time동안 Gravity_Vector에 -1.2를 곱한 값을 저장합니다. 즉 반대방향의 힘을 주기 위함입니다.
3. else if문에서 1초가 지나면 버튼을 리셋시키고 Speed_Vector값을 -0.3f 해줍니다.
4. else문을 통해서 버튼이 눌리지 않았을 때 Gravity_Vector을 유지시켜줍니다.
간단하게 정리하자면,
점프를 구현하기 위해 버튼 함수를 만들고, 버튼이 눌리면 점프를 구현합니다.
점프는 일정시간 동안 Gravity_Vector에 -1.2f를 곱한 것으로 구현하고 시간이 지나면 원상태로 되돌립니다.
사실 점프를 이렇게 구현을 해보았는데,
0.6초의 점프시간이라던지, -1.2라던지 약간 직관으로 계산을 해버려서 점프가 자연스럽지 못합니다.
이부분은 계속 테스트 해보면서 수정할 계획입니다.
0.6초보단 0.4초가 더 낫다. -1.2보다 -1.4가 더 자연스럽다.
이런식으로요!
'Unity > Log' 카테고리의 다른 글
유니티 2D 게임 제작 5단계 (SLIDE TO CIRCLE) (0) | 2018.08.19 |
---|---|
유니티 2D 게임 제작 4단계(SLIDE TO CIRCLE) (0) | 2018.08.19 |
유니티 2D 게임 제작 3단계(SLIDE TO CIRCLE) (0) | 2018.08.19 |
유니티 2D 게임 제작 1단계(SLIDE TO CIRCLE) (0) | 2018.08.19 |
유니티 2D 게임 구상(SLIDE TO CIRCLE) (0) | 2018.08.19 |