카테고리 없음

유니티 07_ 2D 플랫포머

임김차 2022. 8. 2. 17:53

1) Enemy 이벤트

PlayerMove.OnCollisionEnter2D

Player가 Enemy의 위에서(position.y로 비교) 밟을 경우 OnAttack()을 통해서 enemyMove Class의 OnDamaged() 함수를 호출한다. 위로 점프하면서 부딪히는건 밟는게 아니기 때문에 velocity.y < 0으로 아래로 떨어질 때라는 조건을 넣어준다.

PlayerMove.OnAttack()
EnemyMove.OnDamaged()

 

2) 아이템

PlayerMove.OnTriggerEnter2D

OnTriggerEnter2D는 충돌이 일어날 때 한번 호출된다.

 

* OnCollision과 OnTrigger

OnCollision은 RigidBody가 존재하는 Object끼리, 즉 두 객체 모두 물리 법칙을 고려하는 상황에서 사용한다.

OnTrigger는 Object가 IsTrigger 상태일 때 사용할 수 있다. 여기서 Item은 RigidBody를 적용하지 않고(물리 법칙X) 사용하기 때문에 Trigger를 사용한다.

 

3) 게임 매니저

점수, 스테이지 등 View 요소 외의 내부 데이터를 관리한다.

 

 

GameManager C# Script를 아래와 같이 만 들고

GameManager

Player의 Script에 넣어준다.

PlayerMove
PlayerMove.OnTriggerEnter2D

또한 name에 Contains(" ~ ") 함수를 이용하면 ~ 값이 들어가 있느냐에 따라서 Bool True, False를 설정할 수 있다.