2015-10-05 60 views
1

我想通過OOP語言瞭解Unity中游戲對象的實際表示。Unity的遊戲對象只是面向對象編程中對象的完美示例?

我會說出這句話,我想知道它是否是正確與否:

被發現爲統一的層次結構的一部分的遊戲對象不過是一個單一的對象,其字段成員變量這指的是被稱爲「組件」

第二個問題還沒有其他對象:

假如這是正確的,這些對象是OOP即而言實際的對象,他們是「類的實例」,當他們是否被實例化,他們什麼時候被垃圾收集(通常)?

回答

2

Unity遊戲的主要構建塊是「GameObjects」,它們根據面向對象編程原理的「對象組合」工作。但是,在我看來,你不應該把它們看作是可以派生/繼承/重寫的類,而是像使用C#或JS一起工作的類的容器或組,以OO方式一起工作的實體對象。

遊戲對象的場景在發射過程中實例化或當您試圖通過代碼來實例化它們,例如: Instantiate(myGameObject, Vector3.zero, Quaternion.identity);

他們收集垃圾時,你:

  • 切換到另一個場景
  • 退出遊戲/應用程序
  • 致電Destroy(instantiatedGameObject);