Trampoline.tscn 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. [gd_scene load_steps=15 format=3 uid="uid://cdrgm3154qxxy"]
  2. [ext_resource type="Texture2D" uid="uid://fy7jlabgyewp" path="res://Assets/Sprites/Blocks/Trampoline.png" id="1_83ba8"]
  3. [ext_resource type="Script" uid="uid://bof8ieprith1d" path="res://Scripts/Classes/Entities/Objects/Trampoline.gd" id="1_bwrr1"]
  4. [ext_resource type="Texture2D" uid="uid://dt0qtxu2l646n" path="res://Assets/Sprites/Tilesets/Terrain/Overworld.png" id="3_tlr0c"]
  5. [ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_363uu"]
  6. [ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Terrain/TerrainTiles.json" id="5_b27qj"]
  7. [ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="6_tlr0c"]
  8. [ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="7_1knp2"]
  9. [sub_resource type="Resource" id="Resource_uu5rp"]
  10. script = ExtResource("7_1knp2")
  11. Overworld = ExtResource("1_83ba8")
  12. metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
  13. [sub_resource type="RectangleShape2D" id="RectangleShape2D_bwrr1"]
  14. size = Vector2(16, 23.5)
  15. [sub_resource type="RectangleShape2D" id="RectangleShape2D_butnk"]
  16. size = Vector2(14, 28)
  17. [sub_resource type="Animation" id="Animation_cot4p"]
  18. resource_name = "Bounce"
  19. length = 0.2
  20. step = 0.05
  21. tracks/0/type = "value"
  22. tracks/0/imported = false
  23. tracks/0/enabled = true
  24. tracks/0/path = NodePath("Sprite:frame")
  25. tracks/0/interp = 2
  26. tracks/0/loop_wrap = true
  27. tracks/0/keys = {
  28. "times": PackedFloat32Array(0, 0.1, 0.15, 0.2),
  29. "transitions": PackedFloat32Array(1, 1, 1, 1),
  30. "update": 0,
  31. "values": [1, 2, 1, 0]
  32. }
  33. tracks/1/type = "value"
  34. tracks/1/imported = false
  35. tracks/1/enabled = true
  36. tracks/1/path = NodePath("PlayerCollision:position")
  37. tracks/1/interp = 2
  38. tracks/1/loop_wrap = true
  39. tracks/1/keys = {
  40. "times": PackedFloat32Array(0, 0.1, 0.2),
  41. "transitions": PackedFloat32Array(1, 1, 1),
  42. "update": 0,
  43. "values": [Vector2(0, -11), Vector2(0, -3), Vector2(0, -19)]
  44. }
  45. tracks/2/type = "method"
  46. tracks/2/imported = false
  47. tracks/2/enabled = true
  48. tracks/2/path = NodePath(".")
  49. tracks/2/interp = 1
  50. tracks/2/loop_wrap = true
  51. tracks/2/keys = {
  52. "times": PackedFloat32Array(0.15),
  53. "transitions": PackedFloat32Array(1),
  54. "values": [{
  55. "args": [],
  56. "method": &"bounce_players"
  57. }]
  58. }
  59. [sub_resource type="Animation" id="Animation_363uu"]
  60. length = 0.001
  61. tracks/0/type = "value"
  62. tracks/0/imported = false
  63. tracks/0/enabled = true
  64. tracks/0/path = NodePath("Sprite:frame")
  65. tracks/0/interp = 1
  66. tracks/0/loop_wrap = true
  67. tracks/0/keys = {
  68. "times": PackedFloat32Array(0),
  69. "transitions": PackedFloat32Array(1),
  70. "update": 1,
  71. "values": [0]
  72. }
  73. tracks/1/type = "value"
  74. tracks/1/imported = false
  75. tracks/1/enabled = true
  76. tracks/1/path = NodePath("PlayerCollision:position")
  77. tracks/1/interp = 1
  78. tracks/1/loop_wrap = true
  79. tracks/1/keys = {
  80. "times": PackedFloat32Array(0),
  81. "transitions": PackedFloat32Array(1),
  82. "update": 0,
  83. "values": [Vector2(0, -19)]
  84. }
  85. [sub_resource type="AnimationLibrary" id="AnimationLibrary_b27qj"]
  86. _data = {
  87. &"Bounce": SubResource("Animation_cot4p"),
  88. &"RESET": SubResource("Animation_363uu")
  89. }
  90. [sub_resource type="RectangleShape2D" id="RectangleShape2D_363uu"]
  91. size = Vector2(16, 7)
  92. [node name="Trampoline" type="AnimatableBody2D"]
  93. collision_layer = 3
  94. collision_mask = 0
  95. script = ExtResource("1_bwrr1")
  96. [node name="Sprite" type="Sprite2D" parent="."]
  97. position = Vector2(0, -16)
  98. texture = ExtResource("1_83ba8")
  99. hframes = 3
  100. region_enabled = true
  101. region_rect = Rect2(0, 0, 48, 32)
  102. [node name="Brick" type="Sprite2D" parent="Sprite"]
  103. show_behind_parent = true
  104. position = Vector2(0, 12)
  105. texture = ExtResource("3_tlr0c")
  106. region_enabled = true
  107. region_rect = Rect2(0, 72, 16, 8)
  108. [node name="ResourceSetterNew" type="Node" parent="Sprite/Brick" node_paths=PackedStringArray("node_to_affect")]
  109. script = ExtResource("4_363uu")
  110. node_to_affect = NodePath("..")
  111. property_name = "texture"
  112. mode = 1
  113. resource_json = ExtResource("5_b27qj")
  114. metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
  115. [node name="ResourceSetter" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
  116. script = ExtResource("6_tlr0c")
  117. node_to_affect = NodePath("..")
  118. property_name = "texture"
  119. themed_resource = SubResource("Resource_uu5rp")
  120. metadata/_custom_type_script = "uid://cq6f682453q6o"
  121. [node name="PlayerCollision" type="CollisionShape2D" parent="."]
  122. position = Vector2(0, -19)
  123. shape = SubResource("RectangleShape2D_bwrr1")
  124. [node name="PlayerJoint" type="Node2D" parent="PlayerCollision"]
  125. position = Vector2(0, -12)
  126. [node name="Hitbox" type="Area2D" parent="."]
  127. [node name="Shape" type="CollisionShape2D" parent="Hitbox"]
  128. position = Vector2(0, -22)
  129. shape = SubResource("RectangleShape2D_butnk")
  130. [node name="Animation" type="AnimationPlayer" parent="."]
  131. libraries = {
  132. &"": SubResource("AnimationLibrary_b27qj")
  133. }
  134. [node name="Base" type="StaticBody2D" parent="."]
  135. collision_layer = 3
  136. collision_mask = 0
  137. [node name="Shape" type="CollisionShape2D" parent="Base"]
  138. position = Vector2(0, -3.5)
  139. shape = SubResource("RectangleShape2D_363uu")
  140. [connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
  141. [connection signal="area_exited" from="Hitbox" to="." method="on_area_exited"]