쯔꾸르식 유니티 게임 공부

6.개량 씬과 씬 이동하면서 위치 지정하기

ruripanda 2025. 1. 5. 20:27
using UnityEngine;
using UnityEngine.SceneManagement;

public class TransferScene2 : MonoBehaviour
{
    public string transferMapName;//이동할 씬의 이름
    public Vector3 goIngMap;
    
    private MovingObjcet thePlayer;

    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.gameObject.name == "Player")
        {
            SceneManager.LoadScene(transferMapName);
            MoveingMapPlayer();
        }
    }

    void MoveingMapPlayer()
    {
        MovingObjcet thePlayer = FindAnyObjectByType<MovingObjcet>();
        if (thePlayer != null) 
        {
            thePlayer.transform.position = goIngMap;
        }
        else
        {
            Debug.Log("실패했습니다");
        }
    }
}

 

첫째 줄에는 이동할 씬의 이름을 준비해준다

두번째 줄은 Vector3의 좌표값을 저장할 변수를 지정해주고 변수명은 goIngMap로 했다

마지막 줄에는 플레이어 오브젝트를 변수로 넣었다

 

발판을 누르면 작동되는 형식으로 만들었으며 이름이 Player이면 작동하도록 세팅했다

그리고 함수 안에 씬 이동을 넣어놓고

 

씬이 이동되면 MoveingMapPlayer()함수를 만들어서

첫줄에 플레이어를 장착하고

조건문을 붙여서 플레이어가 존재하면

goIngMap를 하도록 했다

이동하게 될 맵의 이동좌표
스크립트 안에 X,Y,Z로 값을 지정했다
적용 완료