Unity3d 尝试在unity 2d中移动对象

Unity3d 尝试在unity 2d中移动对象,unity3d,Unity3d,物体并没有沿着斜坡向下移动,我也试着把摩擦力减到零,但不起作用,我用一个球作为我的物体 如何在2d中统一移动对象 这是我的密码: public class move : MonoBehaviour { public float moveSpeed = 3f; Rigidbody2D rig; float yat ; void Start() { rig = GetComponent<Rigidbody2D>

物体并没有沿着斜坡向下移动,我也试着把摩擦力减到零,但不起作用,我用一个球作为我的物体

如何在2d中统一移动对象 这是我的密码:

public class move : MonoBehaviour
{
    public float moveSpeed = 3f;
    Rigidbody2D rig;
    float yat ;            
    void Start()
    {
        rig = GetComponent<Rigidbody2D>();
    }

    void Update()
    {
        float xat = Input.GetAxis("Horizontal");
        yat = rig.velocity.y;
        rig.velocity = new Vector2(xat*moveSpeed,yat);
    }
 }
公共类移动:单一行为
{
公共浮动速度=3f;
刚性钻井平台;
浮逸;
void Start()
{
rig=GetComponent();
}
无效更新()
{
float xat=Input.GetAxis(“水平”);
yat=钻机速度y;
rig.velocity=新矢量2(xat*移动速度,yat);
}
}

对不起,我不明白你到底想做什么?但如果你只是简单地移动对象,你可以尝试“Transfrom.Translate”方法

顺便说一下,使用velocity方法在您自己的版本中尝试以下代码:

float speed = 0.5f;

...


void Update () {

      float inputHorizontal = Input.GetAxisRaw("Horizontal");
      player.velocity = Vector2.right * inputHorizontal * speed;
      
 }

在我看来,这应该行得通,如果您有任何其他查询,请告诉我。

您可以使用移动对象。