Advertisement
teleias

How to move a Unity Camera

Sep 8th, 2014
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.76 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class CameraScript : MonoBehaviour {
  5.     Mover mover;
  6.     void Start()
  7.     {
  8.         mover = new Mover(transform);
  9.     }
  10.     void Update () {
  11.         float dX = Input.GetAxis("Horizontal");
  12.         float dZ = Input.GetAxis("Vertical");
  13.         float dY = Input.GetAxis("Mouse ScrollWheel");
  14.         const float speed = 1;
  15.         mover.move(new Vector3(dX, dY, dZ)*speed);
  16.     }
  17.  
  18.     void OnGUI()
  19.     {
  20.         GUILayout.BeginVertical(GUILayout.Width(300));
  21.         {
  22.             GUILayout.BeginHorizontal(GUILayout.Width(100));
  23.             {
  24.                 GUILayout.Space(33+6);
  25.                 if(GUILayout.RepeatButton("^", GUILayout.Width(33)))
  26.                 {
  27.                     mover.moveUp();
  28.                 }
  29.             }
  30.             GUILayout.EndHorizontal();
  31.  
  32.             GUILayout.BeginHorizontal(GUILayout.Width(100));
  33.             {
  34.                 if(GUILayout.RepeatButton("<", GUILayout.Width(33)))
  35.                 {
  36.                     mover.moveLeft();
  37.                 }
  38.                 GUILayout.Space(33);
  39.                 if(GUILayout.RepeatButton(">", GUILayout.Width(33)))
  40.                 {
  41.                     mover.moveRight();
  42.                 }
  43.             }
  44.             GUILayout.EndHorizontal();
  45.  
  46.             GUILayout.BeginHorizontal(GUILayout.Width(100));
  47.             {
  48.                 GUILayout.Space(33+6);
  49.                 if(GUILayout.RepeatButton("v", GUILayout.Width(33)))
  50.                 {
  51.                     mover.moveDown();
  52.                 }
  53.             }
  54.             GUILayout.EndHorizontal();
  55.         }
  56.         GUILayout.EndVertical();
  57.     }
  58.  
  59.     private class Mover
  60.     {
  61.         Transform transform;
  62.         public Mover(Transform transform)
  63.         {
  64.             this.transform = transform;
  65.         }
  66.         public void moveUp()
  67.         {
  68.             move (Vector3.forward);
  69.         }
  70.         public void moveLeft()
  71.         {
  72.             move (Vector3.left);
  73.         }
  74.         public void moveRight()
  75.         {
  76.             move (Vector3.left*-1f);
  77.         }
  78.         public void moveDown()
  79.         {
  80.             move (Vector3.forward*-1f);
  81.         }
  82.         public void move(Vector3 v3)
  83.         {
  84.             transform.Translate(v3);
  85.             Debug.Log("Delta x: "+v3.x+" | Delta z: "+v3.z+" | Delta y: "+v3.y);
  86.         }
  87.     }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement