unity OnTriggerExit2D 并不总是有效

unity OnTriggerExit2D doesn't work always

我有一个小型统一游戏,我从一个预制件实例化了手指克隆,该预制件附加了移动和动画脚本,一个盒子碰撞器对象等于检测碰撞的视口大小,以及一个增加的对象计数器(即,屏幕上显示的手指克隆实例数计数器)。

物体以 1 到 3 秒的随机间隔出现在屏幕上,玩家必须按住手指直到下一个物体出现。如果屏幕变黑,则游戏结束。

为了实现这个逻辑,我使用了与视口大小相同的 box2d collider,并将 box2d collider 附加到手指。

OnTriggerEnter2D 总是增加静态对象计数器值,但并不总是被触发。我需要销毁对象的地方

手指对象也有附加的动画,但它仅在玩家按住或按下手指时播放,而不是在对象进入或退出屏幕时播放。

这是手指对象的代码:

    using UnityEngine;
    using System.Collections;
    public class checkCollisionwithBox : MonoBehaviour {
        bool collided = false;

        void OnTriggerEnter2D(Collider2D other) {
            if (other.gameObject.tag == "mesh") {
                if (this.collided == false ) {      
                   GameController.GoodFingerOnScreen++;
                   this.collided = true;
                }
              }
           }
        void OnTriggerExit2D(Collider2D other) {
          if (other.gameObject.tag == "mesh") {
            if (GameController.GoodFingerOnScreen != 0) {   
                GameController.GoodFingerOnScreen--;
             }
           Destroy (this.gameObject);
         }
       }
   }

尝试在碰撞检测下的刚体组件中进行连续检测选项,否则如果这无济于事,请通过使用一些 debug.log 或在场景视图内部检查来确保手指始终处于触发器之外.