跳到主要內容

發表文章

目前顯示的是 5月, 2017的文章

Unity 近三個月的整理..Part2

1. 而我在用monobehaviour時 有用到了invoke,它的作用應該是去叫用Script中的某個function,例如Invoke("function name",2) 在兩秒之後去Call這個function。 或是A物件掛載了一個Script,例如我想Tween一個物件然後在物件下方新增一個Component叫EggTween,在EggTween 是一個MonoBehaviour 在Start時候會去設定起始時間,所以我就用Invoke("Start",在2秒後啟用)。 然而類似方法有(Invoke、CancelInvoke、InvokeRepeating )。 2. 在Unity中效能也是很重要的,所以盡量避免用GameObject.Find("場景物件"),他會掃過所有在場景中的gameobject來做比對,所以盡量可以不要用到就不要用這種方法。 在此引用別人寫的效能篇作為往後參考用。 http://unityin.tumblr.com/post/16915417774/%E6%95%88%E8%83%BD%E6%95%88%E8%83%BD%E6%95%88%E8%83%BD 3. 在Script裡面,我以前都不太用(事件),比較常去用其他的資料型態,例如GameObject、int、List等等的基本資料型態。但像 UnityEvent這型態就比較少用到。 這型態最常見的地方就是在UGUI裡面的Button或其他物件,他會有OnClick,這就是事件。所以我們現在可以自製事件然後再叫這事件去做一些事情,我們進而呼叫事件去做事。 using UnityEngine; using System.Collections; using UnityEngine.Events; public class TestLoader : MonoBehaviour { [SerializeField] protected UnityEvent onLoad = new UnityEvent(); //這邊就是自製事件 [SerializeField] protected UnityEvent unLoad = new UnityEven...