From 5fc6bc36f1524ddc4170af1030e423e7efccdb74 Mon Sep 17 00:00:00 2001 From: Thepuppetqueen57 Date: Fri, 5 Sep 2025 17:31:00 -0700 Subject: [PATCH] Made it so the player cant go past the edges of the screen The player's y position is also fixed --- Scripts/Player.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Scripts/Player.cs b/Scripts/Player.cs index 3275804..d0f4cd2 100644 --- a/Scripts/Player.cs +++ b/Scripts/Player.cs @@ -3,6 +3,7 @@ using System; public partial class Player : Node2D { private float MovementSpeed = 800f; + private float ScreenBorders = 120f; public override void _Ready() { Position = new Vector2(x: DisplayServer.WindowGetSize().X / 2, y: 0); @@ -11,16 +12,19 @@ public partial class Player : Node2D { public override void _Process(double delta) { var ScreenSize = GetViewport().GetVisibleRect().Size; var WindowSize = DisplayServer.WindowGetSize(); - var Scale = WindowSize / ScreenSize; + var WindowScale = WindowSize / ScreenSize; Vector2 Pos = Position; - Pos.Y = (DisplayServer.WindowGetSize().Y - 90) / Scale.Y; + Pos.Y = (WindowSize.Y / WindowScale.Y) - 100; - if (Input.IsKeyPressed((Key)Key.Left) || Input.IsKeyPressed((Key)Key.A)) { + if ((Input.IsKeyPressed((Key)Key.Left) || Input.IsKeyPressed((Key)Key.A)) && Pos.X > ScreenBorders) { + GetNode("Texture").FlipH = false; Pos.X -= MovementSpeed * (float)delta; } - if (Input.IsKeyPressed((Key)Key.Right) || Input.IsKeyPressed((Key)Key.D)) { + float ScreenWidth = (WindowSize.X / WindowScale.X) - ScreenBorders; + if ((Input.IsKeyPressed((Key)Key.Right) || Input.IsKeyPressed((Key)Key.D)) && Pos.X < ScreenWidth) { + GetNode("Texture").FlipH = true; Pos.X += MovementSpeed * (float)delta; }