從我剛開始學習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;
}
}