在 unity3d 中碰撞对象时的增量问题
Increment issue while colliding objects in unity3d
我正在 unity3D 中创建一个用于测试目的的基本游戏,只要定义的对象发生碰撞,我就会计算对象的数量。我创建了名为 objects
birds1 upto birds8
的对象,同时击中了名为 birds1、birds2 的对象。我正在尝试增加计数器,它应该将 f
的值增加 1,如果在这里击中小鸟,计数器将增加随机数而不是增加 1。我设置了一个计数器不应该增加的值超过 8 的限制,因此它在 8 的限制处停止。下面是我的代码,我正在发布我正在使用的代码。请任何人帮助我,我的代码在哪里 运行 错误。
public void OnTriggerEnter2D(Collider2D target)
{
if (target.gameObject.name == "bird1" || target.gameObject.name == "bird2" || target.gameObject.name == "bird3" || target.gameObject.name == "bird4" || target.gameObject.name == "bird5" || target.gameObject.name == "bird6" || target.gameObject.name == "bird7" || target.gameObject.name == "bird8" && f < 8)
{
f++;
propPAnel8.SetActive(true);
BirdText.text = "x " + f;
if (f == 8)
{
bound8.isTrigger = true;
}
}
}
OnTriggerEnter2D 将被调用多次,尤其是当您的碰撞体具有多个接触点时:这就是为什么 f 的增量看似随机,但在本例中并非如此。
您在碰撞过程中获得的增量与您的接触点数一样多。你想用 1 的增量实现什么?也许您需要一个布尔值,将 Collider2D 的 isTrigger 属性 设置为 false 会有所帮助,但这取决于您的游戏逻辑。
我正在 unity3D 中创建一个用于测试目的的基本游戏,只要定义的对象发生碰撞,我就会计算对象的数量。我创建了名为 objects
birds1 upto birds8
的对象,同时击中了名为 birds1、birds2 的对象。我正在尝试增加计数器,它应该将 f
的值增加 1,如果在这里击中小鸟,计数器将增加随机数而不是增加 1。我设置了一个计数器不应该增加的值超过 8 的限制,因此它在 8 的限制处停止。下面是我的代码,我正在发布我正在使用的代码。请任何人帮助我,我的代码在哪里 运行 错误。
public void OnTriggerEnter2D(Collider2D target)
{
if (target.gameObject.name == "bird1" || target.gameObject.name == "bird2" || target.gameObject.name == "bird3" || target.gameObject.name == "bird4" || target.gameObject.name == "bird5" || target.gameObject.name == "bird6" || target.gameObject.name == "bird7" || target.gameObject.name == "bird8" && f < 8)
{
f++;
propPAnel8.SetActive(true);
BirdText.text = "x " + f;
if (f == 8)
{
bound8.isTrigger = true;
}
}
}
OnTriggerEnter2D 将被调用多次,尤其是当您的碰撞体具有多个接触点时:这就是为什么 f 的增量看似随机,但在本例中并非如此。
您在碰撞过程中获得的增量与您的接触点数一样多。你想用 1 的增量实现什么?也许您需要一个布尔值,将 Collider2D 的 isTrigger 属性 设置为 false 会有所帮助,但这取决于您的游戏逻辑。