在製作遊戲中,一定會有一些非常常用的程式碼,像是建立物件(Instantiate)、讀取資料(Resources.Load)…..等等,通常會把這些常用語法集中在一個工具類別中,並把類別中的方法宣告為Static,供別的類別、專案使用,會讓整個語法更加簡潔易讀
本系列其他文章
- 屬於工程師的專用工具箱(一):便捷工具類別(Utility.cs)
- 屬於工程師的專用工具箱(二):常用工具(Singleton、Debug過濾器)
- 屬於工程師的專用工具箱(三):編輯工具(Editor Tools)
- 屬於工程師的專用工具箱(四):推薦 Plugin [免費篇]
分類
- 系統
- 安全
- UGUI
- GameObject
- Transform
- Sprite
- Time
- Format
- 資源讀取
- 其他
工具類別(Utility.cs)
- 程式碼
- 呼叫方式 Utility.[分類].[方法]
1 |
Utility.GameObjectRelate.ClearChildren(gameObject.transform); |
後記
雖然不是很完善,但是程式是需要不斷累積的,也歡迎各位使用留言提供更多好用的語法,我會在更新上去,打造屬於我們大家的工具吧 !!
另外推薦一個Unity寶庫,就是有名的 Unity Wiki,裡面有許多Scripts、Shaders、Particles、小工具…..等等資源,有空一定要前往看看~~
歡迎轉載,並註明出處 !
SearchChild(name)應該有內建的transform.Find(name)
CompareGameObject(A, B)可以直接用A == B
不知道是沒注意到還是有其他考量?
1.SearchChild(name)應該有內建的transform.Find(name)
SearchChild 是尋找該 Transform 下的所有階層
transform.Find 是尋找 Transform 下的第一層,如果要尋找多層必須使用路徑指定的方式,EX:transform.Find(“Cube/Plane/Object”))
2.CompareGameObject(A, B)可以直接用A == B
如果功能一樣的話,還是比較偏向使用GetInstanceID,程式可讀性比較好
這麼一說好像是,我都忘記find只能找一層了