我试图使代码,使立方体(这是一个2D对象)跳跃,如果它在地面上,这里的代码u知道如何我试过其他方法,但他们没有工作。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class playercontroler : MonoBehaviour
{
public int thrust = 5;
public bool OnGround;
Rigidbody2D Rigidbody;
public float Speed = 7;
void Start()
{
Rigidbody = GetComponent<Rigidbody2D>();
}
void Update()
{
if (Input.GetKey(KeyCode.D))
{
this.transform.position += Vector3.right * Speed * Time.deltaTime;
}
if (Input.GetKey(KeyCode.A))
{
this.transform.position += Vector3.left * Speed * Time.deltaTime;
}
if (Input.GetKeyDown(KeyCode.Space))
{
Rigidbody.velocity = transform.up * thrust;
}
}
}
如果你打了空格,添加这行跳跃。
Rigidbody.AddForce(new Vector3(0, 50, 0), ForceMode.Impulse);
供你参考,我用这行代码。
Rigidbody.AddForce(transform.up * yourValue)。