玩家在转换位置后不因重力而向下移动-UNITY 2D

时间:2020-03-27 16:52:50

标签: c# unity3d

我正在制作一个游戏,在他完成目标之后,我必须改变玩家的位置,但是当我改变他的位置时,即使我设置了Rigibody2D,他也仍然停留在新的变换位置上的重力比例为2。当我通过拖动和释放手动移动他时,他通常会掉到地面上。我还很新,所以任何帮助将不胜感激。我似乎无法找出问题所在。 这是代码,

    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);
        }

    }

这里也是一张图片,

enter image description here

1 个答案:

答案 0 :(得分:0)

您的代码在Update函数中。这意味着只要canTransform为真,您的播放器就会被放置在每一帧变换中。

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

最好将播放器设置在单独的功能中,然后在达到该目标时将其调用一次。