大家都知道物体移动需要遵循物理原则,那怎么实现这一功能呢?
加上刚体,通过代码来达到按键控制的目的
public GameObject obj;
public Rigidbody r;
private void Start()
{
obj = GameObject.Find("Cube");
r = obj.GetComponent<Rigidbody>();
}
private void Update()
{
if (Input.GetKey(KeyCode.UpArrow))
{
r.AddForce(new Vector3(0, 0, 10), ForceMode.Force);
}
if (Input.GetKey(KeyCode.W))
{
r.AddForce(new Vector3(0, 0, 10), ForceMode.Force);
}
if (Input.GetKey(KeyCode.DownArrow))
{
r.AddForce(new Vector3(0, 0, -10), ForceMode.Force);
}
if (Input.GetKey(KeyCode.S))
{
r.AddForce(new Vector3(0, 0, -10), ForceMode.Force); }
if (Input.GetKey(KeyCode.A))
{
r.AddForce(new Vector3(-10, 0, 0), ForceMode.Force);
}
if (Input.GetKey(KeyCode.LeftArrow))
{
r.AddForce(new Vector3(-10, 0, 0), ForceMode.Force);
}
if (Input.GetKey(KeyCode.D))
{
r.AddForce(new Vector3(10, 0, 0), ForceMode.Force);
}
if (Input.GetKey(KeyCode.RightArrow))
{
r.AddForce(new Vector3(10, 0, 0), ForceMode.Force);
}
if (Input .GetKeyDown(KeyCode.Space))
{
r.AddForce(new Vector3(0, 10, 0),ForceMode.VelocityChange);
}
}
[RequireComponent(typeof(Rigidbody))]//必须有刚体
public class putint : MonoBehaviour
{
public GameObject obj;
private void Start()
{
obj = GameObject.Find("Cube");
r = obj.GetComponent<Rigidbody>();
}
private void Update()
{
if (Input.GetKey(KeyCode.UpArrow))
{
r.AddForce(new Vector3(0, 0, 10), ForceMode.Force);
}
if (Input.GetKey(KeyCode.W))
{
r.AddForce(new Vector3(0, 0, 10), ForceMode.Force);
}
if (Input.GetKey(KeyCode.DownArrow))
{
r.AddForce(new Vector3(0, 0, -10), ForceMode.Force);
}
if (Input.GetKey(KeyCode.S))
{
r.AddForce(new Vector3(0, 0, -10), ForceMode.Force);
}
if (Input.GetKey(KeyCode.A))
{
r.AddForce(new Vector3(-10, 0, 0), ForceMode.Force);
}
if (Input.GetKey(KeyCode.LeftArrow))
{
r.AddForce(new Vector3(-10, 0, 0), ForceMode.Force);
}
if (Input.GetKey(KeyCode.D))
{
r.AddForce(new Vector3(10, 0, 0), ForceMode.Force);
}
if (Input.GetKey(KeyCode.RightArrow))
{
r.AddForce(new Vector3(10, 0, 0), ForceMode.Force);
}
if (Input .GetKeyDown(KeyCode.Space))
{
r.AddForce(new Vector3(0, 10, 0),ForceMode.VelocityChange);
}
}
}