c# - 立方体沿x轴移动问题

标签 c# unity-game-engine

它是一个二维立方体,以给定的速度沿 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/

相关文章:

unity-game-engine - 通过脚本隐藏/取消隐藏 Unity3D 中的对象

c# - 如何以编程方式在 Unity3D 中附加视频

unity-game-engine - 强制文件夹中的 Unity 游戏以窗口方式运行

c# - 重构保护条款

c# - 如何从不同的组件扩展模型?

c# - WCF错误: The socket connection was aborted

c# - 如何在Unity中访问TextMeshProUGUI

c# - OnPointerEnter 和 OnPointerExit 没有被触发 Unity

c# - 无法使用 gridview 正确排序数据 int

c# - 附加到 Azure blob zip 文件