From 7fa37897ca06e81a1dd89d489f3a9627281944c4 Mon Sep 17 00:00:00 2001 From: Daniel Weipert Date: Fri, 19 Jul 2024 14:20:40 +0200 Subject: add character sprites and animations --- Player.tscn | 443 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 438 insertions(+), 5 deletions(-) (limited to 'Player.tscn') diff --git a/Player.tscn b/Player.tscn index fc9efcc..28e0acd 100644 --- a/Player.tscn +++ b/Player.tscn @@ -1,24 +1,457 @@ -[gd_scene load_steps=4 format=3 uid="uid://58k8ukwgcv4u"] +[gd_scene load_steps=41 format=3 uid="uid://58k8ukwgcv4u"] [ext_resource type="Script" path="res://Player.gd" id="1_0qjo6"] -[ext_resource type="Texture2D" uid="uid://c82tsvwwnmfhe" path="res://icon.svg" id="2_sojjd"] +[ext_resource type="Texture2D" uid="uid://6o87t6leamud" path="res://Assets/Octogirl/Idle/idle_0.png" id="2_u8x6c"] +[ext_resource type="Texture2D" uid="uid://dar2fcwmiuyp4" path="res://Assets/Octogirl/Idle/idle_2.png" id="3_5tdai"] +[ext_resource type="Texture2D" uid="uid://tpdtfbithiso" path="res://Assets/Octogirl/Idle/idle_1.png" id="4_64y27"] +[ext_resource type="Texture2D" uid="uid://cmfl7x01nccru" path="res://Assets/Octogirl/Walk_cycle/walk_1.png" id="5_fiuiq"] +[ext_resource type="Texture2D" uid="uid://cfo16ck3o2hwh" path="res://Assets/Octogirl/Jump/jump_engage_0.png" id="5_i0t8y"] +[ext_resource type="Texture2D" uid="uid://dyucjkq7n1ol8" path="res://Assets/Octogirl/Jump/jump_engage_1.png" id="6_770fp"] +[ext_resource type="Texture2D" uid="uid://cmwxwc8iwc0ko" path="res://Assets/Octogirl/Walk_cycle/walk_2.png" id="6_kv3gc"] +[ext_resource type="Texture2D" uid="uid://be0ndda06oyd0" path="res://Assets/Octogirl/Jump/jump_engage_2.png" id="7_hfp00"] +[ext_resource type="Texture2D" uid="uid://cpofflflk2scq" path="res://Assets/Octogirl/Walk_cycle/walk_0.png" id="7_k3q24"] +[ext_resource type="Texture2D" uid="uid://b2prnnny6dmb6" path="res://Assets/Octogirl/Jump/jump_engage_3.png" id="8_d5wrb"] +[ext_resource type="Texture2D" uid="uid://pa8opkpov7bx" path="res://Assets/Octogirl/Jump/jump_loop_2.png" id="9_brxns"] +[ext_resource type="Texture2D" uid="uid://c3w6hvwm5qfme" path="res://Assets/Octogirl/Jump/jump_land.png" id="10_7p675"] +[ext_resource type="Texture2D" uid="uid://bmgu15ce5xnuy" path="res://Assets/Octogirl/Jump/jump_loop_0.png" id="11_26hji"] +[ext_resource type="Texture2D" uid="uid://ccj4ukln3bmmi" path="res://Assets/Octogirl/Jump/jump_loop_1.png" id="12_x1fvi"] +[ext_resource type="Texture2D" uid="uid://d2df3283q8nfe" path="res://Assets/Octogirl/Run/run_end.png" id="16_y67hq"] +[ext_resource type="Texture2D" uid="uid://etp24q17qokh" path="res://Assets/Octogirl/Run/run_start.png" id="17_y18om"] [sub_resource type="SpriteFrames" id="SpriteFrames_0mhwv"] animations = [{ "frames": [{ "duration": 1.0, -"texture": ExtResource("2_sojjd") +"texture": ExtResource("2_u8x6c") +}, { +"duration": 1.0, +"texture": ExtResource("3_5tdai") +}, { +"duration": 1.0, +"texture": ExtResource("4_64y27") +}, { +"duration": 1.0, +"texture": ExtResource("3_5tdai") +}], +"loop": true, +"name": &"idle", +"speed": 6.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("5_i0t8y") +}, { +"duration": 1.0, +"texture": ExtResource("6_770fp") +}, { +"duration": 1.0, +"texture": ExtResource("7_hfp00") +}, { +"duration": 1.0, +"texture": ExtResource("8_d5wrb") +}], +"loop": true, +"name": &"jump_engage", +"speed": 8.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("9_brxns") +}], +"loop": true, +"name": &"jump_fall", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("10_7p675") +}], +"loop": false, +"name": &"jump_land", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("11_26hji") +}, { +"duration": 1.0, +"texture": ExtResource("12_x1fvi") }], "loop": true, -"name": &"default", +"name": &"jump_loop", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("5_fiuiq") +}, { +"duration": 1.0, +"texture": ExtResource("6_kv3gc") +}, { +"duration": 1.0, +"texture": ExtResource("5_fiuiq") +}, { +"duration": 1.0, +"texture": ExtResource("7_k3q24") +}], +"loop": true, +"name": &"walk", +"speed": 6.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("16_y67hq") +}], +"loop": false, +"name": &"walk_end", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("17_y18om") +}], +"loop": false, +"name": &"walk_start", "speed": 5.0 }] +[sub_resource type="Animation" id="Animation_0mxda"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite2D:animation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"jump_engage"] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("AnimatedSprite2D:frame") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} + +[sub_resource type="Animation" id="Animation_wldhs"] +resource_name = "idle" +length = 0.4 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite2D:animation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"idle"] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("AnimatedSprite2D:frame") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [0, 1] +} + +[sub_resource type="Animation" id="Animation_yudfv"] +resource_name = "jump_engage" +length = 0.4 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite2D:animation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"jump_engage"] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("AnimatedSprite2D:frame") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.1, 0.2, 0.3), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [0, 1, 2, 3] +} + +[sub_resource type="Animation" id="Animation_ib325"] +resource_name = "jump_fall" +length = 0.2 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite2D:animation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"jump_fall"] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("AnimatedSprite2D:frame") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} + +[sub_resource type="Animation" id="Animation_4pnp0"] +resource_name = "jump_land" +length = 0.2 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite2D:animation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"jump_land"] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("AnimatedSprite2D:frame") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} + +[sub_resource type="Animation" id="Animation_q08bo"] +resource_name = "jump_loop" +length = 0.4 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite2D:animation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.1), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"jump_loop"] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("AnimatedSprite2D:frame") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [0, 1] +} + +[sub_resource type="Animation" id="Animation_fjvv2"] +resource_name = "walk" +length = 0.8 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite2D:animation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"walk"] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("AnimatedSprite2D:frame") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2, 0.4, 0.6), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [0, 1, 2, 3] +} + +[sub_resource type="Animation" id="Animation_niwxu"] +resource_name = "walk_end" +length = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite2D:animation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"walk_end"] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("AnimatedSprite2D:frame") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} + +[sub_resource type="Animation" id="Animation_3caa3"] +resource_name = "walk_start" +length = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite2D:animation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"walk_start"] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("AnimatedSprite2D:frame") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_n4uc7"] +_data = { +"RESET": SubResource("Animation_0mxda"), +"idle": SubResource("Animation_wldhs"), +"jump_engage": SubResource("Animation_yudfv"), +"jump_fall": SubResource("Animation_ib325"), +"jump_land": SubResource("Animation_4pnp0"), +"jump_loop": SubResource("Animation_q08bo"), +"walk": SubResource("Animation_fjvv2"), +"walk_end": SubResource("Animation_niwxu"), +"walk_start": SubResource("Animation_3caa3") +} + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_bymns"] +animation = &"jump_engage" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_2tp73"] +animation = &"jump_loop" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2yedg"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kevsy"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_lahj1"] +states/jump_engage/node = SubResource("AnimationNodeAnimation_bymns") +states/jump_engage/position = Vector2(337, 90) +states/jump_loop/node = SubResource("AnimationNodeAnimation_2tp73") +states/jump_loop/position = Vector2(478, 175) +transitions = ["Start", "jump_engage", SubResource("AnimationNodeStateMachineTransition_2yedg"), "jump_engage", "jump_loop", SubResource("AnimationNodeStateMachineTransition_kevsy")] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dad2y"] +animation = &"walk" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_764aa"] +animation = &"walk_start" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hja71"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_d2qkj"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_bgsu8"] +states/walk/node = SubResource("AnimationNodeAnimation_dad2y") +states/walk/position = Vector2(534, 65) +states/walk_start/node = SubResource("AnimationNodeAnimation_764aa") +states/walk_start/position = Vector2(355, 108) +transitions = ["walk_start", "walk", SubResource("AnimationNodeStateMachineTransition_hja71"), "Start", "walk_start", SubResource("AnimationNodeStateMachineTransition_d2qkj")] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_trqcx"] +animation = &"idle" + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_rlnqs"] +states/Jump/node = SubResource("AnimationNodeStateMachine_lahj1") +states/Jump/position = Vector2(639, 100) +states/Walk/node = SubResource("AnimationNodeStateMachine_bgsu8") +states/Walk/position = Vector2(482, 100) +states/idle/node = SubResource("AnimationNodeAnimation_trqcx") +states/idle/position = Vector2(337, 100) +graph_offset = Vector2(0, 15.3405) + [node name="Player" type="CharacterBody2D"] script = ExtResource("1_0qjo6") [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."] -polygon = PackedVector2Array(0, -64, 48, -64, 64, -48, 64, 48, 48, 64, -48, 64, -64, 48, -64, 0, -64, -48, -48, -64) +polygon = PackedVector2Array(8, -8, 8, -8, 8, 0, 8, 8, 8, 16, -8, 16, -8, 8, -8, 0, -8, -8, -8, -16) [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +texture_filter = 1 sprite_frames = SubResource("SpriteFrames_0mhwv") +animation = &"jump_engage" + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_n4uc7") +} + +[node name="AnimationTree" type="AnimationTree" parent="."] +active = false +tree_root = SubResource("AnimationNodeStateMachine_rlnqs") +anim_player = NodePath("../AnimationPlayer") -- cgit v1.2.3