它是一个二维立方体,以给定的速度沿 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);
}
}
最佳答案
再次强调:transform.position 不是变量。这是一个属性(property)。
让我这样定义它 - 属性(property)就像机器中一个上锁的齿轮箱,当它在机器中时,您无法更改里面的任何内容。您只能用新盒子更换该盒子。因此,您要做的就是将该盒子从机器中取出,然后对其进行调整,并在完成后将其放回原处。这就是我在这段代码中所做的:
public class Move : MonoBehaviour
{
private float speed = -3f;
void Update ()
{
Vector3 pos = transform.position;
pos.x += speed * Time.deltaTime;
transform.position = pos;
}
}
Google 属性与变量的详细信息
关于c# - 立方体沿x轴移动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34064602/