유니티 07_ 2D 플랫포머

    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를 설정할 수 있다.

    댓글