player.tscn 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. [gd_scene load_steps=20 format=3 uid="uid://bbxsp4gp554vh"]
  2. [ext_resource type="Script" path="res://player/player.gd" id="1"]
  3. [ext_resource type="Texture2D" uid="uid://dh57uloeigwj6" path="res://player/player.webp" id="2_675nc"]
  4. [ext_resource type="Texture2D" uid="uid://7sv64orewgmb" path="res://player/bullet.png" id="3"]
  5. [ext_resource type="AudioStream" uid="uid://gw2a4ii0oby2" path="res://audio/sound_shoot.wav" id="8"]
  6. [ext_resource type="AudioStream" uid="uid://bpyko2i13mj0v" path="res://audio/sound_jump.wav" id="9"]
  7. [sub_resource type="PhysicsMaterial" id="1"]
  8. friction = 0.0
  9. [sub_resource type="Gradient" id="2"]
  10. colors = PackedColorArray(0.708353, 0.72498, 1, 1, 1, 1, 1, 0)
  11. [sub_resource type="Animation" id="3"]
  12. length = 0.01
  13. step = 0.25
  14. tracks/0/type = "value"
  15. tracks/0/imported = false
  16. tracks/0/enabled = true
  17. tracks/0/path = NodePath("Sprite2D:frame")
  18. tracks/0/interp = 1
  19. tracks/0/loop_wrap = true
  20. tracks/0/keys = {
  21. "times": PackedFloat32Array(0),
  22. "transitions": PackedFloat32Array(1),
  23. "update": 1,
  24. "values": [22]
  25. }
  26. [sub_resource type="Animation" id="4"]
  27. length = 0.01
  28. step = 0.25
  29. tracks/0/type = "value"
  30. tracks/0/imported = false
  31. tracks/0/enabled = true
  32. tracks/0/path = NodePath("Sprite2D:frame")
  33. tracks/0/interp = 1
  34. tracks/0/loop_wrap = true
  35. tracks/0/keys = {
  36. "times": PackedFloat32Array(0),
  37. "transitions": PackedFloat32Array(1),
  38. "update": 1,
  39. "values": [21]
  40. }
  41. [sub_resource type="Animation" id="5"]
  42. length = 0.5
  43. step = 0.25
  44. tracks/0/type = "value"
  45. tracks/0/imported = false
  46. tracks/0/enabled = true
  47. tracks/0/path = NodePath("Sprite2D:frame")
  48. tracks/0/interp = 1
  49. tracks/0/loop_wrap = true
  50. tracks/0/keys = {
  51. "times": PackedFloat32Array(0),
  52. "transitions": PackedFloat32Array(1),
  53. "update": 1,
  54. "values": [26]
  55. }
  56. [sub_resource type="Animation" id="6"]
  57. length = 2.0
  58. loop_mode = 1
  59. step = 0.25
  60. tracks/0/type = "value"
  61. tracks/0/imported = false
  62. tracks/0/enabled = true
  63. tracks/0/path = NodePath("Sprite2D:frame")
  64. tracks/0/interp = 1
  65. tracks/0/loop_wrap = true
  66. tracks/0/keys = {
  67. "times": PackedFloat32Array(0, 0.3575, 0.429, 0.572, 1.287, 1.3585, 1.43, 1.5015),
  68. "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
  69. "update": 1,
  70. "values": [16, 17, 18, 16, 19, 20, 19, 16]
  71. }
  72. [sub_resource type="Animation" id="7"]
  73. length = 0.5
  74. step = 0.25
  75. tracks/0/type = "value"
  76. tracks/0/imported = false
  77. tracks/0/enabled = true
  78. tracks/0/path = NodePath("Sprite2D:frame")
  79. tracks/0/interp = 1
  80. tracks/0/loop_wrap = true
  81. tracks/0/keys = {
  82. "times": PackedFloat32Array(0),
  83. "transitions": PackedFloat32Array(1),
  84. "update": 1,
  85. "values": [25]
  86. }
  87. [sub_resource type="Animation" id="8"]
  88. length = 0.5
  89. step = 0.25
  90. tracks/0/type = "value"
  91. tracks/0/imported = false
  92. tracks/0/enabled = true
  93. tracks/0/path = NodePath("Sprite2D:frame")
  94. tracks/0/interp = 1
  95. tracks/0/loop_wrap = true
  96. tracks/0/keys = {
  97. "times": PackedFloat32Array(0, 0.25, 0.5),
  98. "transitions": PackedFloat32Array(1, 1, 1),
  99. "update": 1,
  100. "values": [23, 24, 23]
  101. }
  102. [sub_resource type="Animation" id="9"]
  103. length = 0.5
  104. step = 0.25
  105. tracks/0/type = "value"
  106. tracks/0/imported = false
  107. tracks/0/enabled = true
  108. tracks/0/path = NodePath("Sprite2D:frame")
  109. tracks/0/interp = 1
  110. tracks/0/loop_wrap = true
  111. tracks/0/keys = {
  112. "times": PackedFloat32Array(0),
  113. "transitions": PackedFloat32Array(1),
  114. "update": 1,
  115. "values": [26]
  116. }
  117. [sub_resource type="Animation" id="10"]
  118. length = 0.5
  119. loop_mode = 1
  120. step = 0.25
  121. tracks/0/type = "value"
  122. tracks/0/imported = false
  123. tracks/0/enabled = true
  124. tracks/0/path = NodePath("Sprite2D:frame")
  125. tracks/0/interp = 1
  126. tracks/0/loop_wrap = true
  127. tracks/0/keys = {
  128. "times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5),
  129. "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
  130. "update": 1,
  131. "values": [0, 1, 2, 3, 4, 0]
  132. }
  133. [sub_resource type="Animation" id="11"]
  134. length = 0.5
  135. loop_mode = 1
  136. step = 0.25
  137. tracks/0/type = "value"
  138. tracks/0/imported = false
  139. tracks/0/enabled = true
  140. tracks/0/path = NodePath("Sprite2D:frame")
  141. tracks/0/interp = 1
  142. tracks/0/loop_wrap = true
  143. tracks/0/keys = {
  144. "times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5),
  145. "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
  146. "update": 1,
  147. "values": [5, 6, 7, 8, 9, 5]
  148. }
  149. [sub_resource type="Animation" id="12"]
  150. length = 0.5
  151. loop_mode = 1
  152. step = 0.25
  153. tracks/0/type = "value"
  154. tracks/0/imported = false
  155. tracks/0/enabled = true
  156. tracks/0/path = NodePath("Sprite2D:frame")
  157. tracks/0/interp = 1
  158. tracks/0/loop_wrap = true
  159. tracks/0/keys = {
  160. "times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5),
  161. "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
  162. "update": 1,
  163. "values": [10, 11, 12, 13, 14, 5]
  164. }
  165. [sub_resource type="AnimationLibrary" id="AnimationLibrary_30623"]
  166. _data = {
  167. "crouch": SubResource("3"),
  168. "falling": SubResource("4"),
  169. "falling_weapon": SubResource("5"),
  170. "idle": SubResource("6"),
  171. "idle_weapon": SubResource("7"),
  172. "jumping": SubResource("8"),
  173. "jumping_weapon": SubResource("9"),
  174. "run": SubResource("10"),
  175. "run_weapon": SubResource("11"),
  176. "standing_weapon_ready": SubResource("12")
  177. }
  178. [sub_resource type="SeparationRayShape2D" id="13"]
  179. custom_solver_bias = 0.5
  180. length = 18.0
  181. [node name="Player" type="RigidBody2D"]
  182. mass = 1.5
  183. physics_material_override = SubResource("1")
  184. lock_rotation = true
  185. custom_integrator = true
  186. max_contacts_reported = 4
  187. contact_monitor = true
  188. script = ExtResource("1")
  189. [node name="Sprite2D" type="Sprite2D" parent="."]
  190. texture = ExtResource("2_675nc")
  191. hframes = 16
  192. vframes = 2
  193. frame = 22
  194. [node name="Smoke" type="CPUParticles2D" parent="Sprite2D"]
  195. self_modulate = Color(1, 1, 1, 0.26702)
  196. position = Vector2(10, 1.5)
  197. rotation = -1.45648
  198. emitting = false
  199. lifetime = 0.3
  200. one_shot = true
  201. explosiveness = 1.0
  202. texture = ExtResource("3")
  203. spread = 65.84
  204. gravity = Vector2(0, -15)
  205. color_ramp = SubResource("2")
  206. [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
  207. libraries = {
  208. "": SubResource("AnimationLibrary_30623")
  209. }
  210. [node name="Camera2D" type="Camera2D" parent="."]
  211. zoom = Vector2(2, 2)
  212. limit_left = 0
  213. limit_top = 0
  214. [node name="BulletShoot" type="Marker2D" parent="."]
  215. position = Vector2(15, 2)
  216. [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
  217. position = Vector2(0.15, -6)
  218. shape = SubResource("13")
  219. [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
  220. polygon = PackedVector2Array(-0.138, 8.25, -10, -12, 11, -12)
  221. [node name="UI" type="CanvasLayer" parent="."]
  222. layer = 0
  223. [node name="Left" type="TouchScreenButton" parent="UI"]
  224. position = Vector2(27.7593, 360.87)
  225. scale = Vector2(1.49157, 1.46265)
  226. passby_press = true
  227. action = "move_left"
  228. visibility_mode = 1
  229. [node name="Right" type="TouchScreenButton" parent="UI"]
  230. position = Vector2(121.542, 361.415)
  231. scale = Vector2(1.49157, 1.46265)
  232. passby_press = true
  233. action = "move_right"
  234. visibility_mode = 1
  235. [node name="Jump" type="TouchScreenButton" parent="UI"]
  236. position = Vector2(666.224, 359.02)
  237. scale = Vector2(1.49157, 1.46265)
  238. action = "jump"
  239. visibility_mode = 1
  240. [node name="Fire" type="TouchScreenButton" parent="UI"]
  241. position = Vector2(668.073, 262.788)
  242. scale = Vector2(1.49157, 1.46265)
  243. action = "shoot"
  244. visibility_mode = 1
  245. [node name="SoundShoot" type="AudioStreamPlayer2D" parent="."]
  246. stream = ExtResource("8")
  247. [node name="SoundJump" type="AudioStreamPlayer2D" parent="."]
  248. stream = ExtResource("9")