[gd_scene load_steps=12 format=3 uid="uid://pbmyh1qru7p"] [ext_resource type="Script" uid="uid://dhe20gx73tm5u" path="res://characters/happy_boo/happy_boo.gd" id="1_kg7lb"] [ext_resource type="Texture2D" uid="uid://b7rhtttevhxtj" path="res://characters/ground_shadow.png" id="2_62bos"] [ext_resource type="Texture2D" uid="uid://ng8e5ot0dtpd" path="res://characters/happy_boo/square_foot.png" id="3_186qq"] [ext_resource type="Texture2D" uid="uid://dhapxq8y8ow57" path="res://characters/happy_boo/square_lower_leg.png" id="4_plnsd"] [ext_resource type="Texture2D" uid="uid://qmqpm6asge1i" path="res://characters/happy_boo/square_upper_leg.png" id="5_q2t1e"] [ext_resource type="Texture2D" uid="uid://cksiu5gst6fmp" path="res://characters/happy_boo/square_body.png" id="6_w3ck4"] [ext_resource type="Texture2D" uid="uid://cvs0lh814pk7h" path="res://characters/happy_boo/square_face.png" id="7_h5h8s"] [sub_resource type="Animation" id="Animation_hed62"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Colorizer/SquareUpperLegL:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-10.6303, -27.3998)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Colorizer/SquareUpperLegL:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.4009] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("Colorizer/SquareUpperLegL/SquareLowerLegL:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, 14)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("Colorizer/SquareUpperLegL/SquareLowerLegL:rotation") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [-2.98023e-08] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("Colorizer/SquareUpperLegL/SquareLowerLegL/SquareFootL:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, 12)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("Colorizer/SquareUpperLegL/SquareLowerLegL/SquareFootL:rotation") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [-3.40666] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("Colorizer/SquareUpperLegR:position") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(9.20459, -29.9444)] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("Colorizer/SquareUpperLegR:rotation") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [-0.213676] } tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true tracks/8/path = NodePath("Colorizer/SquareUpperLegR/SquareLowerLegR:position") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-4.76837e-07, 14)] } tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true tracks/9/path = NodePath("Colorizer/SquareUpperLegR/SquareLowerLegR:rotation") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true tracks/10/path = NodePath("Colorizer/SquareUpperLegR/SquareLowerLegR/SquareFootR:position") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, 12)] } tracks/11/type = "value" tracks/11/imported = false tracks/11/enabled = true tracks/11/path = NodePath("Colorizer/SquareUpperLegR/SquareLowerLegR/SquareFootR:rotation") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [-2.92296] } tracks/12/type = "value" tracks/12/imported = false tracks/12/enabled = true tracks/12/path = NodePath("Colorizer/SquareBody:position") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-1.73067, -36.6061)] } tracks/13/type = "value" tracks/13/imported = false tracks/13/enabled = true tracks/13/path = NodePath("Colorizer/SquareBody:rotation") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [-0.0250386] } tracks/14/type = "value" tracks/14/imported = false tracks/14/enabled = true tracks/14/path = NodePath("Colorizer/SquareBody/SquareFace:position") tracks/14/interp = 1 tracks/14/loop_wrap = true tracks/14/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, -17)] } tracks/15/type = "value" tracks/15/imported = false tracks/15/enabled = true tracks/15/path = NodePath("Colorizer/SquareBody/SquareFace:rotation") tracks/15/interp = 1 tracks/15/loop_wrap = true tracks/15/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } [sub_resource type="Animation" id="Animation_sablf"] resource_name = "idle" loop_mode = 1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Colorizer/SquareUpperLegL:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-10.6303, -27.3998)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Colorizer/SquareUpperLegL:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.4009] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("Colorizer/SquareUpperLegL/SquareLowerLegL:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, 14)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("Colorizer/SquareUpperLegL/SquareLowerLegL:rotation") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [-2.98023e-08] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("Colorizer/SquareUpperLegL/SquareLowerLegL/SquareFootL:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, 12)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("Colorizer/SquareUpperLegL/SquareLowerLegL/SquareFootL:rotation") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [-3.40666] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("Colorizer/SquareUpperLegR:position") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(9.20459, -29.9444)] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("Colorizer/SquareUpperLegR:rotation") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [-0.213676] } tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true tracks/8/path = NodePath("Colorizer/SquareUpperLegR/SquareLowerLegR:position") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-4.76837e-07, 14)] } tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true tracks/9/path = NodePath("Colorizer/SquareUpperLegR/SquareLowerLegR:rotation") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true tracks/10/path = NodePath("Colorizer/SquareUpperLegR/SquareLowerLegR/SquareFootR:position") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, 12)] } tracks/11/type = "value" tracks/11/imported = false tracks/11/enabled = true tracks/11/path = NodePath("Colorizer/SquareUpperLegR/SquareLowerLegR/SquareFootR:rotation") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [-2.92296] } tracks/12/type = "value" tracks/12/imported = false tracks/12/enabled = true tracks/12/path = NodePath("Colorizer/SquareBody:position") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/keys = { "times": PackedFloat32Array(0, 0.4, 0.8), "transitions": PackedFloat32Array(0.466516, 0.189465, 1), "update": 0, "values": [Vector2(-1.73067, -36.6061), Vector2(-1.731, -32), Vector2(-1.731, -38)] } tracks/13/type = "value" tracks/13/imported = false tracks/13/enabled = true tracks/13/path = NodePath("Colorizer/SquareBody:rotation") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/keys = { "times": PackedFloat32Array(0, 0.4), "transitions": PackedFloat32Array(2.46229, 0.535887), "update": 0, "values": [-0.0250386, 0.0698132] } tracks/14/type = "value" tracks/14/imported = false tracks/14/enabled = true tracks/14/path = NodePath("Colorizer/SquareBody/SquareFace:position") tracks/14/interp = 1 tracks/14/loop_wrap = true tracks/14/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, -17)] } tracks/15/type = "value" tracks/15/imported = false tracks/15/enabled = true tracks/15/path = NodePath("Colorizer/SquareBody/SquareFace:rotation") tracks/15/interp = 1 tracks/15/loop_wrap = true tracks/15/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } [sub_resource type="Animation" id="Animation_74kqe"] resource_name = "walk" length = 0.6 loop_mode = 1 step = 0.0333333 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Colorizer/SquareUpperLegL:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 0.3, 0.466666), "transitions": PackedFloat32Array(1, 0.5, 2), "update": 0, "values": [Vector2(-10.6303, -27.3998), Vector2(-10.6303, -27.3998), Vector2(-16, -40)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Colorizer/SquareUpperLegL:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 0.3, 0.466666), "transitions": PackedFloat32Array(1, 0.5, 2), "update": 0, "values": [0.4009, 0.4009, -0.197871] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("Colorizer/SquareUpperLegL/SquareLowerLegL:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0, 0.3), "transitions": PackedFloat32Array(1, 0.5), "update": 0, "values": [Vector2(0, 14), Vector2(0, 14)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("Colorizer/SquareUpperLegL/SquareLowerLegL:rotation") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0, 0.3, 0.466667), "transitions": PackedFloat32Array(1, 0.5, 2), "update": 0, "values": [-2.98023e-08, -2.98023e-08, 1.12966] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("Colorizer/SquareUpperLegL/SquareLowerLegL/SquareFootL:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0, 0.3), "transitions": PackedFloat32Array(1, 0.5), "update": 0, "values": [Vector2(0, 12), Vector2(0, 12)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("Colorizer/SquareUpperLegL/SquareLowerLegL/SquareFootL:rotation") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0, 0.3, 0.466667), "transitions": PackedFloat32Array(1, 0.5, 2), "update": 0, "values": [-3.40666, -3.40666, -3.92035] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("Colorizer/SquareUpperLegR:position") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0, 0.166667, 0.3), "transitions": PackedFloat32Array(0.5, 2, 1), "update": 0, "values": [Vector2(9, -27), Vector2(11, -44), Vector2(9, -27)] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("Colorizer/SquareUpperLegR:rotation") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0, 0.166667, 0.3), "transitions": PackedFloat32Array(0.5, 2, 1), "update": 0, "values": [-0.213676, -0.458455, -0.213676] } tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true tracks/8/path = NodePath("Colorizer/SquareUpperLegR/SquareLowerLegR:position") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { "times": PackedFloat32Array(0, 0.3), "transitions": PackedFloat32Array(0.5, 1), "update": 0, "values": [Vector2(-4.76837e-07, 14), Vector2(-4.76837e-07, 14)] } tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true tracks/9/path = NodePath("Colorizer/SquareUpperLegR/SquareLowerLegR:rotation") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { "times": PackedFloat32Array(0, 0.166667, 0.3), "transitions": PackedFloat32Array(0.5, 2, 1), "update": 0, "values": [0.0, 0.888296, 0.0] } tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true tracks/10/path = NodePath("Colorizer/SquareUpperLegR/SquareLowerLegR/SquareFootR:position") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { "times": PackedFloat32Array(0, 0.3), "transitions": PackedFloat32Array(0.5, 1), "update": 0, "values": [Vector2(0, 12), Vector2(0, 12)] } tracks/11/type = "value" tracks/11/imported = false tracks/11/enabled = true tracks/11/path = NodePath("Colorizer/SquareUpperLegR/SquareLowerLegR/SquareFootR:rotation") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/keys = { "times": PackedFloat32Array(0, 0.166667, 0.3), "transitions": PackedFloat32Array(0.5, 2, 1), "update": 0, "values": [-2.92296, -3.45549, -2.92296] } tracks/12/type = "value" tracks/12/imported = false tracks/12/enabled = true tracks/12/path = NodePath("Colorizer/SquareBody:position") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-1.73067, -36.6061)] } tracks/13/type = "value" tracks/13/imported = false tracks/13/enabled = true tracks/13/path = NodePath("Colorizer/SquareBody:rotation") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/keys = { "times": PackedFloat32Array(0, 0.166667, 0.3, 0.466667), "transitions": PackedFloat32Array(0.392292, 1.31951, 0.267943, 1.8025), "update": 0, "values": [-0.0250386, -0.209487, 0.0372028, 0.23927] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_wrcpu"] _data = { &"RESET": SubResource("Animation_hed62"), &"idle": SubResource("Animation_sablf"), &"walk": SubResource("Animation_74kqe") } [node name="HappyBoo" type="Node2D"] script = ExtResource("1_kg7lb") [node name="AnimationPlayer" type="AnimationPlayer" parent="."] unique_name_in_owner = true playback_default_blend_time = 0.2 libraries = { "": SubResource("AnimationLibrary_wrcpu") } [node name="GroundShadow" type="Sprite2D" parent="."] modulate = Color(0.898039, 0.878431, 0.831373, 1) z_index = -1 z_as_relative = false scale = Vector2(0.8, 0.8) texture = ExtResource("2_62bos") metadata/_edit_lock_ = true [node name="Colorizer" type="Node2D" parent="."] modulate = Color(1, 0.572549, 0.176471, 1) [node name="SquareUpperLegL" type="Sprite2D" parent="Colorizer"] position = Vector2(-10.6303, -27.3998) rotation = 0.4009 scale = Vector2(0.997829, 0.999794) texture = ExtResource("5_q2t1e") offset = Vector2(0, 6) [node name="SquareLowerLegL" type="Sprite2D" parent="Colorizer/SquareUpperLegL"] position = Vector2(0, 14) texture = ExtResource("4_plnsd") offset = Vector2(0, 6) [node name="SquareFootL" type="Sprite2D" parent="Colorizer/SquareUpperLegL/SquareLowerLegL"] position = Vector2(0, 12) rotation = -3.40666 scale = Vector2(1.01116, 1) texture = ExtResource("3_186qq") offset = Vector2(-4, 0) [node name="SquareUpperLegR" type="Sprite2D" parent="Colorizer"] position = Vector2(9.20459, -29.9444) rotation = -0.213676 scale = Vector2(0.999794, 0.999794) texture = ExtResource("5_q2t1e") offset = Vector2(0, 6) [node name="SquareLowerLegR" type="Sprite2D" parent="Colorizer/SquareUpperLegR"] position = Vector2(-4.76837e-07, 14) texture = ExtResource("4_plnsd") offset = Vector2(0, 6) [node name="SquareFootR" type="Sprite2D" parent="Colorizer/SquareUpperLegR/SquareLowerLegR"] position = Vector2(0, 12) rotation = -2.92296 texture = ExtResource("3_186qq") offset = Vector2(-4, 0) [node name="SquareBody" type="Sprite2D" parent="Colorizer"] position = Vector2(-1.73067, -36.6061) rotation = -0.0250386 scale = Vector2(0.9842, 0.990263) texture = ExtResource("6_w3ck4") offset = Vector2(0, -23) [node name="SquareFace" type="Sprite2D" parent="Colorizer/SquareBody"] position = Vector2(0, -17) texture = ExtResource("7_h5h8s") metadata/_edit_lock_ = true