-
Notifications
You must be signed in to change notification settings - Fork 2
develop Enemy Dead
Jeon-YJ1004 edited this page Feb 6, 2023
·
1 revision
- onTriggerEnter2D 함수 안에서 health>0 false 이면 Dead()함수 실행 => 애니메이션 설정 후 제거(여기서 실행하면 애니메이션이 너무 짧음)
- Enemy Animator에 'Dead' state와 parameter 생성
- health>0 false 일때 바뀔 object 변수들 설정
- 재생성시 변수들 초기화가 필요하므로 onEnable 함수에 변수 초기화
- 사망 애니메이션 설정
5-1. 적 사망시 애니메이션을 1초까지 실행 구현
5-2. 1초 프레임에 add Event 선택 후, 인스펙터에서 Dead() 함수 연결
//Enemy.cs
private void OnEnable()
{
//활성화 될때 변수 초기화
isLive = true;
health = maxHealth;
coll.enabled=true;
rb.simulated = true;
spriter.sortingOrder = 2;
anim.SetBool("Dead", false);
}
void Dead()
{
// object 비활성화
gameObject.SetActive(false);
}
- GamManager에 level, kill, exp 변수 설정
- Charater.cs에서 GetExp()함수 연결
- 사망 로직이 연달아 실행되는 것을 방지하기 위해 Enemy.cs에 조건 추가