using System.Collections; using System.Collections.Generic; using UnityEngine; public class helicopterControl : MonoBehaviour { float SpeedX = 0; float SpeedY = 0; float SpeedZ = 0; float RotateY = 0; [Tooltip("移動時間")] public float moveTime = 10; void Start() { } public void TurnOn() { this.gameObject.GetComponent().enabled = true; this.gameObject.GetComponent().Play(); } public void TurnOff() { this.gameObject.GetComponent().enabled = false; this.gameObject.GetComponent().Stop(); } public void MoveUp() { SpeedY = 2; Invoke("moveY", moveTime); } public void MoveDown() { SpeedY = -2; Invoke("moveY", moveTime); } public void MoveForward() { SpeedZ = 4; Invoke("moveZ", moveTime); } public void MoveBack() { SpeedZ = -4; Invoke("moveZ", moveTime); } public void MoveRight() { SpeedX = 4; Invoke("moveX", moveTime); } public void MoveLeft() { SpeedX = -4; Invoke("moveX", moveTime); } public void TurnRight() { RotateY = 7; Invoke("TurnX", moveTime); } public void TurnLeftt() { RotateY = -7; Invoke("TurnX", moveTime); } void Update() { float dx = SpeedX * Time.deltaTime; float dy = SpeedY * Time.deltaTime; float dz = SpeedZ * Time.deltaTime; this.gameObject.transform.Translate(dx, dy, dz, Space.Self); float ry = RotateY * Time.deltaTime; this.gameObject.transform.Rotate(0, ry, 0, Space.Self); } void moveY() { SpeedY = 0; } void moveZ() { SpeedZ = 0; } void moveX() { SpeedX = 0; } void TurnX() { RotateY = 0; } }