目前,當我試圖檢測對象是否已點擊/與之交互的鼠標,我對遊戲物體創建一個腳本,然後定義void OnMouseDown()
和內應用的功能。如果我然後想要在另一個腳本中觸發一個功能而不是附加到遊戲對象,我通過GetComponent<>()
引用調用它。團結 - 添加回調到遊戲物體onmousedown事件事件
有沒有辦法從另一個GameObject上的腳本添加一個回調到OnMouseDown事件?可能以相同的方式分配和調用委託/事件?例如:gameObjectReference.GetComponent<BoxCollider>().onmousedownevent += MyFunction;
這樣它會自動在鼠標上調用此函數?
注:我知道你可以使用raycasting來實現類似的事情,但我的問題是關於將回調附加到現有的Unity事件。
當然,使用Unity事件 - 你已經完全描述了它們。只需點擊一下手冊或十億份QA或教程 – Fattie
我投票結束這個問題作爲題外話題,因爲手冊中提供了完整的信息https://unity3d.com/learn/tutorials/modules/intermediate/scripting/事件也檢查出http://forum.unity3d.com/threads/unityevent-where-have-you-been-all-my-life.321103/ – Fattie
只是順便說一句,如果你觸摸/輸入,這就像是根本,壓倒性的統一問題:http://answers.unity3d.com/questions/784617/how-do-i-block-touch-events-from-propagating-throu.html – Fattie