publicclass Uniform : MonoBehaviour {
private GameObject MyCube;
// Use this for initializationvoid Start () {
MyCube = GameObject.Find("Cube");
}
// Update is called once per framevoid Update () {
MyCube.transform.position += (float)0.1 * Vector3.left;
}
}
抛物线运动的三种实现
修改Transform
publicclass Parabola1 : MonoBehaviour {
private GameObject MySphere;
privatefloat vx;
privatefloat vz;
privatefloat a;
privatefloat t;
// Use this for initializationvoid Start()
{
MySphere = GameObject.Find("Sphere");
vx = (float)0.5;
vz = 0;
a = (float)0.1;
t = Time.deltaTime;
}
// Update is called once per framevoid Update()
{
float x = MySphere.transform.position.x;
float y = MySphere.transform.position.y;
float z = MySphere.transform.position.z;
MySphere.transform.position = new Vector3(x + vx, y, z + vz);
vz += a * t;
}
}
使用Vector3
publicclass Parabola2 : MonoBehaviour {
private GameObject MyCapsule;
private Vector3 vx;
private Vector3 vz;
private Vector3 a;
privatefloat t;
// Use this for initializationvoid Start()
{
MyCapsule = GameObject.Find("Capsule");
vx = (float)0.5 * Vector3.right;
vz = Vector3.zero;
a = (float)0.1 * Vector3.forward;
t = Time.deltaTime;
}
// Update is called once per framevoid Update()
{
MyCapsule.transform.position += vx;
MyCapsule.transform.position += vz;
vz += a * t;
}
}
使用Rigidbody
publicclass Parabola3 : MonoBehaviour {
private Rigidbody rigid;
private Vector3 v0;
// Use this for initializationvoid Start()
{
rigid = this.GetComponent();
v0 = new Vector3(3, 10, 0);
rigid.velocity = v0;
}
// Update is called once per framevoid Update()
{
}
}