zoukankan      html  css  js  c++  java
  • Unity---使用管理器容器统一管理引用的游戏物体


    从我刚开始学习Unity的时候,要在脚本中取得某个物体的引用时候,无非就一个方法,就是在Inspector面板中拖拖拖。当然这种方法对于新手入门来说再好不过了,也很容易理解。

    下面这种方法是把需要的物体都拖拽到一个Asset文件中,再在代码中加载这个Asset文件。比在每个脚本中都拖拽的方法更加简洁好用。

    ManagerVars

    1、新建一个脚本ManagerVars

    [CreateAssetMenu(menuName = "CreateManagerVarsContainer")]
    public class ManagerVars : ScriptableObject
    {
        public GameObject go1;
    	public GameObject go2;
    	public GameObject go3;
    }
    

    2、在Unity的Assets菜单中创建出这个Asset文件
    这时候在这个脚本中public的游戏物体都可以在Asset文件中赋值了。

    3、在脚本中加载这个Asset文件,用来获取所有赋值的游戏物体。

    [CreateAssetMenu(menuName = "CreateManagerVarsContainer")]
    public class ManagerVars : ScriptableObject
    {
        public static ManagerVars GetManagerVars()
        {
            return Resources.Load<ManagerVars>("ManagerVarsContainer");
        }
    
        public GameObject go1;
        public GameObject go2;
        public GameObject go3;
    }
    

    4、使用

    public class Test : MonoBehaviour
    {
        private ManagerVars vars;
        private GameObject cube;
    
        private void Awake()
        {
            vars = ManagerVars.GetManagerVars();
        }
    
        void Update()
        {
            cube = vars.cube1;
        }
    }
    
  • 相关阅读:
    Keras安装
    sql根据查询顺序返回结果
    @Configuration @Bean
    SQL高级优化系列
    数据结构与算法系列(二)-- 算法
    数据结构与算法系列(一)-- 数据结构
    Golang中Label的用法
    日志收集系统系列(五)之LogTransfer
    日志收集系统系列(四)之LogAgent优化
    日志收集系统系列(三)之LogAgent
  • 原文地址:https://www.cnblogs.com/Fflyqaq/p/11106974.html
Copyright © 2011-2022 走看看