c# - SetActive 在 Unity3d 中不起作用?

标签 c# unity-game-engine collision

学习从统一项目中滚动一个球项目,并且当玩家与它们碰撞时拾取不会移除。它只是像透明物体一样穿过它们内部,这是我的代码。

void onTriggerEnter(Collider other) 
{
    if(other.gameObject.tag == "Pickup")
    {
      other.gameObject.SetActive(false);
    }
}

最佳答案

我发现您的代码中存在一个或两个区分大小写的问题。

  1. 该方法的名称是OnTriggerEnter,注意大写“O”。 Unity 在查找要调用的方法时使用区分大小写的搜索。
  2. 标签也区分大小写。本教程使用 PickUp 作为标签,因此请确保您的代码与您在 Unity 编辑器中设置的标签匹配。

关于c# - SetActive 在 Unity3d 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24385426/

相关文章:

c# - 绑定(bind)到模型对象列表的 ViewModels 的 WPF 列表

c# - 如何使用绑定(bind)更改数据网格文本 block 列的前景

javascript - 游戏未检测到角色与边框之间的碰撞

c# - 如何在 Unity 项目上禁用网格线>

java - 在设备上安装两个类似的 Unity 应用程序时出错

java - 将 Eclipse 中的多个文件夹分别导入一个项目

python - 如何判断贪吃蛇游戏中的蛇是否穿过了食物?

c# - 从外部源读取数据到 C# 程序的最佳选择?

c# - Console.WriteLine() 与 Console.WriteLine(string.Empty)

c# - 实例化一颗子弹朝向玩家位置