From bbf726c560dda55b09767554e75712ff1d8a7d06 Mon Sep 17 00:00:00 2001 From: JoansLink00 Date: Fri, 23 Jan 2026 17:57:22 +0100 Subject: [PATCH] =?UTF-8?q?eingeschr=C3=A4nktes=20Movement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scenes/SampleScene.unity | 2 +- Assets/Scripts/Player/PlayerMove.cs | 30 ++++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 058c24d..c2f432b 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -911,7 +911,7 @@ Rigidbody: m_Bits: 0 m_ImplicitCom: 1 m_ImplicitTensor: 1 - m_UseGravity: 0 + m_UseGravity: 1 m_IsKinematic: 0 m_Interpolate: 0 m_Constraints: 112 diff --git a/Assets/Scripts/Player/PlayerMove.cs b/Assets/Scripts/Player/PlayerMove.cs index e37e3b3..63dba2b 100644 --- a/Assets/Scripts/Player/PlayerMove.cs +++ b/Assets/Scripts/Player/PlayerMove.cs @@ -7,6 +7,8 @@ public class PlayerMove : MonoBehaviour [SerializeField] private Rigidbody rb; [SerializeField] private Vector3 StartPos; + bool vertical; + bool horizontal; private void Start() { rb = GetComponent(); @@ -16,9 +18,31 @@ public class PlayerMove : MonoBehaviour { float horizontalInput = Input.GetAxis("Horizontal"); float verticalInput = Input.GetAxis("Vertical"); - - Vector3 moveDirection = new Vector3(horizontalInput,0, verticalInput); - moveDirection.Normalize(); + horizontalInput = Mathf.Round(horizontalInput); + verticalInput = Mathf.Round(verticalInput); + + Vector3 moveDirection; + + if (horizontalInput != 0 && horizontal == true) + { + vertical = false; + moveDirection = new Vector3(horizontalInput,0, 0); + moveDirection.Normalize(); + + } + else if (verticalInput != 0 && vertical == true) + { + horizontal = false; + moveDirection = new Vector3(0, 0, verticalInput); + moveDirection.Normalize(); + } + else + { + moveDirection = new Vector3(0, 0, 0); + horizontal = true; + vertical = true; + } + transform.Translate(moveDirection * speed * Time.deltaTime, Space.World);