unity3d - 在方法 OnCollisonEnter2D 中未检测到碰撞
问题描述
我正在尝试检测碰撞,但它们没有被触发:
public class cs_bullet : MonoBehaviour
{
void OnCollisonEnter2D(Collision2D coll)
{
Debug.Log("collision");
if (coll.gameObject.tag == "target")
{
Debug.Log("hit_target");
Destroy(coll.gameObject);
Destroy(gameObject);
}
}
}
子弹预制件
目标预制件
解决方案
这可能是因为您需要将方法键入为“OnCollisionEnter2D”而不是“OnCollisonEnter2D”(您错过了名称中的“i”)。
推荐阅读
- php - 为什么在此 JSON 字符串上使用 json_decode 会导致空值
- qt - Qt Quick Actions 未显示彩色图标
- android - Flutter 测试完成但出现错误:ProcessException: Permission denied
- javascript - 在不同页面上使用变量更改图像 src 的正确方法是什么?
- firebase - 在flutter中从firebase下载数据
- typescript - “DocumentData”类型的参数不可分配给“never”类型的参数
- go - 类型 clientv3.Config 没有字段或方法用户名
- python - 使用 selenium 从 Firefox 自动下载 zip 文件
- reactjs - 如何在反应路由器的 URL 中间嵌入 :id 参数
- angular - 将 Angular 11 迁移到 12:更新 @angular-builders/custom-webpack 后找不到模块“webpack”错误