2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

응용프로그래밍/유니티기초

[유니티기초] 2-03. 두 객체가 부딪혔을 때 밀림 방지

파아란기쁨1 2022. 5. 31. 23:35
반응형
목표

게임 중에 적군을 만나서 전투 중에 밀면 적군이 밀리는 증상이 발생한다. 이때 적군이 밀리면 안되기 때문에 이러한 처리 방법을 알아 보자.

 

실습

2022.05.31 - [응용프로그래밍/유니티기초] - [유니티기초] 2-02. 다형성과 인터페이스

 

[유니티기초] 2-02. 다형성과 인터페이스

목표 1. 다형성이 무엇인지 알아보고 구현하는 방법을 살펴 보자. 2. 인터페이스 사용법을 알아 보자 이론 1. 다형성 플레이어와 적이 있다면 공통적으로 생명체로 동작하게 되며 생명력과 누군

thinkmath2020.tistory.com

이 코드를 실행해 보면 플레이어가 드래곤이나 오크를 만났을때 밀면 밀리는 증상이 나타난다.

 

따라서 몬스터가 말을 하는 시점에 Rigidbody 2D의 Constraints 의 Freeze Position 을 체크 해 주는 기능을 넣어 주면 된다.

    private void OnCollisionEnter2D(Collision2D other) {
        if(other.gameObject.tag=="bottom"){
            //Die(); 
        }
        IMonster monster = other.gameObject.GetComponent<IMonster>();
        if(monster!=null) {
            monster.Say();
            Rigidbody2D otherrb = other.gameObject.GetComponent<Rigidbody2D>();
            otherrb.constraints = RigidbodyConstraints2D.FreezeAll;
        }
    }

RigidbodyConstraints2D 의 속성은 다음과 같다.

반응형