2011年5月22日 星期日

Unity 隱藏3D模型及 GetComponentsInChildren 的使用

有時遊戲設計的需求,在場景中的3D模型物件未必都是一開始就一直是顯示的狀態,有可能會因為某些事件的發生而必須將物件隱藏,或因為某些事件的發生必須使該物件再次顯示出來,通常在大部份的狀況,我們可能會先製作一個 Prefabs ,在需要該物件時利用 Instantiate() 建立一個實例物件,使物件在場景中運作,在不需要該物件時利用 Destroy() 將此物件銷毀,可是如果我們的需求是必須持續使用該物件,物件本身帶有某些資料值會持續使用到,那麼就不能隨意將其銷毀,但此時需有一段時間不能使該物件出現在畫面上,那麼我們應該怎麼做呢?

2011年5月14日 星期六

Unity 的 JaveScript 利用 enum 定義常數

比較有點經驗的程式設計人員都知道,寫作時應該要多避免程式碼中有不可思議的值,所以通常我們會利用變數或常數來宣告一些值,需要變動的值,理所當然的會定義變數來代替,所以不容易使程式碼中出現不可思議的值,但很多時候只是為了判斷用的值,我們如果常常使用 if(status == 7) 這樣的方式寫作,程式結構越來越大或是將來回頭來維護時,可能很難想像到這個數值 7 究竟是代表什麼意義,所以此部份如果事先定義常數的話,將可以更方便於辨識及後續維護,例如 if(status == PLAYING),可以更清楚明白這個判斷的目的為何。