首页 > 解决方案 > 在 Start() 中设置玩家的位置

问题描述

我有 2D 刚体作为我的播放器。游戏开始时,我想将其位置设置为(0,-3)。我查看了文档并认为我可以使用以下方法来实现我想要的:

rb.position = new Vector2(0.0f,-3.0f);
rb.position.Set(0.0f,-3.0f);
rb.transform.position = new Vector2(0.0f,-3.0f);

我在 rb = this.GetComponent(); 之后将它们放在 Start() 中;但是,这些都不起作用。

我应该怎么办?

标签: unity3d

解决方案


刚体不应该被它们的位置、旋转或平移变量/函数移动,因为它是由物理引擎控制的,所以它可能会产生不良影响。如果你的 Rigidbody 被标记为 Kinematic,你应该使用Rigidbody2D.MovePosition来移动它。


推荐阅读