Unityでゲームを作っているのですが、キャラクターがシーン移動した際に、カメラもシーン移動させて追従させようとすると、シーン移動はできても追従がされません
また、元居たシーンに戻ろうとしても、シーン移動ができなくなってしまいます
どなたかご助言をいただけないでしょうか?
以下に利用しているスクリプトを貼っておきます
キャラクター
using UnityEngine;
using UnityEngine.SceneManagement;
public class PlayerMove : MonoBehaviour
{
private void Awake()
{
DontDestroyOnLoad(gameObject);
}
public float speed; void Update() { float moveX = Input.GetAxis("Horizontal") * Time.deltaTime * speed; float moveY = Input.GetAxis("Vertical") * Time.deltaTime * speed; transform.position = new Vector3( //エリア指定して移動する Mathf.Clamp(transform.position.x + moveX, -30.0f, 30.0f), Mathf.Clamp(transform.position.y + moveY, -17.0f, 30.0f) ); } void OnTriggerEnter2D(Collider2D other) { if (other.name == "AreaChange") { SceneManager.LoadScene("Scene2"); transform.position = new Vector3(-10, 5, 0); } if(other.name == "Scene1") { SceneManager.LoadScene("Castle town"); transform.position = new Vector3(10, 5, 0); } }
}
カメラ
using UnityEngine;
public class Camera : MonoBehaviour
{
public GameObject player;
// Use this for initialization
void Start()
{
DontDestroyOnLoad(gameObject);
}
// Update is called once per frame
void Update()
{
Vector3 playerPos = player.transform.position;
//カメラとプレイヤーの位置を同じにする
transform.position = new Vector3(playerPos.x, playerPos.y, -10);
}
あなたの回答
tips
プレビュー