일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 플레이어 이동
- Vector3
- Hp바
- CSharp #자료구조
- 플레이어 방향전환
- 패럴렉스
- Object Pooling
- Ainimation Blending
- Unity
- raycasting
- 2D슈팅게임
- Hpbar
- 오브젝트 풀링
- Prefabs
- raycast
- 스크롤링
- Parallax
- Transform
- rotation
- 프리팹
- Object Poling
- 일시정지
- Animation State Machine
- apk
- rigidbody
- LayerMark
- Blend Type
- joystick
- 유니티
- Scrooling
- Today
- Total
주녘공부일지
[ShootingGame] 5. UI 간단하게 완성하기 본문
0. 목숨과 점수 UI 배치
- UICanvas 에 Text와 Image를 추가하여 Rect Transform를 설정
Tip) 우측 이미지 상태에서 Shift와 Art를 눌러서 선택
- Scale With Screen Size : 기준 해상도의 UI 크기 유지 // 웬만하면 이 외에는 사용할 일 없음
1. UI 로직
- 각 적 기체의 점수는 Enemy 스크립트에서 int형 변수로 선언하여 관리
- Text, Image, 등의 UI 변수는 using UnityEngine.UI를 선언해야 사용 가능
string.Format() : 지정된 양식으로 문자열을 변환해주는 함수
- "{0:n0}" : 세자리마다 쉼표로 나누는 양식
UpdateLifeIcon(int life) : int형 변수 life를 인자로 받아서 lifeIcon 상태를 갱신해주는 함수
- 모두 투명상태로 만들고, 남아있는 라이프만큼만 표시되는 로직
GameOver() : 목숨이 다하면 실행될 함수
- 게임오버 상태로 돌입할 때 띄울 UI를 묶어놓은 오브젝트를 SetActive 시킴 // 활성화
GameRetry() : 씬을 다시 불러옴
- 씬 빌드에 할당되어있는 번호인 0을 입력하였고, 씬 이름으로 할 수도 있음.
+ 씬을 관리하기 위해서 using UnityEngine.SceneManagement; 를 선언해야 사용 가능
2. 게임오버 조건 설정과 예외 처리 ( 피격 중복이 가능한 버그 )
- 피격 중복을 방지하기 위한 bool IsHit를 Player 스크립트에 추가 ( 기본 상태 false로 초기화 )
- 피격 시에 isHit가 true인지 바로 확인해 true 상태라면 return 시키고 아닐 시엔 isHit를 true로 바꾸고 로직실행
- playerLogic 을 선언해 플레이어를 리스폰 시킨 후에는 player의 isHit를 false로 만드는 로직
https://github.com/godgjwnsgur7/ShootingGame
GitHub - godgjwnsgur7/ShootingGame
Contribute to godgjwnsgur7/ShootingGame development by creating an account on GitHub.
github.com
강의 출처
https://www.youtube.com/watch?v=qXa7y1Que6s&list=PLO-mt5Iu5TeYtWvM9eN-xnwRbyUAMWd3b&index=5
'GameEngine > Unity - Lecture' 카테고리의 다른 글
[ShootingGame] 7. 원근감있는 무한 배경 만들기 + 페럴렉스, 스크롤링 (0) | 2022.01.31 |
---|---|
[ShootingGame] 6. 아이템과 필살기 구현하기 (0) | 2022.01.29 |
[ShootingGame] 4. 적 전투와 피격 이벤트 만들기 (0) | 2022.01.28 |
[ShootingGame] 3. 적 비행기 만들기 (0) | 2022.01.27 |
[ShootingGame] 2. 총알 발사 구현하기 (0) | 2022.01.26 |