如何让二维刚体统一移动

How to get 2D rigid body to move in unity

我对 C# 和 unity 还很陌生,我正在尝试使用 Vector2 进行正方形跳转,但由于某种原因正方形不会移动。下面是代码给大家看:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    public float Jump;
    // Start is called before the first frame update
    void Start()
    {   

    }

    // Update is called once per frame
    void Update()
    {
        
        Jump = Input.GetAxis("Jump");
        if (Jump == 1)
        {
            new Vector2(0, 1);
        }
    }
}

试试这个

//player must have a rigidbody2D and a box colider
public float moveSpeed = 5f;
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        Jump();
        Vector3 movement = new Vector3(Input.GetAxis("Horizontal"), 0f, 0f);
        transform.position += movement * Time.deltaTime * moveSpeed;
    }

    void Jump()
    {
        if (Input.GetButtonDown("Jump"))
        {
            gameObject.GetComponent<Rigidbody2D>().AddForce(new Vector2(0f, 5f), ForceMode2D.Impulse);
        }
    }