62 lines
1.5 KiB
C#
62 lines
1.5 KiB
C#
using UnityEngine;
|
|
|
|
public class CameraMovement : MonoBehaviour
|
|
{
|
|
private float speed = 2f;
|
|
|
|
private float zoomSpeed = 2f;
|
|
|
|
public float minX = -360f;
|
|
|
|
public float maxX = 360f;
|
|
|
|
public float minY = -45f;
|
|
|
|
public float maxY = 45f;
|
|
|
|
public float sensX = 100f;
|
|
|
|
public float sensY = 100f;
|
|
|
|
private float rotationY;
|
|
|
|
private float rotationX;
|
|
|
|
private void Update()
|
|
{
|
|
float axis = Input.GetAxis("Mouse ScrollWheel");
|
|
base.transform.Translate(0f, axis * zoomSpeed, axis * zoomSpeed, Space.World);
|
|
if (Input.GetKey(KeyCode.RightArrow))
|
|
{
|
|
base.transform.position += base.transform.right * speed * Time.deltaTime;
|
|
}
|
|
if (Input.GetKey(KeyCode.LeftArrow))
|
|
{
|
|
base.transform.position += -base.transform.right * speed * Time.deltaTime;
|
|
}
|
|
if (Input.GetKey(KeyCode.UpArrow))
|
|
{
|
|
base.transform.position += base.transform.forward * speed * Time.deltaTime;
|
|
}
|
|
if (Input.GetKey(KeyCode.DownArrow))
|
|
{
|
|
base.transform.position += -base.transform.forward * speed * Time.deltaTime;
|
|
}
|
|
if (Input.GetKey(KeyCode.PageUp))
|
|
{
|
|
base.transform.position += base.transform.up * speed * Time.deltaTime;
|
|
}
|
|
if (Input.GetKey(KeyCode.PageDown))
|
|
{
|
|
base.transform.position += -base.transform.up * speed * Time.deltaTime;
|
|
}
|
|
if (Input.GetMouseButton(0))
|
|
{
|
|
rotationX += Input.GetAxis("Mouse X") * sensX * Time.deltaTime;
|
|
rotationY += Input.GetAxis("Mouse Y") * sensY * Time.deltaTime;
|
|
rotationY = Mathf.Clamp(rotationY, minY, maxY);
|
|
base.transform.localEulerAngles = new Vector3(0f - rotationY, rotationX, 0f);
|
|
}
|
|
}
|
|
}
|