Advertisement
sbloom85

XY Movement Code

Apr 27th, 2015
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.02 KB | None | 0 0
  1. // Minimum and Maximum Ranges
  2. private float minX;
  3. private float maxX;
  4. private float minY;
  5. private float maxY;
  6.  
  7. // Start Method, Game Space
  8. float distance = transform.position.z - Camera.main.transform.position.z;
  9. Vector3 leftMost = Camera.main.ViewportToWorldPoint(new Vector3(0,0,distance));
  10. Vector3 rightMost = Camera.main.ViewportToWorldPoint(new Vector3(1,0,distance));
  11. Vector3 bottomMost = Camera.main.ViewportToWorldPoint(new Vector3(0,0f,distance));
  12. Vector3 topMost = Camera.main.ViewportToWorldPoint(new Vector3(0,1f,distance));
  13.        
  14. minX = leftMost.x + padding;
  15. maxX = rightMost.x - padding;
  16. minY = bottomMost.y + padding;
  17. maxY = topMost.y - padding;
  18.  
  19. // Update Method, Horiztonal, Vertical and Diagonal Movement
  20.         if (Input.GetKey (KeyCode.UpArrow)) {
  21.             if (Input.GetKey (KeyCode.LeftArrow)) {
  22.                 transform.position += Vector3.up * speed * Time.deltaTime;
  23.                 transform.position += Vector3.left * speed * Time.deltaTime;
  24.             }
  25.             else if (Input.GetKey (KeyCode.RightArrow)) {
  26.                 transform.position += Vector3.up * speed * Time.deltaTime;
  27.                 transform.position += Vector3.right * speed * Time.deltaTime;
  28.             }
  29.             else {
  30.                 transform.position += Vector3.up * speed * Time.deltaTime;
  31.             }
  32.         }
  33.         else if (Input.GetKey (KeyCode.DownArrow)) {
  34.             if (Input.GetKey (KeyCode.LeftArrow)) {
  35.                 transform.position += Vector3.down * speed * Time.deltaTime;
  36.                 transform.position += Vector3.left * speed * Time.deltaTime;
  37.             }
  38.             else if (Input.GetKey (KeyCode.RightArrow)) {
  39.                 transform.position += Vector3.down * speed * Time.deltaTime;
  40.                 transform.position += Vector3.right * speed * Time.deltaTime;
  41.             }
  42.             else {
  43.                 transform.position += Vector3.down * speed * Time.deltaTime;
  44.             }
  45.         }
  46.         else if (Input.GetKey (KeyCode.LeftArrow)) {
  47.             if (Input.GetKey (KeyCode.UpArrow)) {
  48.                 transform.position += Vector3.left * speed * Time.deltaTime;
  49.                 transform.position += Vector3.up * speed * Time.deltaTime;
  50.             }
  51.             else if (Input.GetKey (KeyCode.DownArrow)) {
  52.                 transform.position += Vector3.down * speed * Time.deltaTime;
  53.                 transform.position += Vector3.left * speed * Time.deltaTime;
  54.             }
  55.             else {
  56.                 transform.position += Vector3.left * speed * Time.deltaTime;
  57.             }
  58.         }
  59.         else if (Input.GetKey (KeyCode.RightArrow)) {
  60.             if (Input.GetKey (KeyCode.UpArrow)) {
  61.                 transform.position += Vector3.right * speed * Time.deltaTime;
  62.                 transform.position += Vector3.up * speed * Time.deltaTime;
  63.             }
  64.             else if (Input.GetKey (KeyCode.DownArrow)) {
  65.                 transform.position += Vector3.right * speed * Time.deltaTime;
  66.                 transform.position += Vector3.down * speed * Time.deltaTime;
  67.             }
  68.             else {
  69.                 transform.position += Vector3.right * speed * Time.deltaTime;
  70.             }
  71.         }
  72.  
  73.         // Restrict player movement to game space
  74.         float newX = Mathf.Clamp (transform.position.x, minX, maxX);
  75.         float newY = Mathf.Clamp (transform.position.y, minY, maxY);
  76.         transform.position = new Vector3(newX, transform.position.y, transform.position.z);
  77.         transform.position = new Vector3(transform.position.x, newY, transform.position.z);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement