From e39dc97bd3ea847b95eb3a1624d1b3d6b8121cd7 Mon Sep 17 00:00:00 2001 From: Haze Weathers Date: Tue, 9 Dec 2025 14:51:42 -0600 Subject: [PATCH] player prototyping --- objects/player/player.gd | 19 ++++++++++++++++ objects/player/player.gd.uid | 1 + objects/player/player.tscn | 19 ++++++++++++++++ project.godot | 44 ++++++++++++++++++++++++++++++++++++ scenes/test_scene.tscn | 6 ++++- 5 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 objects/player/player.gd create mode 100644 objects/player/player.gd.uid create mode 100644 objects/player/player.tscn diff --git a/objects/player/player.gd b/objects/player/player.gd new file mode 100644 index 0000000..3df9a7c --- /dev/null +++ b/objects/player/player.gd @@ -0,0 +1,19 @@ +class_name Player +extends CharacterBody2D + + +@export_group("Movement", "move_") +@export var move_normal_speed: float +@export var move_focused_speed: float + + +var focused: bool: + get(): return Input.is_action_pressed(&"focus") + + +func _physics_process(delta: float) -> void: + var input_dir = Input.get_vector(&"move_left", &"move_right", &"move_up", &"move_down").sign() + + velocity = input_dir * (move_focused_speed if focused else move_normal_speed) + + move_and_slide() diff --git a/objects/player/player.gd.uid b/objects/player/player.gd.uid new file mode 100644 index 0000000..5e74b99 --- /dev/null +++ b/objects/player/player.gd.uid @@ -0,0 +1 @@ +uid://bpo15kuxdmulu diff --git a/objects/player/player.tscn b/objects/player/player.tscn new file mode 100644 index 0000000..4cc07ce --- /dev/null +++ b/objects/player/player.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=4 format=3 uid="uid://c714s5d7d5765"] + +[ext_resource type="Script" uid="uid://bpo15kuxdmulu" path="res://objects/player/player.gd" id="1_cqmt1"] +[ext_resource type="Texture2D" uid="uid://c50bfqprpitev" path="res://icon.svg" id="2_g7ett"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_ssrue"] +size = Vector2(24, 24) + +[node name="Player" type="CharacterBody2D"] +script = ExtResource("1_cqmt1") +move_normal_speed = 150.0 +move_focused_speed = 75.0 + +[node name="Sprite2D" type="Sprite2D" parent="."] +scale = Vector2(0.25, 0.25) +texture = ExtResource("2_g7ett") + +[node name="Collision" type="CollisionShape2D" parent="."] +shape = SubResource("RectangleShape2D_ssrue") diff --git a/project.godot b/project.godot index 2c816de..1cfa738 100644 --- a/project.godot +++ b/project.godot @@ -30,9 +30,53 @@ window/size/viewport_height=320 folder_colors={ "res://globals/": "orange", +"res://objects/": "blue", "res://scenes/": "teal" } +[input] + +move_left={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} +move_right={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} +move_up={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} +move_down={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} +shoot={ +"deadzone": 0.2, +"events": [null, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":90,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null) +] +} +bomb={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":88,"key_label":0,"unicode":120,"location":0,"echo":false,"script":null) +] +} +focus={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} + +[layer_names] + +2d_physics/layer_1="obstacle" +2d_physics/layer_2="player" + [rendering] textures/canvas_textures/default_texture_filter=0 diff --git a/scenes/test_scene.tscn b/scenes/test_scene.tscn index 5b7c1ba..feca4d4 100644 --- a/scenes/test_scene.tscn +++ b/scenes/test_scene.tscn @@ -1,9 +1,13 @@ -[gd_scene load_steps=2 format=3 uid="uid://dxsp66qpvm65b"] +[gd_scene load_steps=3 format=3 uid="uid://dxsp66qpvm65b"] [ext_resource type="Texture2D" uid="uid://c50bfqprpitev" path="res://icon.svg" id="1_g7g4h"] +[ext_resource type="PackedScene" uid="uid://c714s5d7d5765" path="res://objects/player/player.tscn" id="2_j8ivh"] [node name="TestScene" type="Node"] [node name="Icon" type="Sprite2D" parent="."] position = Vector2(110, 187) texture = ExtResource("1_g7g4h") + +[node name="Player" parent="." instance=ExtResource("2_j8ivh")] +position = Vector2(100, 99)