一.物體類
前面提到過,一個遊戲物體有很多元件,每個元件有不同的功能,使得這些遊戲物體有不同的功能,每一個遊戲物體在C#腳本裡面都對應一個“類”叫做“GameObject”,接下來創建一個空物件“Empty”和空腳本“Emptytest”,把空腳本掛在空物體下面,之後打開腳本。
在腳本裡面要怎麼得到掛載的Object物件呢?非常簡單,只要是元件的腳本,都可以透過this方法取得當前物件。
是否真能取得還要看實際的操作,利用go取得當前物件。
可以看到得到的名字正是之前自定義的名字,也確定了this確實能取得物件。
一個物件可不止有名字,既然能取得名字就代表能取得其他東西,譬如說前面提到的標籤。圖層也是同理,這裡就不舉例了。
接下來要提到物件激活的概念,這有點像是一個悖論,如果我不激活物件就無法執行物件,物件無法執行的話裡面的腳本也就無法執行,但是我都手動激活物件了再去用腳本查看物件的激活狀態就非常多此一舉了.
這時候我們就需要其他的物件來幫我實現,在Empty下面建立一個不為空的子物件,並且在腳本中宣告一個同名的變量。
接下來在“檢查器”的腳本欄位手動把最下面的“立方體”選中成“Cube”,或者直接把Cube拖到“立方體”的欄位。至此,我雖然只有宣告一個變量,但是它已經有值了。
接下來再建立一個子物件,不用宣告變數,讓這個新的子物件成為“Cube”的父物件,並且把中間這個新物件設置為非激活,其他都為激活。
這時就可以透過Cube取得自己以及父物件的激活狀態,真正的激活狀態指的就是父類的激活狀態,因為父類不激活子物件也用不了。
可以看到Cube的父類是新物件,而剛剛新物件是未激活的,所以Cube的真正激活狀態是Flase,但是Cube自身是激活狀態,所以第二個回應是True。
接下來還有兩種常用的方法,第一種是和元件相關。
第二種則是和名稱、標籤、圖層相關。
二.時間
老規矩,建立空腳本“TimeTest”和空物件,並把腳本加入物件,之後進入腳本,前面提到了生命週期方法,這時候就派上用場了,接下來我先在Start()中列出三個常見的方法(fixedDeltaTime就是之前提到過的FixUpdate方法)。