diff options
author | chai <215380520@qq.com> | 2024-03-13 11:00:58 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2024-03-13 11:00:58 +0800 |
commit | 6ce8b9e22fc13be34b442c7b6af48b42cd44275a (patch) | |
tree | b38119d2acf0a982cb67e381f146924b9bfc3b3f /DeepSky.Haze.Demo/BasicMouseLookControl.cs |
+init
Diffstat (limited to 'DeepSky.Haze.Demo/BasicMouseLookControl.cs')
-rw-r--r-- | DeepSky.Haze.Demo/BasicMouseLookControl.cs | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/DeepSky.Haze.Demo/BasicMouseLookControl.cs b/DeepSky.Haze.Demo/BasicMouseLookControl.cs new file mode 100644 index 0000000..8ce6d68 --- /dev/null +++ b/DeepSky.Haze.Demo/BasicMouseLookControl.cs @@ -0,0 +1,52 @@ +using UnityEngine; + +namespace DeepSky.Haze.Demo; + +public class BasicMouseLookControl : MonoBehaviour +{ + [SerializeField] + private float m_XSensitivity = 2.5f; + + [SerializeField] + private float m_YSensitivity = 2.5f; + + private Quaternion m_StartRotation; + + private float m_X; + + private float m_Y; + + private void Start() + { + m_StartRotation = base.transform.localRotation; + } + + private void Update() + { + m_X += Input.GetAxis("Mouse X") * m_XSensitivity; + m_Y += Input.GetAxis("Mouse Y") * m_YSensitivity; + if (m_X > 360f) + { + m_X = 0f; + } + else if (m_X < 0f) + { + m_X = 360f; + } + if (m_Y > 60f) + { + m_Y = 60f; + } + else if (m_Y < -60f) + { + m_Y = -60f; + } + Quaternion quaternion = Quaternion.AngleAxis(m_X, Vector3.up); + Quaternion quaternion2 = Quaternion.AngleAxis(m_Y, Vector3.left); + base.transform.localRotation = m_StartRotation * quaternion * quaternion2; + if (Input.GetKeyUp(KeyCode.Escape)) + { + Application.Quit(); + } + } +} |