亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Unity3D腳印4——GameObject

發布時間:2020-03-02 14:14:45 來源:網絡 閱讀:578 作者:wyb10a10 欄目:游戲開發

 通訊,動態創建,Prefab,銷毀

 
通過Hierarchy面板下的Create菜單可以手動地創建一個GameObject,它可以是一個相機,一個燈光,或者一個簡單的模型,當我們要在程序里面動態地創建一個相機的時候,可以new一個GameObject,然后把Camera組件Add給它就可以了,創建燈光,GUI等也類似,但要創建簡單模型的時候,我發現并沒有類似Cube,Sphere這樣的組件可供添加,后面知道,通過GameObject這個類的一個靜態方法可以達到這個目的
 
static GameObject CreatePrimitive(PrimitiveType type);
 
可以根據PrimitiveType創建五種類型的基礎模型
 
PrimitiveType.Plane,PrimitiveType.Cube,PrimitiveType.Sphere,PrimitiveType.Capsule,PrimitiveType.Cylinder
 
Unity3D提供一種被稱為Prefab的預置對象,它是以文件的形式保存在硬盤上的一個GameObject,它里面可能包含了各種設置,組件,還有一些腳本。Prefab允許我們在不同的Scene,甚至Project中使用同一個對象,例如我實現了一個×××,通過打包成Prefab,我可以在另外一個游戲里面直接使用它。
 
當一個Prefab對象被修改的時候,它的所有實例都會相應地被修改
 
在代碼里面動態地實例化一個Prefab對象
 
public GameObject obj;
obj = Instantiate( obj  );
 
要先創建一個公有變量,然后把這個Prefab拖到這個變量上,然后才可以用它來實例化對象(我感到一種蛋蛋的憂傷,能不拖嗎)
 
通過Resources這個類的靜態方法可以將Prefab對象動態加載進來,創建GameObject
 
GameObject之間的通訊,在游戲中,我們往往需要知道其他對象的一些信息,所以我們經常需要動態地查詢另外一個GameObject
 
1. 查找父節點 transform.parent
 
2. 查找子節點 transform.Find("name");  transform.Find("Arm/Hand/Finger"); 沒有找到會返回null,名字如果包含"/"字符將像路徑一樣穿越層次
 
3. 查找場景中的其他GameObject 
GameObject.Find 從Scene下開始查找,根據GameObject的名字進行查找,允許使用"/"穿越層次查找,
GameObject.FindWithTag根據Tag查找一個GameObject,
GameObject.FindGameObjectsWithTag 根據Tag批量查找GameObject
 
GameObject的name和Tag可以直接設置,但Tag需要在標簽管理器先定義一個Tag,這個Tag才可用,你不能將一個未定義的Tag賦給GameObject的Tag變量
 
最后還有一種搓搓的通訊方法,通過Message來調用其他GameObject,默認是垃圾短信群發,也可以將一個Object穿進去,然后調它的方法
 
methodName為方法名,value為方法的參數,options表示是否必須有對象接收該消息(如果是,且沒有對象接受,u3d報錯)
 
//調用本級別所有的GameObject上所有腳本的methodName方法
void SendMessage(string methodName, object value = null, SendMessageOptions options = SendMessageOptions.RequireReceiver);
 
//朝本級別和上級父節點發送調用命令
void SendMessageUpwards(...)
 
//目標是本級別和全部子節點...
void BroadcastMessage(...)
 
調用Object的Destroy方法可以銷毀一個GameObject,組件,或者資源。這是一個靜態方法,函數的原型為 static void Destroy(Object obj, float t = 0.0F );
 
可以通過將this傳入,銷毀自己。
 
GameObject的成員變量很多
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

济南市| 衡东县| 恭城| 绍兴市| 怀宁县| 郁南县| 淮滨县| 洪雅县| 老河口市| 洮南市| 桦川县| 微博| 麻江县| 万宁市| 西青区| 陆丰市| 玉屏| 铜山县| 泰和县| 天全县| 忻州市| 淮南市| 新乡县| 巴东县| 阳东县| 濮阳县| 东至县| 武邑县| 赞皇县| 华阴市| 施甸县| 西丰县| 那曲县| 内江市| 平阳县| 星座| 高雄县| 武穴市| 乌恰县| 登封市| 临潭县|