首页 > 解决方案 > 如何让一个物体在被玩家击中后移动到某个位置?

问题描述

我正在尝试制作一个迷宫,并且我希望一个不可见的块移动到某个位置并在玩家与它发生碰撞后变为可见,但是即使我认为我的代码中有正确的坐标,对象仍然会移动到( 30,90,8.75),这些不是我输入的正确坐标。请帮忙。我是初学者。非常感谢 :)

MeshRenderer visibility;

void Start()
{
    visibility = GetComponent<MeshRenderer>();
    visibility.enabled = false;

}
void OnCollisionEnter(Collision other)
{
    if (other.gameObject.tag == "Player" && gameObject.tag == "Invisible")
    {
        movePlayer();
        visibility.enabled = true;
    }
}
void movePlayer()
{
    transform.position = new Vector3(19.5f, 45.478f, 11f);
}

图片

标签: c#unity3d

解决方案


由于该对象是另一个 GameObject 的子对象,因此您必须使用localPosition而不是position. 请参阅:Transform.localPosition


推荐阅读