(UNITY3D)可以在不直接将任何脚本绑定到Collider2d的情况下调用OnTrigerCollider2D()



我想使用一个脚本来控制一个场景的所有元素。让我们称其为"导演"脚本,绑定到Eventsystem。

我知道我可以通过名称或标签获得游戏对象,然后操纵诸如转换之类的组件。因此,我想知道我是否可以在此"导演"脚本中定义ontrigerCollider2d((而不将任何脚本绑定到Collider2D GameObject,就像我定义了转换的值一样?如果可能的话,如何?

如何?

根据某个朋友的说法,有必要将至少一个基本脚本绑定到Collider2D以授权"导演"脚本以访问Collider2D事件,无法绕过此限制?

来自文档:

monobehaviour.ontriggerenter2d(collider2d(

当另一个对象进入附加到的触发器时发送的发送 对象(仅2D物理(。

在 collider2d参数在通话中传递。

为了使事件发射,扳机对撞机必须与您的行为相同的对象。使用对撞机上的对象上的一个小脚本,并引用"导演"上调用方法是我看到的最常见方法。据我所知,对象不可能"订阅"其他对象发射的碰撞事件。

这里的一张海报表明,一个解决方案可以是创建"导演"检查的碰撞经理,但是实际上有碰撞事件的对象需要通知Collision Manager,因此使用该解决方案,您只需添加一个步骤。取决于您实际想做的碰撞事件,这对您可能是有意义的。

最新更新