unity OnTriggerEnter2D 不能重复使用
Posted
技术标签:
【中文标题】unity OnTriggerEnter2D 不能重复使用【英文标题】:Unity OnTriggerEnter2D cannot be reused 【发布时间】:2016-02-28 23:14:43 【问题描述】:我的 OnTriggerEnter2D eventTrigger 有问题。
主要问题是在相同的对象重新进入 2D 圆形碰撞器时激活 OntriggerEnter2D。
目前我有 3 个可以交互的对象,我们称它们为 A1、A2 和 B1。 当 B1 进入 A1 时,它就起作用了。当 B1 进入 A2 时,它就起作用了。但是当 B1 重新进入 A1 时它不起作用。这也包括是否在开始时输入了 A2。
我能找到的只是统一解释: “注意:触发事件将被发送到禁用的 MonoBehaviours,以允许启用响应碰撞的行为。” (http://docs.unity3d.com/ScriptReference/MonoBehaviour.OnTriggerEnter2D.html)
如果它只是完全停用 OnTriggerEnter2D 的触发器,是否有某种方法可以解决它以使其像“OnTriggerEnter2D”一样工作?
我知道 OnTriggerStay2D,但对我来说,这只会浪费处理能力,同时也是一个愚蠢的糟糕解决方案。
【问题讨论】:
为什么 OnTriggerStay 不是一个糟糕的解决方案? OnTriggerEnter2D 如果它们停止重叠然后再次重叠,则应为相同的 2 个对象再次触发。如果这没有发生,请转到帮助->报告错误来提交错误报告。 【参考方案1】:取决于您所说的重新输入。如果您的对象从未完全分离,您将不会有对 OnTriggerEnter2D 的新调用。
在这种情况下,如果您希望在初始 OnTriggerEnter2D 调用后通知您的对象停留在另一个对象之上,那么 OnTriggerStay2D 是一种方法
【讨论】:
以上是关于unity OnTriggerEnter2D 不能重复使用的主要内容,如果未能解决你的问题,请参考以下文章
Unity OnTriggerEnter2D CompareTag ||比较标签不一致
碰撞后未调用 Unity5 OnTriggerEnter2D(2D 游戏)