Unity2D如何检测来自另一个脚本的两个对象发生冲突



我想检测两个不同的if对象是否碰撞,但我必须从不同的脚本中检测。

void OnCollisionEnter2D(Collision2D collision){}

使用此函数,我无法定义对象。它获取附加到脚本的对象。如何更改Collision2D collision?谢谢

不幸的是,Unity没有直接提供这样的功能。可能与在物理引擎方面实现高效实现有关。通常的解决方案是将一个具有通常OnCollision功能的脚本添加到相应的对象中,并为该脚本提供对第三个对象的引用,该对象将被通知事件。通过引用,您只需调用该对象中的一个公共函数。

如果第三个对象只有一个实例,可以通过在第三个物体上使用Singleton模式来改进,使其无需引用即可访问。

最新更新