일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 백준 1103번
- 코테
- dfs
- 2870번 수학숙제 c++
- 수학숙제
- Lv2
- 백준 c++ 2870번
- 백준 1103번 게임
- 백준 2870번
- 2468 c++
- Algorithm
- 백준 17070번
- 백준 17070번 c++
- c++
- Lv.3
- 2870번 c++
- 유니티
- 프로그래머스
- 백준 c++ 2468번
- 2870번
- 백준
- 플레이어 이동
- 오브젝트 풀링
- Beakjoon
- 백준 1103번 c++
- C#
- 2870번 수학숙제
- 코딩테스트
- 17070번
- Unity
- Today
- Total
주녘공부일지
[ShootingGame] 1. 플레이어 이동 구현 본문
0. 준비하기
1. 플레이어 이동
Move() : Updata문에서 실행 // 캡슐화
- Input.GetAxisRaw() : 방향값 추출 (-1, 0, 1)
RawData : 가공되지 않은 데이터, 등을 뜻함, Axis : 축
+ transform 이동에는 Time.DeltaTime 사용!
+ 플래그 변수를 사용해 경계 이상 넘지 못하도록 제한 // 2번 충돌감지
2. 경계 설정 (플레이어 이동 불가 로직)
- OnTiggerEnter2D(플래그 설정) : 플래그 변수 true (이동 불가 상태)
- OnTriggerExit2D (플래그 지우기) : 플래그 변수 false (이동 가능 상태)
+ 4방향 각각 콜라이더로 경계를 설정
https://godgjwnsgur7.tistory.com/4
+ 리지드바디로 충돌감지 (타입은 Static로 설정) // 1번에서 제한하는 로직
https://godgjwnsgur7.tistory.com/3
3. 플레이어 애니메이션
Animator 컴포넌트를 추가하고 Center, Left, Right 이동 애니메이션을 추가하고
- 1번 : 파라미터 Input 추가 (int형) // Input.GetAxisRaw()값을 그대로 사용할 예정
- 2번 : 스테이트간의 트랜지션을 추가
- 3번 : 트랜지션의 동작 조건을 Equals (같으면 실행) // Center 0, Left -1, Right 1
- 키를 눌렀을때 즉각적으로 애니메이션 변경을 하기 위해 Has Exit Time 체크를 해제
- 2D 스프라이트 애니메이션이기 때문에 Settings에 Duration은 0으로 설정
+ // 3D에서는 부드럽게 모션을 변경하기 위하여 사용하지만, 2D에선 잘 사용하지 않음
애니메이터를 선언하여 버튼이 눌렸을때, 누른 버튼을 떼었을 때 함수를 호출하여 위에서 만들어놓은 파라미터 Input에게 SetInteger()로 값을 전달하는 로직을 Move()에 추가로 작성 // Update문으로 돌아가는 함수
+ GetInteger()로 파라미터에게 값을 받아올 수도 있음
https://docs.unity3d.com/kr/530/ScriptReference/Input.html
https://github.com/godgjwnsgur7/ShootingGame
강의 출처
https://www.youtube.com/watch?v=ETYzjbnLixY&list=PLO-mt5Iu5TeYtWvM9eN-xnwRbyUAMWd3b&index=1
'GameDevelopment > [Unity] Lecture' 카테고리의 다른 글
[ShootingGame] 6. 아이템과 필살기 구현하기 (0) | 2022.01.29 |
---|---|
[ShootingGame] 5. UI 간단하게 완성하기 (0) | 2022.01.28 |
[ShootingGame] 4. 적 전투와 피격 이벤트 만들기 (0) | 2022.01.28 |
[ShootingGame] 3. 적 비행기 만들기 (0) | 2022.01.27 |
[ShootingGame] 2. 총알 발사 구현하기 (0) | 2022.01.26 |