我有这个问题,当我使用
时GameObject.FindGameObjectWithTag("red");
当我向游戏对象添加动画组件
时,它开始了返回
red(Clone)
当游戏对象在heirarchy中作为唯一具有标记“red”的游戏对象时 它只发生在我添加了动画组件后,当我退出统一并重新启动统一时,问题就消失了,我得到的错误是
MissingComponentException:“red(Clone)”游戏对象没有附加“Rigidbody2D”,但是脚本正在尝试访问它。
场景中有一个红色而不是红色(克隆)但我在检查器中看到当我使用GameObject.FindGameObjectWithTag(“红色”)时它发现红色(克隆)但是没有红色(克隆)只是红色现场,它发生在我添加了一个动画组件并在我重新启动Unity时停止,它就是一个bug,只是想在这里检查ID
修改 就是我怎么说场景中有一个红色的RigidBody2d也附在它上面,只是没有红色(克隆),谢谢你的时间
答案 0 :(得分:4)
这似乎是一个长期存在的统一错误,一直追溯到4.3。希望将在团结中修复5
似乎动画窗口由于某种原因导致克隆,这是不可移除的。
到目前为止,只有两种方法可以绕过此问题
如果您已保存场景
一般建议,只要错误正在运行,尽量避免使用FindGameObjectWithTag。由于稳定性无法保证。
处理此问题的其他一些不太理想的方法:
在使用之前查找并销毁克隆:
GameObject[] remaining = GameObject.FindGameObjectsWithTag(Tags.player);
foreach (GameObject clone in remaining) {
if(clone.name == "Player_Aleysha(Clone)"){
GameObject.Destroy(clone);
}