OnCollisionEnter2D发送信息失败

本文关键字:失败 信息 OnCollisionEnter2D | 更新日期: 2023-09-27 18:04:41

我正在测试OnCollisonEnter2D,它似乎不想为我工作。我的两个游戏对象上都有box collider 2d和rigidbody2d,但它还是无法向主机发送消息。

using UnityEngine;
using System.Collections;
public class CollisionAndResetSystem : MonoBehaviour {
void OnCollisionEnter2D(Collision2D coll) {
    if (coll.gameObject.tag == "Cube")
        print ("hit");
}
}

我把这个海峡从脚本API和它不想工作。

OnCollisionEnter2D发送信息失败

脚本没有问题。问题一定出在你的"boxcollider2d"组件上。请检查"boxcollider2d"的大小,在x和y以及两个游戏对象中都将其更改为100。请检查场景视图,如果你能看到"boxcollider2d"小玩意儿。你必须让"boxcollider2d"和你的游戏对象一样大,然后只有OnCollisionEnter2D才能工作。

如果你不需要你的对象受到物理的影响然后设置isKinematic = falseGravity Scale = 0,并记住将OnCollisionEnter2D脚本附加到gameObject

几点:

void OnCollisionEnter2D(Collision2D coll) {
    if (coll.gameObject.tag == "Cube")
        print ("hit");
}
  1. 确保与正确的标签进行比较(记住区分大小写)。
  2. 确保被比较的游戏对象有这个标签链接。也许你定义了标签,但是没有gameObject带有这个标签。
  3. 检查你的碰撞器组件的大小,它应该足够大,以接收触摸事件。

希望有帮助!

最重要的是检查你的脚本所附加的游戏对象,交叉检查你的脚本是否附加到你想要碰撞的游戏对象上。并且使用Debug.log()来代替Print(),希望这有帮助。