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;
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM