1.플레이어 피격
Player 스크립트에 getDamage변수를 추가한다. 장애물에 닿았을 경우 해당 변수는 true가 된다.
Obstacle 태그를 가진 장애물안에 있을 경우 getDamage 변수를 true로 만들어주고
플레이어 컬러에서 알파값을 0.7을 줘서 살짝 흐리도록 만들어준다.
OnTriggerExit에서는 Obstacle태그를 가진 장애물에서 빠져나갈 때, getDamage를 다시 false로 만들고 컬러도 원래대로 되돌린다.
2.HP바
Slider UI를 하나 생성하고 이름은 HPBar로 한다.
Fill부분은 Color를 빨간색으로, Background부분 Color는 검은색으로 맞춘다.
새로운 스크립트 HPBar를 생성하고 다음과 같이 코드를 작성한다.
Player 컴포넌트를 받아와서 getDamage 변수가 true일 경우 curHP를 getDamage만큼 깍고
HandleHP함수를 하나 생성해서 value값을 조절하여 체력바가 깍이도록 한다.
3. 게임 재시작
다음과 같은 UI를 생성한다.
GameManager 스크립트에서 게임오버 UI인 gamOverSet 과 HP변수가 담겨있는 hpBar변수를 받아온다.
브금과 장애물 생성 변수를 false로 바꾸는 GameStop함수를 작성하고 GameOver함수에서 UI를 띄우며 GameStop함수를 실행하도록 한다.
그리고 Update에서 hp가 0밑으로 떨어졌을 경우 GameOver함수를 실행하도록한다.
4.일시정지
PauseButton을 하나 생성하고
버튼을 눌렀을 경우 띄울 UI를 생성한다.
PauseMenu 스크립트를 하나 생성하여 다음과 같이 코드를 작성한다.
esc버튼을 눌렀을 경우 각각 PauseGame 함수와 ResumeGame함수를 실행시키도록한다.
Time.timeScale이 0일 경우 게임이 멈추며 1일 경우 게임이 진행된다.
해당 함수들은 버튼을 클릭했을 경우에도 작동되도록 클라이언트에서 연결한다.
'유니티 > 토이프로젝트 - 엘리듬' 카테고리의 다른 글
엘리듬(3일차) - 메인메뉴, 스테이지 클리어 (0) | 2023.02.01 |
---|---|
엘리듬(1일차) - 캐릭터 이동, 매트로놈 생성,장애물 소환 (0) | 2023.01.27 |