立方体沿x轴移动问题

本文关键字:移动 问题 立方体 | 更新日期: 2023-09-27 18:25:33

它是一个二维立方体,以给定的速度沿x轴从右侧向左移动。我还添加了一个分量RigidBody2D,它的速度使这个立方体向下移动。我禁用了Rigidbody2D,想以给定的速度沿着x轴从右侧到左侧直线移动这个立方体,我不知道怎么做。代码:

public class Move : MonoBehaviour 
{
   private float speed = -3f;
   //private Rigidbody2D body;
   /*
   void Awake()
   {
      body = GetComponent<Rigidbody2D> ();
   }
   */
   void Update () 
   {
      //body.velocity = new Vector2 (speed,0f);
   }
}

立方体沿x轴移动问题

再一次:transform.position不是一个变量。这是一处房产。

让我这样定义它——属性就像机器里一个锁着的齿轮箱,当它在机器里的时候,你不能改变里面的任何东西。您只能将该长方体替换为新长方体。所以你要做的就是把盒子从机器里拿出来,然后调整它,直到你完成后再放回去。这就是我在这个代码中所做的:

public class Move : MonoBehaviour 
{
   private float speed = -3f;
   void Update () 
   {
      Vector3 pos = transform.position;
      pos.x += speed * Time.deltaTime;
      transform.position = pos;
   }
}

谷歌属性vs变量获取更多信息

您不能更改x坐标,您必须使用更新的x坐标制作新的Vector3

public class Move : MonoBehaviour 
{
   private float speed = -3f;
   void Update () 
   {
      transform.position = new Vector3(transform.position.x += speed * Time.deltaTime,transform.position.y,transform.position.z);
   }
}