Unity OnTriggerExit2D始终不起作用

时间:2015-04-22 06:53:36

标签: android unity3d game-physics

我有一个小团结游戏,我从预制件中实例化手指克隆,其中附有运动和动画脚本,一个盒子碰撞器对象等于检测碰撞的视图端口大小,以及一个增加对象计数器(即,计数器)没有克隆的手指在屏幕上显示的实例。)

对象以1到3秒的随机间隔进入屏幕,玩家必须握住手指直到下一个物体到来。如果屏幕变为空白,那就是游戏结束。

为了实现这个逻辑,我使用了与视口大小相同的box2d对撞机,并将box2d对撞机连接到了手指。

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);
         }
       }
   }

1 个答案:

答案 0 :(得分:1)

在对撞机检测下尝试在刚体组件中连续检测的选项,否则如果这不通过使用一些debug.log或在场景视图内检查确保手指总是在触发器之外。