目前,当我试图检测对象是否已点击/与之交互的鼠标,我对游戏物体创建一个脚本,然后定义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