当前位置:   article > 正文

Unity3D切换场景保存游戏对象不销毁_unity3d怎么让人物不可销毁

unity3d怎么让人物不可销毁
using UnityEngine.SceneManagement;
public class Doo : MonoBehaviour
{
    public static Doo instance;
    int a = 0;
    void Start()
    {
      //该单例脚本是避免跳转场景时出现多个该物体
        if (instance != null)
        {
            return;
        }
        else {
           instance = this;
           //避免场景加载时该对象销毁
            DontDestroyOnLoad(gameObject);
        }
        //新的方法 利用lambda表达式代替OnLevelWasLoaded回调方法
        SceneManager.sceneLoaded += (var,var2) => {
    //根据不同场景给游戏对象变换不同位置

          if (var.buildIndex == 1)

           {
               transform.position = new Vector3(2, 3, 4);
           }
           if (var.buildIndex == 0)
           {
               transform.position = new Vector3(4, 4, 5);
           }
       };
    }
    //该方法只有场景跳转时回调 (即将被弃用的方法 新方法见上 SceneManager.sceneLoaded )
    private void OnLevelWasLoaded(int level)
    {

    }
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
           // a = ++a % 2;
            a = a == 1 ? 0 : 1;
            SceneManager.LoadScene(a);
        }
    }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/332827
推荐阅读
相关标签
  

闽ICP备14008679号