【发布时间】:2021-06-10 20:29:42
【问题描述】:
我在 Unity 中实例化游戏对象时遇到问题。所以游戏是2D的,这段代码是为了我的对撞机命中的。它的一部分负责在射线击中对撞机的位置实例化一个对象。确实如此,当我运行游戏并且射线击中对撞机时,instatiated 对象出现在层次结构中,但在场景和调试中不可见,tmpCircle 的值为 null,这是代码:
if (result.collider.CompareTag("Images"))
{
Debug.Log("Hit");
result.collider.enabled = false;
GameObject tmpCircle = GameObject.Instantiate(OrgCircle, result.point, Quaternion.identity);
tmpCircle.SetActive(true);
tmpCircle.transform.position = new Vector3(result.point.x, result.point.y, result.point.z);
CircleAnimation.Play("CircleAnim");
score += 1;
differences -= 1;
coins += 1;
score1.text = " " + score;
object.Play();
}
【问题讨论】:
-
您在 OrgCircle 中有 smg 吗?它的类型是什么?位置行是多余的,因为它与 Instantiate.. 相同。
-
对不起,我对 Unity 很陌生,smg 是什么?至于职位,是的,我知道,我在发布此消息后意识到这一点。
-
我的错,smg = 某事。 OrgCircle 有预制件吗?我猜你在检查器中拖了一个预制件。
-
我已经尝试了这两个选项,拖入检查器并使用 GameObject.Find,我只是无法弄清楚值是什么
-
请不要回答这个问题。我已回滚/编辑您的问题并删除了答案。仅在答案部分添加答案。
标签: c# unity3d instantiation raycasting collider