using System.Collections; using System.Collections.Generic; using UnityEngine; public class cs01 : MonoBehaviour { float dx, dy, dz = 0; float speedX, speedY, speedZ = 0; float ry = 0; float rotateY = 0; //向右 public void moveRight() { speedX = 2; //1秒後停止X方向速度 Invoke("stopSpeedX", 1); } //向左 public void moveLeft() { speedX = -2; //1秒後停止X方向速度 Invoke("stopSpeedX", 1); } //向前 public void moveForward() { speedZ = 2; //1秒後停止Z方向速度 Invoke("stopSpeedZ", 1); } //向後 public void moveBack() { speedZ = -2; //1秒後停止Z方向速度 Invoke("stopSpeedZ", 1); } void stopSpeedX() { speedX = 0; } void stopSpeedZ() { speedZ = 0; } //右轉 public void TurnRight() { rotateY = 45; //1秒後停止Y方向旋轉 Invoke("stoprotateY", 1); } //左轉 public void TurnLeft() { rotateY = -45; //1秒後停止Y方向旋轉 Invoke("stoprotateY", 1); } void stoprotateY() { rotateY = 0; } void Update() { //前後左右移動 dx = speedX * Time.deltaTime; dy = speedY * Time.deltaTime; dz = speedZ * Time.deltaTime; this.gameObject.transform.Translate(dx, dy, dz, Space.World); //左右旋轉 ry = rotateY * Time.deltaTime; this.gameObject.transform.Rotate(0, ry, 0, Space.World); } }