public GameObject _cam;
public float mkeystorkeMoveStep = 0.07f;
private CharacterController controller;
private Vector3 mWoveDir;
void Start()
{
controller = GetComponent<CharacterController>();
}
void Update()
{
Cam_Move();
xuanzhuanScene();
}
void xuanzhuanScene()
{
if (Input.GetMouseButton(0))
{
float mous_x = Input.GetAxis("Mouse X");
this.transform.Rotate(0, mous_x, 0);
float mouseY = Input.GetAxis("Mouse Y");
_cam.transform.Rotate(-mouseY * Time.deltaTime, 0, 0);
if (_cam.transform.eulerAngles.x > 30 && _cam.transform.eulerAngles.x < 180)
{
_cam.transform.eulerAngles = new Vector3(30, _cam.transform.eulerAngles.y, _cam.transform.eulerAngles.z);
}
if (_cam.transform.eulerAngles.x < 330 && _cam.transform.eulerAngles.x > 180)
{
_cam.transform.eulerAngles = new Vector3(330, _cam.transform.eulerAngles.y, _cam.transform.eulerAngles.z);
}
}
}
void Cam_Move()
{
Vector3 vDir = Vector3.zero;
if (Input.GetKey("a"))
{
vDir.x -= mkeystorkeMoveStep;
}
if (Input.GetKey("d"))
{
vDir.x += mkeystorkeMoveStep;
}
if (Input.GetKey("w"))
{
vDir.z += mkeystorkeMoveStep;
}
if (Input.GetKey("s"))
{
vDir.z -= mkeystorkeMoveStep;
}
if (Input.GetKey("q"))
{
vDir.y += mkeystorkeMoveStep;
}
if (Input.GetKey("e"))
{
vDir.y -= mkeystorkeMoveStep;
}
mWoveDir = transform.rotation * vDir;
controller.Move(mWoveDir);
}