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 或在场景视图内部检查来确保手指始终处于触发器之外.
我有一个小型统一游戏,我从一个预制件实例化了手指克隆,该预制件附加了移动和动画脚本,一个盒子碰撞器对象等于检测碰撞的视口大小,以及一个增加的对象计数器(即,屏幕上显示的手指克隆实例数计数器)。
物体以 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 或在场景视图内部检查来确保手指始终处于触发器之外.