Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.43 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class PlayerMovement : MonoBehaviour
  6. {
  7.     [Range(0.1f, 200.0f)]
  8.     public float movementSpeed;
  9.     [Range(0.1f, 200.0f)]
  10.     public float maxSpeed;
  11.     [Range(0.8f, 0.9999f)]
  12.     public float movementSlowdown;
  13.  
  14.     private Rigidbody body;
  15.  
  16.     void Start()
  17.     {
  18.         body = this.GetComponent<Rigidbody>();
  19.     }
  20.  
  21.     void Update()
  22.     {
  23.         Vector3 movementVector = Vector3.zero;
  24.  
  25.         if(Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow))
  26.         {
  27.             movementVector += this.transform.forward;
  28.         }
  29.         else if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow))
  30.         {
  31.             movementVector += -this.transform.forward;
  32.         }
  33.  
  34.         if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow))
  35.         {
  36.             movementVector += -this.transform.right;
  37.         }
  38.         else if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow))
  39.         {
  40.             movementVector += this.transform.right;
  41.         }
  42.  
  43.         if(body.velocity.magnitude < maxSpeed)
  44.         {
  45.             if (movementVector != Vector3.zero)
  46.             {
  47.                 body.AddForce(movementVector * movementSpeed);
  48.             }
  49.         }
  50.  
  51.         Debug.DrawLine(this.transform.position, this.transform.position + this.transform.forward * 5.0f, Color.magenta);
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement