From 1e51ee911719f4b3ef010286fd6afb4eccef9044 Mon Sep 17 00:00:00 2001 From: Steve Howes Date: Mon, 18 Sep 2023 21:24:37 +0100 Subject: [PATCH] Basic walking (missing sprites) --- Characters/player_boimler.gd | 37 +++++ Characters/player_boimler.tscn | 262 +++++++++++++++++++++++++++++++++ Maps/test_level.tscn | 9 ++ Sprites/boimler.png | Bin 0 -> 7486 bytes Sprites/boimler.png.import | 34 +++++ project.godot | 33 +++++ 6 files changed, 375 insertions(+) create mode 100644 Characters/player_boimler.gd create mode 100644 Characters/player_boimler.tscn create mode 100644 Maps/test_level.tscn create mode 100644 Sprites/boimler.png create mode 100644 Sprites/boimler.png.import diff --git a/Characters/player_boimler.gd b/Characters/player_boimler.gd new file mode 100644 index 0000000..3e81937 --- /dev/null +++ b/Characters/player_boimler.gd @@ -0,0 +1,37 @@ +extends CharacterBody2D + +@export var move_speed : float = 100 +@export var starting_direction : Vector2 = Vector2(0,1) + +@onready var animation_tree = $AnimationTree +@onready var state_machine = animation_tree.get("parameters/playback") + +func _ready(): + update_animation_parameters(starting_direction) + +func _physics_process(_delta): + var input_direction = Vector2( + Input.get_action_strength("right") - Input.get_action_strength("left"), + Input.get_action_strength("down") - Input.get_action_strength("up") + ) + + update_animation_parameters(input_direction) + + velocity = input_direction * move_speed + + pick_new_state() + + move_and_slide() + + + +func update_animation_parameters(move_input: Vector2): + if(move_input != Vector2.ZERO): + animation_tree.set("parameters/Idle/blend_position", move_input) + animation_tree.set("parameters/Walk/blend_position", move_input) + +func pick_new_state(): + if(velocity != Vector2.ZERO): + state_machine.travel("Walk") + else: + state_machine.travel("Idle") diff --git a/Characters/player_boimler.tscn b/Characters/player_boimler.tscn new file mode 100644 index 0000000..523b789 --- /dev/null +++ b/Characters/player_boimler.tscn @@ -0,0 +1,262 @@ +[gd_scene load_steps=28 format=3 uid="uid://bn6l8gpt3e2cc"] + +[ext_resource type="Script" path="res://Characters/player_boimler.gd" id="1_4xsm0"] +[ext_resource type="Texture2D" uid="uid://c2ox6qx00um5f" path="res://Sprites/boimler.png" id="1_sm1i4"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_f68x6"] +size = Vector2(15, 23) + +[sub_resource type="Animation" id="Animation_we2gy"] +resource_name = "walk_right" +length = 0.5 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 1, +"values": [16, 17, 18, 19, 20] +} + +[sub_resource type="Animation" id="Animation_cvcr0"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [16] +} + +[sub_resource type="Animation" id="Animation_gncbx"] +resource_name = "idle_right" +length = 3.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2.9), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [14, 15] +} + +[sub_resource type="Animation" id="Animation_isqws"] +resource_name = "idle_left" +length = 3.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2.9), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [21, 22] +} + +[sub_resource type="Animation" id="Animation_uh0nl"] +resource_name = "walk_left" +length = 0.5 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 1, +"values": [23, 24, 25, 26, 27] +} + +[sub_resource type="Animation" id="Animation_aqig2"] +resource_name = "walk_down" +length = 0.5 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 1, +"values": [9, 10, 11, 12, 13] +} + +[sub_resource type="Animation" id="Animation_odiyi"] +resource_name = "walk_up" +length = 0.5 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 1, +"values": [9, 10, 11, 12, 13] +} + +[sub_resource type="Animation" id="Animation_shhac"] +resource_name = "idle_down" +length = 3.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2.9), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [7, 8] +} + +[sub_resource type="Animation" id="Animation_vg36w"] +resource_name = "idle_up" +length = 3.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2.9), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [0, 1] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_1a573"] +_data = { +"RESET": SubResource("Animation_cvcr0"), +"idle_down": SubResource("Animation_shhac"), +"idle_left": SubResource("Animation_isqws"), +"idle_right": SubResource("Animation_gncbx"), +"idle_up": SubResource("Animation_vg36w"), +"walk_down": SubResource("Animation_aqig2"), +"walk_left": SubResource("Animation_uh0nl"), +"walk_right": SubResource("Animation_we2gy"), +"walk_up": SubResource("Animation_odiyi") +} + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_24qgq"] +animation = &"idle_down" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_yowcu"] +animation = &"idle_up" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ngvgc"] +animation = &"idle_left" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_3fncq"] +animation = &"idle_right" + +[sub_resource type="AnimationNodeBlendSpace2D" id="AnimationNodeBlendSpace2D_nqkka"] +blend_point_0/node = SubResource("AnimationNodeAnimation_24qgq") +blend_point_0/pos = Vector2(0, 1.1) +blend_point_1/node = SubResource("AnimationNodeAnimation_yowcu") +blend_point_1/pos = Vector2(0, -1.1) +blend_point_2/node = SubResource("AnimationNodeAnimation_ngvgc") +blend_point_2/pos = Vector2(-1, 0) +blend_point_3/node = SubResource("AnimationNodeAnimation_3fncq") +blend_point_3/pos = Vector2(1, 0) +min_space = Vector2(-1, -1.1) +max_space = Vector2(1, 1.1) +blend_mode = 1 + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_cei2x"] +animation = &"walk_down" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qo15p"] +animation = &"walk_up" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dgdnw"] +animation = &"walk_left" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_nbcxn"] +animation = &"walk_right" + +[sub_resource type="AnimationNodeBlendSpace2D" id="AnimationNodeBlendSpace2D_idnn4"] +blend_point_0/node = SubResource("AnimationNodeAnimation_cei2x") +blend_point_0/pos = Vector2(0, 1.1) +blend_point_1/node = SubResource("AnimationNodeAnimation_qo15p") +blend_point_1/pos = Vector2(0, -1.1) +blend_point_2/node = SubResource("AnimationNodeAnimation_dgdnw") +blend_point_2/pos = Vector2(-1, 0) +blend_point_3/node = SubResource("AnimationNodeAnimation_nbcxn") +blend_point_3/pos = Vector2(1, 0) +min_space = Vector2(-1, -1.1) +max_space = Vector2(1, 1.1) +blend_mode = 1 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nxanf"] +advance_mode = 0 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_acl43"] +advance_mode = 0 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_xfad2"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_wgkrf"] +states/Idle/node = SubResource("AnimationNodeBlendSpace2D_nqkka") +states/Idle/position = Vector2(354, 100) +states/Walk/node = SubResource("AnimationNodeBlendSpace2D_idnn4") +states/Walk/position = Vector2(488, 100) +transitions = ["Idle", "Walk", SubResource("AnimationNodeStateMachineTransition_nxanf"), "Walk", "Idle", SubResource("AnimationNodeStateMachineTransition_acl43"), "Start", "Idle", SubResource("AnimationNodeStateMachineTransition_xfad2")] + +[node name="PlayerBoimler" type="CharacterBody2D"] +script = ExtResource("1_4xsm0") + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("1_sm1i4") +hframes = 7 +vframes = 4 +frame = 16 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(-0.5, 16.5) +shape = SubResource("RectangleShape2D_f68x6") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_1a573") +} + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeStateMachine_wgkrf") +anim_player = NodePath("../AnimationPlayer") +active = true +parameters/Idle/blend_position = Vector2(0, -1) +parameters/Walk/blend_position = Vector2(0, 0) diff --git a/Maps/test_level.tscn b/Maps/test_level.tscn new file mode 100644 index 0000000..7adaf4e --- /dev/null +++ b/Maps/test_level.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=2 format=3 uid="uid://cptc8nytuwwp"] + +[ext_resource type="PackedScene" uid="uid://bn6l8gpt3e2cc" path="res://Characters/player_boimler.tscn" id="1_67d3u"] + +[node name="TestLevel" type="Node2D"] +y_sort_enabled = true + +[node name="PlayerBoimler" parent="." instance=ExtResource("1_67d3u")] +position = Vector2(78, 59) diff --git a/Sprites/boimler.png b/Sprites/boimler.png new file mode 100644 index 0000000000000000000000000000000000000000..a93e17b277c362393d3024a32fbe2cf2fa2211b2 GIT binary patch literal 7486 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 Y`F{JYB(Fm74^cqxhJkjerd`zk0blnZ;Q#;t literal 0 HcmV?d00001 diff --git a/Sprites/boimler.png.import b/Sprites/boimler.png.import new file mode 100644 index 0000000..3588fb8 --- /dev/null +++ b/Sprites/boimler.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c2ox6qx00um5f" +path="res://.godot/imported/boimler.png-9782fcbd06a714d849d351cfc471561b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/boimler.png" +dest_files=["res://.godot/imported/boimler.png-9782fcbd06a714d849d351cfc471561b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/project.godot b/project.godot index 6dac9c9..2f2aed1 100644 --- a/project.godot +++ b/project.godot @@ -11,9 +11,42 @@ config_version=5 [application] config/name="GodotTest" +run/main_scene="res://Maps/test_level.tscn" config/features=PackedStringArray("4.1", "Forward Plus") config/icon="res://icon.svg" +[display] + +window/stretch/mode="canvas_items" +window/stretch/scale=2.0 + [dotnet] project/assembly_name="GodotTest" + +[input] + +right={ +"deadzone": 0.5, +"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":68,"key_label":0,"unicode":100,"echo":false,"script":null) +] +} +left={ +"deadzone": 0.5, +"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":65,"key_label":0,"unicode":97,"echo":false,"script":null) +] +} +down={ +"deadzone": 0.5, +"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":83,"key_label":0,"unicode":115,"echo":false,"script":null) +] +} +up={ +"deadzone": 0.5, +"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":87,"key_label":0,"unicode":119,"echo":false,"script":null) +] +} + +[rendering] + +textures/canvas_textures/default_texture_filter=0