Untitled
unknown
csharp
3 years ago
2.0 kB
2
Indexable
using UnityEngine; public class FlyScript : MonoBehaviour { public float mainSpeed = 10.0f; float shiftAdd = 250.0f; float maxShift = 1000.0f; public float lookSpeed = 0.25f; private Vector3 lastMouse = new Vector3(255, 255, 255); private float totalRun= 1.0f; void Update() { lastMouse = Input.mousePosition - lastMouse; lastMouse = new Vector3(-lastMouse.y * lookSpeed, lastMouse.x * lookSpeed, 0); lastMouse = new Vector3(transform.eulerAngles.x + lastMouse.x, transform.eulerAngles.y + lastMouse.y, 0); transform.eulerAngles = lastMouse; lastMouse = Input.mousePosition; //Mouse camera angle done. //Keyboard commands Vector3 p = GetBaseInput(); totalRun = Mathf.Clamp(totalRun * 0.5f, 1f, 1000f); p = p * mainSpeed; p *= Time.deltaTime; Vector3 newPosition = transform.position; if (Input.GetKey(KeyCode.Space)) { //If player wants to move on X and Z axis only transform.Translate(p); newPosition.x = transform.position.x; newPosition.z = transform.position.z; transform.position = newPosition; } else { transform.Translate(p); } } private Vector3 GetBaseInput() { //returns the basic values, if it's 0 than it's not active. Vector3 p_Velocity = new Vector3(); if (Input.GetKey(KeyCode.W)) { p_Velocity += new Vector3(0, 0, 1); } if (Input.GetKey(KeyCode.S)) { p_Velocity += new Vector3(0, 0, -1); } if (Input.GetKey(KeyCode.A)) { p_Velocity += new Vector3(-1, 0, 0); } if (Input.GetKey(KeyCode.D)) { p_Velocity += new Vector3(1, 0, 0); } return p_Velocity; } }
Editor is loading...