Quantcast
Channel: Questions in topic: "keyboard"
Viewing all articles
Browse latest Browse all 605

simple rotate script dont work,Simple rotation control

$
0
0
Hey all i try to expand an existing script using UnityEngine; using System.Collections; public class ExtendedFlycam : MonoBehaviour { /* EXTENDED FLYCAM Desi Quintans (CowfaceGames.com), 17 August 2012. Based on FlyThrough.js by Slin (http://wiki.unity3d.com/index.php/FlyThrough), 17 May 2011. LICENSE Free as in speech, and free as in beer. FEATURES WASD/Arrows: Movement Q: Climb E: Drop Shift: Move faster Control: Move slower End: Toggle cursor locking to screen (you can also press Ctrl+P to toggle play mode on and off). */ public float cameraSensitivity = 90; public float climbSpeed = 4; public float normalMoveSpeed = 10; public float slowMoveFactor = 0.25f; public float fastMoveFactor = 3; private float rotationX = 0.0f; private float rotationY = 0.0f; void Start() { Cursor.lockState = CursorLockMode.Locked; //Screen.lockCursor = true; } void Update() { rotationX += Input.GetAxis("Mouse X") * cameraSensitivity * Time.deltaTime; rotationY += Input.GetAxis("Mouse Y") * cameraSensitivity * Time.deltaTime; rotationY = Mathf.Clamp(rotationY, -90, 90); transform.localRotation = Quaternion.AngleAxis(rotationX, Vector3.up); transform.localRotation *= Quaternion.AngleAxis(rotationY, Vector3.left); if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) { transform.position += transform.forward * (normalMoveSpeed * fastMoveFactor) * Input.GetAxis("Vertical") * Time.deltaTime; transform.position += transform.right * (normalMoveSpeed * fastMoveFactor) * Input.GetAxis("Horizontal") * Time.deltaTime; } else if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl)) { transform.position += transform.forward * (normalMoveSpeed * slowMoveFactor) * Input.GetAxis("Vertical") * Time.deltaTime; transform.position += transform.right * (normalMoveSpeed * slowMoveFactor) * Input.GetAxis("Horizontal") * Time.deltaTime; } else { transform.position += transform.forward * normalMoveSpeed * Input.GetAxis("Vertical") * Time.deltaTime; transform.position += transform.right * normalMoveSpeed * Input.GetAxis("Horizontal") * Time.deltaTime; } if (Input.GetKey(KeyCode.Q)) { transform.position += transform.up * climbSpeed * Time.deltaTime; } if (Input.GetKey(KeyCode.E)) { transform.position -= transform.up * climbSpeed * Time.deltaTime; } if (Input.GetKey(KeyCode.R)) transform.Rotate(Vector3.forward, -cameraSensitivity * Time.deltaTime); if (Input.GetKey(KeyCode.Tab)) transform.Rotate(Vector3.forward, cameraSensitivity * Time.deltaTime); if (Input.GetKeyDown(KeyCode.End)) { Cursor.lockState = (Cursor.lockState == CursorLockMode.Locked) ? CursorLockMode.None : CursorLockMode.Locked; //Screen.lockCursor = (Screen.lockCursor == false) ? true : false; } } } i added the line for the R and TAB keys. But the camara only rotate as long i press R or Tab. But i want to have like the rest of the code. Maybe someone can help me out . Greetings to all.

Viewing all articles
Browse latest Browse all 605

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>