Unity/베어유 : 어몽어스 개발 노트

[11강] 미니게임 미션 준비하기

서니션 2023. 1. 13. 11:52
728x90
반응형

첫 번째로, 메인 메뉴에서 미션 버튼을 누르면 미션으로 갈 수 있도록 설정해야함

 

메인 메뉴 스크립트에

// 미션 버튼 누르면 호출
public void ClickMission()
{
    gameObject.SetActive(false);
    missionView.SetActive(true);
}

작성해준다

 

만든거를 미션의 온클릭에 넣어준다

 

메인메뉴에 미션뷰에도 미션을 넣어주면 준비 완료

 

새롭게 Resources 라는 폴더를 만들어주고

그 안에 캐릭터를 드래그해서 넣어줌

그럼 캐릭터가 파란색 글씨가 됨 (철자 틀리면 안됨)

 

하이어라키 창에 있는 캐릭터는 지워주고

메인 메뉴 스크립트 수정

 

// 미션 버튼 누르면 호출
public void ClickMission()
{
    gameObject.SetActive(false);
    missionView.SetActive(true);

    Instantiate(Resources.Load("Character"));
}

 

메인 화면에서 미션 버튼을 누르면 미션화면으로 이동하는 것을 확인 가능.

근데 캐릭터가 야자수 안에서 만들어져서 이동할 수 없음.

위치를 바꿔주어야 함.

 

ClickMission() 함수에

Instantiate(Resources.Load("Character"), new Vector3(0,-2,0), Quaternion.identity);
// Quaternion.identity -> 원래 가지고 있는 회전값(Rotation)을 사용하겠다

로 수정

 

더 이상 야자수에 걸리지 않는 것 확인!

 

게임 나가기 버튼을 누르면

캐릭터도 삭제되어야하고.. 메인화면으로 돌아가야함

 

public void ClickQuit() 함수를 만들어서 여차저차하면

확인 가넝 헤헤

 

이제 본격적으로 미션 만들기 시작!

 

item 폴더에서 mission1(코코넛)을 카페테리아 아래로 가져와서

기존 맵에 있던 코코넛과 알맞게 겹쳐준다

여기서 Order in Layer를 수정해준다

미션 -1 / 미션, 백을 제외한 맵 -2 / 백 -3 으로 수정해준다

 

 

Circle Collider를 넣고 (크기는 0.7)정도 이 근처에 갔을 때 플레이어가

기능을 수행할 수 있도록 감지하기 위한 용도

이 부분에 부딪혀서 못 넘어가게 하지는 않을 거임 -> Is Trigger 클릭

Is Trigger가 체크되어 있으면 Collider에는 들어갈 수 있게 됨

 

미션을 구분하기 위해 Tag를 만들어 준다 -> Add Tag -> Mission 이라는 이름의 Tag생성

 

미션에 대한 함수를 PlayerCtrl.cs 만들어준다

    // 원래 유니티에 있는 함수, Is Trigger가 체크되어있는 Collider와 닿았을 때 호출되는 함수
    private void OnTriggerEnter2D(Collider2D col)
    {
        if (col.tag == "Mission")
        {
            print("미션 감지");
        }
    }
}

 

가까이 가면 Console창에 미션 감지가 확인 된 걸 볼 수 있다

 

 


 

이번 강의는 스크립트를 이리 저리 옮겨다녀서 뭔가 어려웠다

다 이해하고 적은 느낌이 아니라서

글을 다 쓰고 다시 한 번 복습해봐야겠다.

728x90
반응형