본문 바로가기

Unity/Unity3D_MyProject

Unity3D_MyProject - 플레이어Exp경험치 획득, 레벨업 및 UI컨트롤, 플레이어 공속 컨트롤, 몬스터피격시 데미지 텍스트 생성 및 크리티컬 구현

 

 

1.플레이어Exp 슬라이더 UI추가 및 경험치 획득시 선형증가, 최대경험치 설정

 

-플레이어가 공통으로 가지는 데이터를 관리할 PlayerDataMgr라는 오브젝트를 만들어서 싱글톤으로 관리

 

-위 함수인 PlayerExpCalc()함수는 플레이어가 속한 하나의 맵이 클리어 될때마다 골드(경험치)가 플레이어에게 날라가서 흡수될때마다 호출될 것임 아래의 스크립트가 골드(경험치)가 가진 스크립트이다

 

 

 

2. 레벨업시 레벨업효과 프리팹 및 LV텍스트 변화, 슬롯머신UI로 변환, 슬롯머신 스킬 선택시 다시 조이스틱, 액티브스킬 UI로 변환

 

- 플레이어가 스테이지를 클리어했을경우에만 업데이트문을 돌려 선형보간으로 경험치획득을 가시화함

 

 

- 경험치가 필요경험치량을 넘게되면 PlayerDataMgr스크립트의 PlayerLvUp()함수가 호출될 것인데 이 함수에 대한 정의가 GameUi스크립트에 있다 이것은 레벨업시 조이스틱UI는 멈추고 슬롯머신UI가 생성되는 UI컨트롤을 위한 함수이다

 

 

 

 

 

 

3. 플레이어 공속 애니메이션과 연동

 

-플레이어의 애니메이터에 ShotSpeed라는 float형 매개변수를 생성하고 애니메이션인 Shot애니메이션 설정에서 Multiplier에 체크를 한후 ShotSpeed 매개변수와 연결지어주고 Parameter를 체크한다

 

- 플레이어스크립트에서 Update()안에서 ShotSpeed를 공속으로 지정할 attackSpeed변수와 연동시켜준다

 

 

 

4.몬스터 피격시 데미지 텍스트 프리팹 생성, + 크리티컬

 

- MonsterBase스크립트에서 Ontrigger에 해당하는 몬스터 피격시 데미지텍스트 프리팹을 생성하고 확률에 따라 크리티컬 데미지로 2배의 데미지와 크리티컬이 발생했다는 true라는 bool값을 매개변수로 넣어서 생성된 데미지텍스트 프리팹안에 있는 DisPlayDamage()함수를 호출한다

 

- 생성될 데미지텍스트 프리팹 관련

- 생성되자마자 크기가 조금 커지는 애니메이션 발생

-해당 데미지텍스트오브젝트가 가진 스크립트