C# 球员在变换位置后不随重力向下移动-UNITY 2D

C# 球员在变换位置后不随重力向下移动-UNITY 2D,c#,unity3d,C#,Unity3d,我正在做一个游戏,在他完成目标后,我必须改变球员的位置,但当我改变他的位置时,他被困在新的变换位置上,尽管我在上面设置了一个重力刻度为2的Rigibody2D。当我通过拖动和释放手动移动他时,他通常会摔倒在地。我是新来的,所以任何帮助都将不胜感激。我似乎无法确定问题所在。 这是密码 public GameObject player; public Transform nextPart; public Camera cam; void Start() {

我正在做一个游戏,在他完成目标后,我必须改变球员的位置,但当我改变他的位置时,他被困在新的变换位置上,尽管我在上面设置了一个重力刻度为2的Rigibody2D。当我通过拖动和释放手动移动他时,他通常会摔倒在地。我是新来的,所以任何帮助都将不胜感激。我似乎无法确定问题所在。 这是密码

    public GameObject player;
    public Transform nextPart;
    public Camera cam;


    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        if (PlayerController.canTransform)
        {
            player.transform.position = nextPart.position;
            cam.transform.position = new Vector3(nextPart.position.x, nextPart.position.y, -10);
        }

    }
这里还有一张照片


您的代码在
更新功能中。这意味着,只要
canTransform
为真,您的播放器将被放置在该变换的每一帧

移动玩家后,您需要将该布尔值设置回false,或者进行其他检查,以确保您不会多次移动到该位置

最好是让玩家在一个单独的函数中设置到该位置,并在达到该目标时调用一次