Unity 이론 (IsKinematics, 인터페이스, AnyState, Hitted Motion, Dead)

로젠·2024년 5월 3일
0

게임 프로그래밍

목록 보기
33/49
post-thumbnail

IsKinematics

물리에 대한 움직임을 받지 않게 해준다.

인터페이스

인터페이스는 추상을 극대화한 것이다. 인터페이스는 상수, 추상 프로퍼티(public abstract string name => ), 추상 메소드만 가질 수 있다. 인터페이스를 사용하는 이유는 구현할 것이라는 가능성을 주기 위하거나, 다중 상속이 사용 가능하기 때문이다.

interface IDamageable
{
	void Damage(float power);
}
class Player : Character, IDamageable
{
	public void Damage(float power)
    {
    }
}

인터페이스 구현 중 다중 상속이 가능한데 다중 상속받은 클래스에 같은 이름의 함수가 있을 때 클래스의 이름을 붙여 명시적 정의를 한다.

Any State

Any State가 호출되면 어떤 상태이든 간에 실행된다.

Hitted Motion

때리는 모션을 하였을 때 칼이 공격을 했다 나올 때 두 번 트리거가 일어날 수 있어 리스트를 이용하여 때리는 모션을 실행했을 때 트리거와 닿은 상대를 리스트에 담아 리스트에 담겨있을 때 공격이 안되도록 설정한다. 때리는 모션이 끝났을 때는 리스트를 초기화 시켜준다. 플레이어가 공격하여 상대의 HP를 줄일 때 -를 이용하여 빼주는 것이 아닌 health += (Damage * - 1.0f) 식으로 곱해줘야 좋다.

Dead

Any State에 이어주어 HP가 0 이하면 모션을 출력해 주고 정해진 시간 뒤에 삭제해 준다. 죽는 모션을 실행하면서 Collider을 꺼줘야 한다.

0개의 댓글