繁体   English   中英

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

[英]Player not moving down with gravity after transforming position - UNITY 2D

我正在制作一个游戏,在他完成目标后我必须变换玩家的位置,但是当我变换他时,他被困在新变换位置的空中,即使我在它上面设置了一个带有重力的 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);
        }

    }

还有一张图,

在此处输入图片说明

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

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

最好在单独的函数中将玩家设置到该位置,并在您达到该目标时简单地调用一次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM