输入系统用的是UnityEngine.InputSystem
//单展位摄像机的处理
using UnityEngine;
using System.Collections;
using UnityEngine.InputSystem;
public class CameraControl : MonoBehaviour
{
// Use this for initialization
float x1;
float x2;
float x3;
float x4;
public float speed = 0.01f;
// Update is called once per frame
void Update()
{
//w键前进
if (Keyboard.current.wKey.isPressed)
{
transform.Translate(new Vector3(0, 0, Time.deltaTime));
}
//s键后退
if (Keyboard.current.sKey.isPressed)
{
transform.Translate(new Vector3(0, 0, -1* Time.deltaTime));
}
//a键后退
if (Keyboard.current.aKey.isPressed)
{
transform.Translate(new Vector3(-1 * Time.deltaTime, 0, 0 ));
}
//d键后退
if (Keyboard.current.dKey.isPressed)
{
transform.Translate(new Vector3(1 * Time.deltaTime, 0, 0 ));
}
//鼠标在这一帧移动的水平距离
float x = Mouse.current.delta.x.ReadValue();
//绕世界坐标中的y轴旋转
transform.Rotate(Vector3.up * x * speed, Space.World);
//鼠标在这一帧移动的垂直距离
float y = Mouse.current.delta.y.ReadValue();
//绕自身的x轴转
transform.Rotate(Vector3.right * -y * speed);
if (transform.localPosition.x>30)
{
transform.localPosition = new Vector3(30,transform.localPosition.y,transform.localPosition.z);
}
if (transform.localPosition.z > 30)
{
transform.localPosition = new Vector3(transform.localPosition.x, transform.localPosition.y, 30);
}
if (transform.localPosition.x < -30)
{
transform.localPosition = new Vector3(-30, transform.localPosition.y, transform.localPosition.z);
}
if (transform.localPosition.z < -30)
{
transform.localPosition = new Vector3(transform.localPosition.x, transform.localPosition.y, -30);
}
if (transform.localPosition.y < 0.5f)
{
transform.localPosition = new Vector3(transform.localPosition.x,0.5f , transform.localPosition.z);
}
if (transform.localPosition.y > 30)
{
transform.localPosition = new Vector3(transform.localPosition.x, 30, transform.localPosition.z);
}
}
}