先上代码:
public class Player : MonoBehaviour {
protected Transform m_transform;
public float m_speed = 1;
// Use this for initialization
void Start () {
m_transform = this.transform;
}
// Update is called once per frame
void Update () {
float movev = 0;
float moveh = 0;
if (Input.GetKey (KeyCode.UpArrow)) {
movev -= m_speed * Time.deltaTime;
}
if (Input.GetKey (KeyCode.DownArrow)) {
movev += m_speed * Time.deltaTime;
}
if (Input.GetKey(KeyCode.LeftArrow)) {
moveh += m_speed * Time.deltaTime;
}
if (Input.GetKey (KeyCode.RightArrow)) {
moveh -= m_speed * Time.deltaTime;
}
m_transform.Translate (new Vector3 (moveh, 0, movev));
}
}
上面的水平方向(x轴)的位移量moveh通过m_speed * Time.deltaTime方式获取。
我之前刚学时一直纳闷速度就速度么,直接moveh += m_speed不就完了,乘的Time.deltaTime是个什么鬼。。。(现在想来很幼稚,因为答案真的很简单/(ㄒo