diff options
| author | Radio <radiohotline@disroot.org> | 2026-06-04 15:15:11 +0300 |
|---|---|---|
| committer | Radio <radiohotline@disroot.org> | 2026-06-04 15:15:11 +0300 |
| commit | 9d74b49ab62908d4acf53dde444413886b8b28e5 (patch) | |
| tree | 0cb785267ea7e239b19d88684c0d64b9bd5d52f0 /game/rooms/no_escoria/player.gd | |
| parent | 2c85d452ad02a5f89cd43bad7f9de31d0e4fa0c1 (diff) | |
escoria setup and old branch archives
Diffstat (limited to 'game/rooms/no_escoria/player.gd')
| -rw-r--r-- | game/rooms/no_escoria/player.gd | 32 |
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() |
