유니티 챌린지/쿠키런

쿠키런_체력 게이지 만들기

minquu 2021. 4. 13. 14:33
반응형

해야할 기능

 

1.시간이 흐르면 조금씩 게이지가 줄어들어야한다.

2.줄어드는 모습에 이펙트를 넣어야한다.

3.체력이 0이 되면 죽는다.

 

 

------------

 

게임 UI 캔버스에 게이지 캔버스 생성후 기본적인 이미지를 넣는다.

 

 

씬안에서 알맞게 배치는 해준다.

 

 

이미지 UI에 필 어마운트 값을 줄이면 이미지가 줄어든다..

 

 

이펙트를 달아준다.

 

 

이펙터의 값을 정해주고 ,

 

스크립터를 하나 만들어줘서,  

 

width 값은 이미지(체력바의 길이)의 길이로 잡아주고,

 

pos 는 이펙터의 위치로 변수를 넣어준다.

 

pos.x 의 값을  이미지의 필어마운트양 (줄어드는 값) * width(체력바의 총 길이) - 12 (이펙트의 길이 반)  -2 를 해준다.

 

 

 

 

 

img의 필어마운트를 조절하면 체력바가 줄어준다.

 

 

-------

 

이제 시간이 흐르면 체력바가 닳도록 해야한다. 

 

게임매니저 스크립터에서 

 

체력바 이미지 UI를 불러오고,

최대 체력, 현재 체력, 델타변수(시간을 재기위함)를 선언해줍니다.

 

시작되면 현재 체력은 최대체력이 되고,

 

업데이트에선

 

게임오버가 아닐시,

최대 체력 - (초 - 0.05); 씩 필 어마운트를 줄이게 해줍니다.

 

 

 

시간이 흐르면 체력이 깍입니다.

 

-----

 

체력이 0이 되면 죽는다.

 

 

PlayerController 스크립터에 

Die 메서드 수정

 

 

 

deadAni (죽는 애니를 햇는지 체크) 변수를 선언하고, 죽음 애니 소환시  True로 바꾸어서 반복되지 않기 위함임

 

 

 

 

GameManage 스크립터에서  UIfillAmount 가 0이 되고, deadAni 가 폴스 일경우에

Die 메서드를 소환시킨다.

 

 

 

 

반응형