比如我添加了一個物體A,B,在物體上添加a腳本,然后拖到檔案夾中,在場景洗掉,在物體B添加b腳本,在b腳本中想要呼叫a腳本中的方法該怎么呼叫。
ps:我將腳本a中:
public static a A_a;
在Start方法中A_a=this;
在腳本B中直接用A.A_a.方法名呼叫不了
ps:
在腳本B中用GameObject.Find("A").GetComponent<a>()也沒用,好像是因為找不到該物體
那該怎么呼叫
uj5u.com熱心網友回復:
先創建AClone,再根據AClone獲取a腳本,然后呼叫uj5u.com熱心網友回復:
用代碼怎么實作,在腳本b中如何呼叫a腳本?uj5u.com熱心網友回復:
你的a沒有在場景中,start就根本不會執行。你把a物體拖到場景中在呼叫啊。uj5u.com熱心網友回復:
問題是A物品不能出現在場景中啊uj5u.com熱心網友回復:
如果明確A絕對不會被實體化到場景中,那么可以直接B腳本宣告一個公開的A變數,然后監事面板上把你放到檔案夾下的預制體賦值給這個B變數。需要注意的是,這樣是直接訪問了預制體實體。。請不要修改A物件任何東西。uj5u.com熱心網友回復:
必須先加載到場景里才能呼叫。轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/37531.html
標籤:Unity3D
上一篇:一個簡單的問題,請進!
下一篇:unity與mono
