-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMouseLook.cs
51 lines (40 loc) · 1.34 KB
/
MouseLook.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MouseLook : MonoBehaviour
{
float xRotation = 0f;
private Vector2 turn;
public float sensitivity = 250f;
// Start is called before the first frame update
void Start()
{
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.M)) {
if (Cursor.lockState == CursorLockMode.Locked) {
Cursor.lockState = CursorLockMode.None;
Cursor.visible = true;
} else {
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;
}
}
if (Cursor.visible && Cursor.lockState == CursorLockMode.Locked) {
Cursor.visible = false;
}
if (Cursor.visible) {
return;
}
turn.x += Input.GetAxis("Mouse X") * sensitivity * Time.deltaTime;
turn.y = Input.GetAxis("Mouse Y") * sensitivity * Time.deltaTime;
xRotation -= turn.y;
xRotation = Mathf.Clamp(xRotation, -90f, 90f);
transform.localRotation = Quaternion.Euler(0, turn.x, 0);
Camera.main.transform.localRotation = Quaternion.Euler(xRotation, 0, 0);
}
}