From 30f12832b5f2a8e1d4f8ba226c68500d691a6950 Mon Sep 17 00:00:00 2001 From: Haze Weathers Date: Wed, 23 Jul 2025 17:52:56 -0600 Subject: [PATCH] a horse, constructed --- objects/horse/test_horse.tscn | 196 ++++++++++++++++++++++++++++++++++ test_scene_scholar.tscn | 55 +--------- 2 files changed, 199 insertions(+), 52 deletions(-) create mode 100644 objects/horse/test_horse.tscn diff --git a/objects/horse/test_horse.tscn b/objects/horse/test_horse.tscn new file mode 100644 index 0000000..5b94d1c --- /dev/null +++ b/objects/horse/test_horse.tscn @@ -0,0 +1,196 @@ +[gd_scene load_steps=9 format=3 uid="uid://bgo5hhh00twsn"] + +[ext_resource type="Texture2D" uid="uid://bnvm2tlvp0h7j" path="res://assets/takyoin.png" id="1_e1cbl"] + +[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_ii5g4"] +bounce = 0.5 + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_l5btf"] +radius = 25.0 +height = 102.0 + +[sub_resource type="CircleShape2D" id="CircleShape2D_701xa"] +radius = 22.0907 + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_wkonk"] +radius = 6.0 +height = 48.1475 + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_ii5g4"] +radius = 6.0 +height = 59.6644 + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_3rrt5"] +radius = 6.0 +height = 48.1475 + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_701xa"] +radius = 6.0 +height = 56.0886 + +[node name="Body" type="RigidBody2D"] +physics_material_override = SubResource("PhysicsMaterial_ii5g4") + +[node name="Sprite2D" type="Sprite2D" parent="."] +position = Vector2(0, -52) +texture = ExtResource("1_e1cbl") +region_enabled = true +region_rect = Rect2(0, 56, 82, 103) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(-3, -53) +shape = SubResource("CapsuleShape2D_l5btf") + +[node name="Head" type="RigidBody2D" parent="."] +position = Vector2(0, -131) +physics_material_override = SubResource("PhysicsMaterial_ii5g4") +linear_velocity = Vector2(50, 0) + +[node name="Sprite2D" type="Sprite2D" parent="Head"] +texture = ExtResource("1_e1cbl") +region_enabled = true +region_rect = Rect2(0, 0, 82, 56) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Head"] +position = Vector2(-3, 9) +shape = SubResource("CircleShape2D_701xa") + +[node name="NeckJoint" type="PinJoint2D" parent="Head"] +position = Vector2(-2, 29) +node_a = NodePath("../..") +node_b = NodePath("..") +angular_limit_lower = -0.349066 +angular_limit_upper = 0.349066 + +[node name="RotationLimiter" type="DampedSpringJoint2D" parent="Head"] +position = Vector2(-3, -21) +node_a = NodePath("../..") +node_b = NodePath("..") +length = 10.0 +rest_length = 1.0 + +[node name="RightLeg" type="RigidBody2D" parent="."] +position = Vector2(14, 19) +physics_material_override = SubResource("PhysicsMaterial_ii5g4") +linear_velocity = Vector2(50, 0) + +[node name="RightFoot" type="RigidBody2D" parent="RightLeg"] +position = Vector2(13, 48) +physics_material_override = SubResource("PhysicsMaterial_ii5g4") +linear_velocity = Vector2(50, 0) + +[node name="Sprite2D" type="Sprite2D" parent="RightLeg/RightFoot"] +position = Vector2(-5, 10) +texture = ExtResource("1_e1cbl") +region_enabled = true +region_rect = Rect2(48, 211, 30, 51) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="RightLeg/RightFoot"] +position = Vector2(-6, 7) +rotation = -0.0108859 +shape = SubResource("CapsuleShape2D_wkonk") + +[node name="KneeJoint" type="PinJoint2D" parent="RightLeg/RightFoot"] +position = Vector2(-7, -16) +node_a = NodePath("../..") +node_b = NodePath("..") +angular_limit_lower = -0.349066 +angular_limit_upper = 0.349066 + +[node name="RotationLimiter" type="DampedSpringJoint2D" parent="RightLeg/RightFoot"] +position = Vector2(-6, 39) +rotation = 3.12446 +node_a = NodePath("../..") +node_b = NodePath("..") +length = 10.0 +rest_length = 1.0 +stiffness = 40.0 + +[node name="Sprite2D" type="Sprite2D" parent="RightLeg"] +position = Vector2(3, 5) +texture = ExtResource("1_e1cbl") +region_enabled = true +region_rect = Rect2(35.1571, 154.576, 46.0369, 56.7349) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="RightLeg"] +position = Vector2(-2, 5) +rotation = -0.243572 +shape = SubResource("CapsuleShape2D_ii5g4") + +[node name="HipJoint" type="PinJoint2D" parent="RightLeg"] +position = Vector2(-8, -23) +node_a = NodePath("../..") +node_b = NodePath("..") +angular_limit_lower = -0.349066 +angular_limit_upper = 0.349066 + +[node name="RotationLimiter" type="DampedSpringJoint2D" parent="RightLeg"] +position = Vector2(8, 41) +rotation = 2.8015 +node_a = NodePath("../..") +node_b = NodePath("..") +length = 10.0 +rest_length = 1.0 + +[node name="LeftLeg" type="RigidBody2D" parent="."] +position = Vector2(-20, 21) +physics_material_override = SubResource("PhysicsMaterial_ii5g4") +linear_velocity = Vector2(50, 0) + +[node name="LeftFoot" type="RigidBody2D" parent="LeftLeg"] +position = Vector2(11, 47) +physics_material_override = SubResource("PhysicsMaterial_ii5g4") +linear_velocity = Vector2(50, 0) + +[node name="Sprite2D" type="Sprite2D" parent="LeftLeg/LeftFoot"] +position = Vector2(-9, 7) +texture = ExtResource("1_e1cbl") +region_enabled = true +region_rect = Rect2(12, 208, 22, 53) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="LeftLeg/LeftFoot"] +position = Vector2(-6, 7) +rotation = -0.0108859 +shape = SubResource("CapsuleShape2D_3rrt5") + +[node name="KneeJoint" type="PinJoint2D" parent="LeftLeg/LeftFoot"] +position = Vector2(-7, -16) +node_a = NodePath("../..") +node_b = NodePath("..") +angular_limit_lower = -0.349066 +angular_limit_upper = 0.349066 + +[node name="RotationLimiter" type="DampedSpringJoint2D" parent="LeftLeg/LeftFoot"] +position = Vector2(-6, 39) +rotation = 3.12446 +node_a = NodePath("../..") +node_b = NodePath("..") +length = 10.0 +rest_length = 1.0 +stiffness = 40.0 + +[node name="Sprite2D" type="Sprite2D" parent="LeftLeg"] +position = Vector2(3, 2) +texture = ExtResource("1_e1cbl") +region_enabled = true +region_rect = Rect2(15, 154, 18, 55) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="LeftLeg"] +position = Vector2(3, 2) +rotation = -0.0183865 +shape = SubResource("CapsuleShape2D_701xa") + +[node name="HipJoint" type="PinJoint2D" parent="LeftLeg"] +position = Vector2(3, -24) +node_a = NodePath("../..") +node_b = NodePath("..") +angular_limit_lower = -0.349066 +angular_limit_upper = 0.349066 + +[node name="RotationLimiter" type="DampedSpringJoint2D" parent="LeftLeg"] +position = Vector2(3, 39) +rotation = 3.14301 +node_a = NodePath("../..") +node_b = NodePath("..") +length = 10.0 +rest_length = 1.0 diff --git a/test_scene_scholar.tscn b/test_scene_scholar.tscn index cad057a..54e5557 100644 --- a/test_scene_scholar.tscn +++ b/test_scene_scholar.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=7 format=3 uid="uid://c5is82tirrhqf"] +[gd_scene load_steps=4 format=3 uid="uid://c5is82tirrhqf"] -[ext_resource type="Texture2D" uid="uid://bnvm2tlvp0h7j" path="res://assets/takyoin.png" id="1_ii5g4"] +[ext_resource type="PackedScene" uid="uid://bgo5hhh00twsn" path="res://objects/horse/test_horse.tscn" id="1_ii5g4"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_ii5g4"] size = Vector2(151, 657) @@ -8,16 +8,6 @@ size = Vector2(151, 657) [sub_resource type="RectangleShape2D" id="RectangleShape2D_l5btf"] size = Vector2(1288.5, 155.5) -[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_ii5g4"] -bounce = 0.5 - -[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_l5btf"] -radius = 25.0 -height = 102.0 - -[sub_resource type="CircleShape2D" id="CircleShape2D_701xa"] -radius = 22.0907 - [node name="TestSceneScholar" type="Node2D"] [node name="Outerwalls" type="StaticBody2D" parent="."] @@ -38,44 +28,5 @@ shape = SubResource("RectangleShape2D_l5btf") position = Vector2(360, 525) shape = SubResource("RectangleShape2D_l5btf") -[node name="Body" type="RigidBody2D" parent="."] +[node name="Body" parent="." instance=ExtResource("1_ii5g4")] position = Vector2(310, 339) -physics_material_override = SubResource("PhysicsMaterial_ii5g4") - -[node name="Sprite2D" type="Sprite2D" parent="Body"] -position = Vector2(0, -52) -texture = ExtResource("1_ii5g4") -region_enabled = true -region_rect = Rect2(0, 56, 82, 103) - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Body"] -position = Vector2(-3, -53) -shape = SubResource("CapsuleShape2D_l5btf") - -[node name="Head" type="RigidBody2D" parent="Body"] -position = Vector2(0, -131) -physics_material_override = SubResource("PhysicsMaterial_ii5g4") -linear_velocity = Vector2(50, 0) - -[node name="Sprite2D" type="Sprite2D" parent="Body/Head"] -texture = ExtResource("1_ii5g4") -region_enabled = true -region_rect = Rect2(0, 0, 82, 56) - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Body/Head"] -position = Vector2(-3, 9) -shape = SubResource("CircleShape2D_701xa") - -[node name="NeckJoint" type="PinJoint2D" parent="Body/Head"] -position = Vector2(-2, 29) -node_a = NodePath("../..") -node_b = NodePath("..") -angular_limit_lower = -0.349066 -angular_limit_upper = 0.349066 - -[node name="RotationLimiter" type="DampedSpringJoint2D" parent="Body/Head"] -position = Vector2(-3, -21) -node_a = NodePath("../..") -node_b = NodePath("..") -length = 10.0 -rest_length = 1.0