Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public float moveSpeed;
- private Vector3 rotationSpeed;
- public Camera cam;
- public Vector3 straightForward;
- public Quaternion spreadAngleRight;
- public Quaternion spreadAngleLeft;
- public Vector3 localRightVector;
- public Vector3 localLeftVector;
- public Vector3 newVectorRight;
- public Vector3 newVectorLeft;
- private Rigidbody rb;
- Vector3 movement;
- void Start () {
- rb = gameObject.GetComponent<Rigidbody> ();
- rotationSpeed = new Vector3(0, 100, 0);
- straightForward = transform.TransformDirection (Vector3.forward);
- spreadAngleRight = Quaternion.AngleAxis (45, new Vector3 (0, 1, 0));
- spreadAngleLeft = Quaternion.AngleAxis (315, new Vector3 (0, 1, 0));
- localRightVector = spreadAngleRight * straightForward;
- localLeftVector = spreadAngleLeft * straightForward;
- newVectorRight = transform.TransformDirection (localRightVector);
- newVectorLeft = transform.TransformDirection (localLeftVector);
- }
- // Update is called once per frame
- void Update () {
- #region Control
- if(Input.GetKey(KeyCode.W)){
- rb.MovePosition(transform.position + transform.TransformDirection(Vector3.forward * moveSpeed) * Time.deltaTime);
- }
- if (Input.GetKey (KeyCode.A)) {
- rb.MovePosition(transform.position + transform.TransformDirection(-Vector3.right * moveSpeed) * Time.deltaTime);
- }
- if (Input.GetKey (KeyCode.S)) {
- rb.MovePosition(transform.position + transform.TransformDirection(-Vector3.forward * moveSpeed) * Time.deltaTime);
- }
- if (Input.GetKey (KeyCode.D)) {
- rb.MovePosition(transform.position + transform.TransformDirection(Vector3.right * moveSpeed) * Time.deltaTime);
- }
- if (Input.GetKey(KeyCode.W) && Input.GetKey(KeyCode.D)){
- rb.MovePosition(transform.position + transform.TransformDirection(newVectorRight * moveSpeed) * Time.deltaTime);
- }
- if (Input.GetKey(KeyCode.W) && Input.GetKey(KeyCode.A)){
- rb.MovePosition(transform.position + transform.TransformDirection(newVectorLeft * moveSpeed) * Time.deltaTime);
- }
- if (Input.GetKey(KeyCode.S) && Input.GetKey(KeyCode.D)){
- rb.MovePosition(transform.position - transform.TransformDirection(newVectorLeft * moveSpeed) * Time.deltaTime);
- }
- if (Input.GetKey(KeyCode.S) && Input.GetKey(KeyCode.A)){
- rb.MovePosition(transform.position - transform.TransformDirection(newVectorRight * moveSpeed) * Time.deltaTime);
- }
- Vector3 mouseInputX = Input.GetAxis ("Mouse X") * rotationSpeed;
- Vector3 mouseInputY = Input.GetAxis ("Mouse Y") * rotationSpeed;
- gameObject.transform.Rotate (mouseInputX * Time.deltaTime, Space.Self);
- cam.transform.LookAt(gameObject.transform.position + Vector3.up * 2f);
- #endregion
- }
Add Comment
Please, Sign In to add comment