summaryrefslogtreecommitdiff
path: root/game/rooms/no_escoria/player.gd
diff options
context:
space:
mode:
authorRadio <radiohotline@disroot.org>2026-06-04 15:15:11 +0300
committerRadio <radiohotline@disroot.org>2026-06-04 15:15:11 +0300
commit9d74b49ab62908d4acf53dde444413886b8b28e5 (patch)
tree0cb785267ea7e239b19d88684c0d64b9bd5d52f0 /game/rooms/no_escoria/player.gd
parent2c85d452ad02a5f89cd43bad7f9de31d0e4fa0c1 (diff)
escoria setup and old branch archives
Diffstat (limited to 'game/rooms/no_escoria/player.gd')
-rw-r--r--game/rooms/no_escoria/player.gd32
1 files changed, 32 insertions, 0 deletions
diff --git a/game/rooms/no_escoria/player.gd b/game/rooms/no_escoria/player.gd
new file mode 100644
index 0000000..9e05c56
--- /dev/null
+++ b/game/rooms/no_escoria/player.gd
@@ -0,0 +1,32 @@
+extends Area2D
+
+@export var speed = 400 # How fast the player will move (pixels/sec).
+var screen_size # Size of the game window.
+
+@onready var _change_scene: ChangeSceneCommand = ChangeSceneCommand.new()
+const next_scene_path: String = "res://game/rooms/room01/room01.tscn"
+
+func _ready():
+ screen_size = get_viewport_rect().size
+
+
+func _process(delta):
+ var velocity = Vector2.ZERO # The player's movement vector.
+ if Input.is_action_pressed("ui_right"):
+ velocity.x += 1
+ if Input.is_action_pressed("ui_left"):
+ velocity.x -= 1
+ if Input.is_action_pressed("ui_down"):
+ velocity.y += 1
+ if Input.is_action_pressed("ui_up"):
+ velocity.y -= 1
+
+ if velocity.length() > 0:
+ velocity = velocity.normalized() * speed
+
+ position += velocity * delta
+ position = position.clamp(Vector2.ZERO, screen_size)
+
+ if position.x > 800:
+ _change_scene.run([next_scene_path, false])
+ queue_free()