unity3d中用wsad控制行進方向
阿新 • • 發佈:2019-01-26
usingUnityEngine;
usingSystem.Collections;
publicclassTank : MonoBehaviour {
publicfloatmoveSpeed;
publicfloatrotateSpeed;
voidUpdate () {
if (Input.GetKey (KeyCode.W)) {
transform.Translate (newVector3 (0, 0, 1) * moveSpeed * Time.deltaTime);//deltaTime是距離上一幀的時間,使得不同幀數執行的程式速度相同,與速度有關的都要乘以這個係數.
}
if (Input .GetKey (KeyCode.S)) {
transform.Translate (newVector3 (0, 0, 1) * -moveSpeed * Time.deltaTime);
}
if (Input.GetKey (KeyCode.A)) {
transform.Rotate( newVector3 (0,1,0) * -rotateSpeed * Time.deltaTime);
}
if (Input.GetKey (KeyCode.D)) {
transform.Rotate( newVector3 (0,1,0) * rotateSpeed * Time.deltaTime );
}
}
usingSystem.Collections;
publicclassTank : MonoBehaviour {
publicfloatmoveSpeed;
publicfloatrotateSpeed;
voidUpdate () {
if (Input.GetKey (KeyCode.W)) {
transform.Translate (newVector3 (0, 0, 1) * moveSpeed * Time.deltaTime);//deltaTime是距離上一幀的時間,使得不同幀數執行的程式速度相同,與速度有關的都要乘以這個係數.
}
if (Input
transform.Translate (newVector3 (0, 0, 1) * -moveSpeed * Time.deltaTime);
}
if (Input.GetKey (KeyCode.A)) {
transform.Rotate( newVector3 (0,1,0) * -rotateSpeed * Time.deltaTime);
}
if (Input.GetKey (KeyCode.D)) {
transform.Rotate( newVector3 (0,1,0) * rotateSpeed * Time.deltaTime
}
}
}
其中deltaTime是這一幀距離上一幀的時間,為了使不同幀數執行的程式的速度相同,與速度有關的都要乘以這個係數