1. 程式人生 > >Unity3d開發之對Public的一些個人說法

Unity3d開發之對Public的一些個人說法

在開發專案中,我們經常需要公開類內部的變數讓外部呼叫。c#標準寫法是讓我宣告私有欄位然後生成對應的公共屬性供外部呼叫。保證程式碼安全。而我們在開發unity專案時,因為為了省時或者可以在面板賦值,我們經常直接在類內部宣告公開的欄位。如下:

public int num=1;

unity的獨特之處時,在我們編寫完程式碼儲存後,unity編譯器自動將欄位的值初始化到面板上儲存下來。但是當我們在腳本里更改num=2時,unity面板並不更新。也就是當我們執行程式的時候,num還是為1.如果我們不去看面板我們還以為num=2.這就造成程式碼的bug。尤其是專案著急的時候,總是會出現這種不如意的小毛病,你還焦頭爛額但是就是找不到原因。所以,有以下建議:

  • 當我們想宣告的是引用型別比如GameObject,Transform我們可以使用Public來加快程式碼的開發。
  • 當我們宣告值型別,並且希望被外界呼叫,儘量使用屬性。如果一定想要在面板實時觀看值得變化,宣告Public後建議在Start函式裡進行數值的初始化更改。

別問我為什麼會想這個。昨天的專案就因為這個耽誤了我一個多小時。當時專案著急加上長時間工作,效率極其低下,再加上程式碼的不安全性,造成了這個小的bug。