using UnityEngine; using System.Collections; [System.Serializable] public class Done_Boundary { public float xMin, xMax, zMin, zMax; } public class Done_PlayerController : MonoBehaviour { public float speed; public float tilt; public Done_Boundary boundary; public GameObject shot; public Transform shotSpawn; public float fireRate; private float nextFire; void Update () { if (Input.GetButton("Fire1") && Time.time > nextFire) { nextFire = Time.time + fireRate; Instantiate(shot, shotSpawn.position, shotSpawn.rotation); GetComponent().Play (); } } void FixedUpdate () { float moveHorizontal = Input.GetAxis ("Horizontal"); float moveVertical = Input.GetAxis ("Vertical"); Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical); GetComponent().velocity = movement * speed; GetComponent().position = new Vector3 ( Mathf.Clamp (GetComponent().position.x, boundary.xMin, boundary.xMax), 0.0f, Mathf.Clamp (GetComponent().position.z, boundary.zMin, boundary.zMax) ); GetComponent().rotation = Quaternion.Euler (0.0f, 0.0f, GetComponent().velocity.x * -tilt); } }