graphic for bullets, crates, animations for player, state machine
This commit is contained in:
		
							parent
							
								
									0afb528430
								
							
						
					
					
						commit
						e01d74d89d
					
				
							
								
								
									
										
											BIN
										
									
								
								assets/graphics/objects/crate.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/graphics/objects/crate.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.7 KiB  | 
							
								
								
									
										34
									
								
								assets/graphics/objects/crate.png.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								assets/graphics/objects/crate.png.import
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					[remap]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					importer="texture"
 | 
				
			||||||
 | 
					type="CompressedTexture2D"
 | 
				
			||||||
 | 
					uid="uid://bupa7vw3dnbia"
 | 
				
			||||||
 | 
					path="res://.godot/imported/crate.png-b286bd97caa3cbc59746f2db7de46191.ctex"
 | 
				
			||||||
 | 
					metadata={
 | 
				
			||||||
 | 
					"vram_texture": false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[deps]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source_file="res://assets/graphics/objects/crate.png"
 | 
				
			||||||
 | 
					dest_files=["res://.godot/imported/crate.png-b286bd97caa3cbc59746f2db7de46191.ctex"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[params]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					compress/mode=0
 | 
				
			||||||
 | 
					compress/high_quality=false
 | 
				
			||||||
 | 
					compress/lossy_quality=0.7
 | 
				
			||||||
 | 
					compress/hdr_compression=1
 | 
				
			||||||
 | 
					compress/normal_map=0
 | 
				
			||||||
 | 
					compress/channel_pack=0
 | 
				
			||||||
 | 
					mipmaps/generate=false
 | 
				
			||||||
 | 
					mipmaps/limit=-1
 | 
				
			||||||
 | 
					roughness/mode=0
 | 
				
			||||||
 | 
					roughness/src_normal=""
 | 
				
			||||||
 | 
					process/fix_alpha_border=true
 | 
				
			||||||
 | 
					process/premult_alpha=false
 | 
				
			||||||
 | 
					process/normal_map_invert_y=false
 | 
				
			||||||
 | 
					process/hdr_as_srgb=false
 | 
				
			||||||
 | 
					process/hdr_clamp_exposure=false
 | 
				
			||||||
 | 
					process/size_limit=0
 | 
				
			||||||
 | 
					detect_3d/compress_to=1
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								assets/graphics/player/idle/Player Idle 48x48.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/graphics/player/idle/Player Idle 48x48.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.8 KiB  | 
							
								
								
									
										34
									
								
								assets/graphics/player/idle/Player Idle 48x48.png.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								assets/graphics/player/idle/Player Idle 48x48.png.import
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					[remap]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					importer="texture"
 | 
				
			||||||
 | 
					type="CompressedTexture2D"
 | 
				
			||||||
 | 
					uid="uid://bu65v0qav121i"
 | 
				
			||||||
 | 
					path="res://.godot/imported/Player Idle 48x48.png-9f43f14976963a2821a06ddf8579a76a.ctex"
 | 
				
			||||||
 | 
					metadata={
 | 
				
			||||||
 | 
					"vram_texture": false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[deps]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source_file="res://assets/graphics/player/idle/Player Idle 48x48.png"
 | 
				
			||||||
 | 
					dest_files=["res://.godot/imported/Player Idle 48x48.png-9f43f14976963a2821a06ddf8579a76a.ctex"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[params]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					compress/mode=0
 | 
				
			||||||
 | 
					compress/high_quality=false
 | 
				
			||||||
 | 
					compress/lossy_quality=0.7
 | 
				
			||||||
 | 
					compress/hdr_compression=1
 | 
				
			||||||
 | 
					compress/normal_map=0
 | 
				
			||||||
 | 
					compress/channel_pack=0
 | 
				
			||||||
 | 
					mipmaps/generate=false
 | 
				
			||||||
 | 
					mipmaps/limit=-1
 | 
				
			||||||
 | 
					roughness/mode=0
 | 
				
			||||||
 | 
					roughness/src_normal=""
 | 
				
			||||||
 | 
					process/fix_alpha_border=true
 | 
				
			||||||
 | 
					process/premult_alpha=false
 | 
				
			||||||
 | 
					process/normal_map_invert_y=false
 | 
				
			||||||
 | 
					process/hdr_as_srgb=false
 | 
				
			||||||
 | 
					process/hdr_clamp_exposure=false
 | 
				
			||||||
 | 
					process/size_limit=0
 | 
				
			||||||
 | 
					detect_3d/compress_to=1
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								assets/graphics/player/jump/player jump 48x48.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/graphics/player/jump/player jump 48x48.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1021 B  | 
							
								
								
									
										34
									
								
								assets/graphics/player/jump/player jump 48x48.png.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								assets/graphics/player/jump/player jump 48x48.png.import
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					[remap]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					importer="texture"
 | 
				
			||||||
 | 
					type="CompressedTexture2D"
 | 
				
			||||||
 | 
					uid="uid://44l8sisj1m28"
 | 
				
			||||||
 | 
					path="res://.godot/imported/player jump 48x48.png-1ccba0c36041038682bf917e1f6cf991.ctex"
 | 
				
			||||||
 | 
					metadata={
 | 
				
			||||||
 | 
					"vram_texture": false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[deps]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source_file="res://assets/graphics/player/jump/player jump 48x48.png"
 | 
				
			||||||
 | 
					dest_files=["res://.godot/imported/player jump 48x48.png-1ccba0c36041038682bf917e1f6cf991.ctex"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[params]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					compress/mode=0
 | 
				
			||||||
 | 
					compress/high_quality=false
 | 
				
			||||||
 | 
					compress/lossy_quality=0.7
 | 
				
			||||||
 | 
					compress/hdr_compression=1
 | 
				
			||||||
 | 
					compress/normal_map=0
 | 
				
			||||||
 | 
					compress/channel_pack=0
 | 
				
			||||||
 | 
					mipmaps/generate=false
 | 
				
			||||||
 | 
					mipmaps/limit=-1
 | 
				
			||||||
 | 
					roughness/mode=0
 | 
				
			||||||
 | 
					roughness/src_normal=""
 | 
				
			||||||
 | 
					process/fix_alpha_border=true
 | 
				
			||||||
 | 
					process/premult_alpha=false
 | 
				
			||||||
 | 
					process/normal_map_invert_y=false
 | 
				
			||||||
 | 
					process/hdr_as_srgb=false
 | 
				
			||||||
 | 
					process/hdr_clamp_exposure=false
 | 
				
			||||||
 | 
					process/size_limit=0
 | 
				
			||||||
 | 
					detect_3d/compress_to=1
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								assets/graphics/player/run/player run 48x48.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/graphics/player/run/player run 48x48.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 3.1 KiB  | 
							
								
								
									
										34
									
								
								assets/graphics/player/run/player run 48x48.png.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								assets/graphics/player/run/player run 48x48.png.import
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					[remap]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					importer="texture"
 | 
				
			||||||
 | 
					type="CompressedTexture2D"
 | 
				
			||||||
 | 
					uid="uid://cul2mnim1qiyl"
 | 
				
			||||||
 | 
					path="res://.godot/imported/player run 48x48.png-6d66612d48bfa4c8721495ba557ab7c6.ctex"
 | 
				
			||||||
 | 
					metadata={
 | 
				
			||||||
 | 
					"vram_texture": false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[deps]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source_file="res://assets/graphics/player/run/player run 48x48.png"
 | 
				
			||||||
 | 
					dest_files=["res://.godot/imported/player run 48x48.png-6d66612d48bfa4c8721495ba557ab7c6.ctex"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[params]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					compress/mode=0
 | 
				
			||||||
 | 
					compress/high_quality=false
 | 
				
			||||||
 | 
					compress/lossy_quality=0.7
 | 
				
			||||||
 | 
					compress/hdr_compression=1
 | 
				
			||||||
 | 
					compress/normal_map=0
 | 
				
			||||||
 | 
					compress/channel_pack=0
 | 
				
			||||||
 | 
					mipmaps/generate=false
 | 
				
			||||||
 | 
					mipmaps/limit=-1
 | 
				
			||||||
 | 
					roughness/mode=0
 | 
				
			||||||
 | 
					roughness/src_normal=""
 | 
				
			||||||
 | 
					process/fix_alpha_border=true
 | 
				
			||||||
 | 
					process/premult_alpha=false
 | 
				
			||||||
 | 
					process/normal_map_invert_y=false
 | 
				
			||||||
 | 
					process/hdr_as_srgb=false
 | 
				
			||||||
 | 
					process/hdr_clamp_exposure=false
 | 
				
			||||||
 | 
					process/size_limit=0
 | 
				
			||||||
 | 
					detect_3d/compress_to=1
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								assets/graphics/projectiles/pixel_bullet.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/graphics/projectiles/pixel_bullet.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 3.8 KiB  | 
							
								
								
									
										34
									
								
								assets/graphics/projectiles/pixel_bullet.png.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								assets/graphics/projectiles/pixel_bullet.png.import
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					[remap]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					importer="texture"
 | 
				
			||||||
 | 
					type="CompressedTexture2D"
 | 
				
			||||||
 | 
					uid="uid://djbxq0tps75pc"
 | 
				
			||||||
 | 
					path="res://.godot/imported/pixel_bullet.png-30d6d1e8b5e1332f8b2e2cee72a9e790.ctex"
 | 
				
			||||||
 | 
					metadata={
 | 
				
			||||||
 | 
					"vram_texture": false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[deps]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source_file="res://assets/graphics/projectiles/pixel_bullet.png"
 | 
				
			||||||
 | 
					dest_files=["res://.godot/imported/pixel_bullet.png-30d6d1e8b5e1332f8b2e2cee72a9e790.ctex"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[params]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					compress/mode=0
 | 
				
			||||||
 | 
					compress/high_quality=false
 | 
				
			||||||
 | 
					compress/lossy_quality=0.7
 | 
				
			||||||
 | 
					compress/hdr_compression=1
 | 
				
			||||||
 | 
					compress/normal_map=0
 | 
				
			||||||
 | 
					compress/channel_pack=0
 | 
				
			||||||
 | 
					mipmaps/generate=false
 | 
				
			||||||
 | 
					mipmaps/limit=-1
 | 
				
			||||||
 | 
					roughness/mode=0
 | 
				
			||||||
 | 
					roughness/src_normal=""
 | 
				
			||||||
 | 
					process/fix_alpha_border=true
 | 
				
			||||||
 | 
					process/premult_alpha=false
 | 
				
			||||||
 | 
					process/normal_map_invert_y=false
 | 
				
			||||||
 | 
					process/hdr_as_srgb=false
 | 
				
			||||||
 | 
					process/hdr_clamp_exposure=false
 | 
				
			||||||
 | 
					process/size_limit=0
 | 
				
			||||||
 | 
					detect_3d/compress_to=1
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								assets/graphics/terrains/Terrain (32x32).png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/graphics/terrains/Terrain (32x32).png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 12 KiB  | 
							
								
								
									
										34
									
								
								assets/graphics/terrains/Terrain (32x32).png.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								assets/graphics/terrains/Terrain (32x32).png.import
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					[remap]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					importer="texture"
 | 
				
			||||||
 | 
					type="CompressedTexture2D"
 | 
				
			||||||
 | 
					uid="uid://c4ltj66f0bstb"
 | 
				
			||||||
 | 
					path="res://.godot/imported/Terrain (32x32).png-7361ca574569f6e5ff16ef11d25a8904.ctex"
 | 
				
			||||||
 | 
					metadata={
 | 
				
			||||||
 | 
					"vram_texture": false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[deps]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source_file="res://assets/graphics/terrains/Terrain (32x32).png"
 | 
				
			||||||
 | 
					dest_files=["res://.godot/imported/Terrain (32x32).png-7361ca574569f6e5ff16ef11d25a8904.ctex"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[params]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					compress/mode=0
 | 
				
			||||||
 | 
					compress/high_quality=false
 | 
				
			||||||
 | 
					compress/lossy_quality=0.7
 | 
				
			||||||
 | 
					compress/hdr_compression=1
 | 
				
			||||||
 | 
					compress/normal_map=0
 | 
				
			||||||
 | 
					compress/channel_pack=0
 | 
				
			||||||
 | 
					mipmaps/generate=false
 | 
				
			||||||
 | 
					mipmaps/limit=-1
 | 
				
			||||||
 | 
					roughness/mode=0
 | 
				
			||||||
 | 
					roughness/src_normal=""
 | 
				
			||||||
 | 
					process/fix_alpha_border=true
 | 
				
			||||||
 | 
					process/premult_alpha=false
 | 
				
			||||||
 | 
					process/normal_map_invert_y=false
 | 
				
			||||||
 | 
					process/hdr_as_srgb=false
 | 
				
			||||||
 | 
					process/hdr_clamp_exposure=false
 | 
				
			||||||
 | 
					process/size_limit=0
 | 
				
			||||||
 | 
					detect_3d/compress_to=1
 | 
				
			||||||
@ -1,6 +1,7 @@
 | 
				
			|||||||
[gd_scene load_steps=3 format=3 uid="uid://cair7oymuohyq"]
 | 
					[gd_scene load_steps=4 format=3 uid="uid://cair7oymuohyq"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[ext_resource type="Script" uid="uid://b8fowda770nwo" path="res://scripts/bullet.gd" id="1_mkf8s"]
 | 
					[ext_resource type="Script" uid="uid://b8fowda770nwo" path="res://scripts/bullet.gd" id="1_mkf8s"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://djbxq0tps75pc" path="res://assets/graphics/projectiles/pixel_bullet.png" id="2_y25gk"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_y25gk"]
 | 
					[sub_resource type="RectangleShape2D" id="RectangleShape2D_y25gk"]
 | 
				
			||||||
size = Vector2(10, 4)
 | 
					size = Vector2(10, 4)
 | 
				
			||||||
@ -12,3 +13,10 @@ metadata/_edit_group_ = true
 | 
				
			|||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
 | 
					[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
 | 
				
			||||||
shape = SubResource("RectangleShape2D_y25gk")
 | 
					shape = SubResource("RectangleShape2D_y25gk")
 | 
				
			||||||
debug_color = Color(0.680659, 0.501456, 0.117679, 0.42)
 | 
					debug_color = Color(0.680659, 0.501456, 0.117679, 0.42)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Sprite2D" type="Sprite2D" parent="."]
 | 
				
			||||||
 | 
					texture_filter = 1
 | 
				
			||||||
 | 
					position = Vector2(-3, -2)
 | 
				
			||||||
 | 
					rotation = 3.14159
 | 
				
			||||||
 | 
					scale = Vector2(0.071529, 0.071529)
 | 
				
			||||||
 | 
					texture = ExtResource("2_y25gk")
 | 
				
			||||||
 | 
				
			|||||||
@ -1,11 +1,18 @@
 | 
				
			|||||||
[gd_scene load_steps=2 format=3 uid="uid://dm0s1wei11x43"]
 | 
					[gd_scene load_steps=3 format=3 uid="uid://dm0s1wei11x43"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://bupa7vw3dnbia" path="res://assets/graphics/objects/crate.png" id="1_b66cd"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_uwrxv"]
 | 
					[sub_resource type="RectangleShape2D" id="RectangleShape2D_uwrxv"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="RigidBody2D3" type="RigidBody2D"]
 | 
					[node name="RigidBody2D3" type="RigidBody2D"]
 | 
				
			||||||
rotation = 1.00826
 | 
					 | 
				
			||||||
metadata/_edit_group_ = true
 | 
					metadata/_edit_group_ = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Sprite2D" type="Sprite2D" parent="."]
 | 
				
			||||||
 | 
					texture_filter = 1
 | 
				
			||||||
 | 
					position = Vector2(0.500001, 0.515201)
 | 
				
			||||||
 | 
					scale = Vector2(0.07, 0.069)
 | 
				
			||||||
 | 
					texture = ExtResource("1_b66cd")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
 | 
					[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
 | 
				
			||||||
shape = SubResource("RectangleShape2D_uwrxv")
 | 
					shape = SubResource("RectangleShape2D_uwrxv")
 | 
				
			||||||
debug_color = Color(0.869503, 0.340519, 0.233585, 0.42)
 | 
					debug_color = Color(0.869503, 0.340519, 0.233585, 0.42)
 | 
				
			||||||
 | 
				
			|||||||
@ -1,43 +1,98 @@
 | 
				
			|||||||
[gd_scene load_steps=8 format=3 uid="uid://dc4obqdsdq81h"]
 | 
					[gd_scene load_steps=12 format=3 uid="uid://dc4obqdsdq81h"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[ext_resource type="Script" uid="uid://dflv3rb4v8c0r" path="res://scripts/gamecontroller.gd" id="1_lnu2h"]
 | 
					[ext_resource type="Script" uid="uid://dflv3rb4v8c0r" path="res://scripts/gamecontroller.gd" id="1_lnu2h"]
 | 
				
			||||||
[ext_resource type="PackedScene" uid="uid://drodkouhgldnf" path="res://scenes/player.tscn" id="2_lbhrr"]
 | 
					[ext_resource type="PackedScene" uid="uid://drodkouhgldnf" path="res://scenes/player.tscn" id="2_lbhrr"]
 | 
				
			||||||
[ext_resource type="Script" uid="uid://cf8f01b63m2hq" path="res://scripts/scene_manager.gd" id="2_p57ef"]
 | 
					[ext_resource type="Script" uid="uid://cf8f01b63m2hq" path="res://scripts/scene_manager.gd" id="2_p57ef"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://c4ltj66f0bstb" path="res://assets/graphics/terrains/Terrain (32x32).png" id="2_u5sy4"]
 | 
				
			||||||
[ext_resource type="PackedScene" uid="uid://dm0s1wei11x43" path="res://scenes/crate.tscn" id="3_lbhrr"]
 | 
					[ext_resource type="PackedScene" uid="uid://dm0s1wei11x43" path="res://scenes/crate.tscn" id="3_lbhrr"]
 | 
				
			||||||
[ext_resource type="PackedScene" uid="uid://bu03yhhfncspe" path="res://scenes/trigger.tscn" id="4_iywne"]
 | 
					[ext_resource type="PackedScene" uid="uid://bu03yhhfncspe" path="res://scenes/trigger.tscn" id="4_iywne"]
 | 
				
			||||||
[ext_resource type="PackedScene" uid="uid://cair7oymuohyq" path="res://scenes/bullet.tscn" id="5_iywne"]
 | 
					[ext_resource type="PackedScene" uid="uid://cair7oymuohyq" path="res://scenes/bullet.tscn" id="5_iywne"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_gee14"]
 | 
				
			||||||
 | 
					texture = ExtResource("2_u5sy4")
 | 
				
			||||||
 | 
					texture_region_size = Vector2i(32, 32)
 | 
				
			||||||
 | 
					0:0/0 = 0
 | 
				
			||||||
 | 
					1:0/0 = 0
 | 
				
			||||||
 | 
					2:0/0 = 0
 | 
				
			||||||
 | 
					4:0/0 = 0
 | 
				
			||||||
 | 
					6:0/0 = 0
 | 
				
			||||||
 | 
					7:0/0 = 0
 | 
				
			||||||
 | 
					9:0/0 = 0
 | 
				
			||||||
 | 
					10:0/0 = 0
 | 
				
			||||||
 | 
					12:0/0 = 0
 | 
				
			||||||
 | 
					13:0/0 = 0
 | 
				
			||||||
 | 
					15:0/0 = 0
 | 
				
			||||||
 | 
					0:1/0 = 0
 | 
				
			||||||
 | 
					1:1/0 = 0
 | 
				
			||||||
 | 
					2:1/0 = 0
 | 
				
			||||||
 | 
					4:1/0 = 0
 | 
				
			||||||
 | 
					6:1/0 = 0
 | 
				
			||||||
 | 
					7:1/0 = 0
 | 
				
			||||||
 | 
					9:1/0 = 0
 | 
				
			||||||
 | 
					10:1/0 = 0
 | 
				
			||||||
 | 
					12:1/0 = 0
 | 
				
			||||||
 | 
					13:1/0 = 0
 | 
				
			||||||
 | 
					15:1/0 = 0
 | 
				
			||||||
 | 
					16:1/0 = 0
 | 
				
			||||||
 | 
					0:2/0 = 0
 | 
				
			||||||
 | 
					1:2/0 = 0
 | 
				
			||||||
 | 
					2:2/0 = 0
 | 
				
			||||||
 | 
					4:2/0 = 0
 | 
				
			||||||
 | 
					6:3/0 = 0
 | 
				
			||||||
 | 
					7:3/0 = 0
 | 
				
			||||||
 | 
					9:3/0 = 0
 | 
				
			||||||
 | 
					10:3/0 = 0
 | 
				
			||||||
 | 
					12:3/0 = 0
 | 
				
			||||||
 | 
					13:3/0 = 0
 | 
				
			||||||
 | 
					15:3/0 = 0
 | 
				
			||||||
 | 
					16:3/0 = 0
 | 
				
			||||||
 | 
					0:4/0 = 0
 | 
				
			||||||
 | 
					1:4/0 = 0
 | 
				
			||||||
 | 
					2:4/0 = 0
 | 
				
			||||||
 | 
					4:4/0 = 0
 | 
				
			||||||
 | 
					6:4/0 = 0
 | 
				
			||||||
 | 
					7:4/0 = 0
 | 
				
			||||||
 | 
					9:4/0 = 0
 | 
				
			||||||
 | 
					10:4/0 = 0
 | 
				
			||||||
 | 
					12:4/0 = 0
 | 
				
			||||||
 | 
					13:4/0 = 0
 | 
				
			||||||
 | 
					15:4/0 = 0
 | 
				
			||||||
 | 
					16:4/0 = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="TileSet" id="TileSet_0tnpc"]
 | 
				
			||||||
 | 
					tile_size = Vector2i(32, 32)
 | 
				
			||||||
 | 
					sources/0 = SubResource("TileSetAtlasSource_gee14")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_8cj0n"]
 | 
					[sub_resource type="RectangleShape2D" id="RectangleShape2D_8cj0n"]
 | 
				
			||||||
size = Vector2(60, 20)
 | 
					size = Vector2(60, 20)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_u5sy4"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="Game" type="Node2D"]
 | 
					[node name="Game" type="Node2D"]
 | 
				
			||||||
script = ExtResource("1_lnu2h")
 | 
					script = ExtResource("1_lnu2h")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="TileMapLayer" type="TileMapLayer" parent="."]
 | 
				
			||||||
 | 
					tile_map_data = PackedByteArray(0, 0, 17, 0, 11, 0, 0, 0, 4, 0, 4, 0, 0, 0)
 | 
				
			||||||
 | 
					tile_set = SubResource("TileSet_0tnpc")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="SceneManager" type="Node2D" parent="."]
 | 
					[node name="SceneManager" type="Node2D" parent="."]
 | 
				
			||||||
unique_name_in_owner = true
 | 
					unique_name_in_owner = true
 | 
				
			||||||
script = ExtResource("2_p57ef")
 | 
					script = ExtResource("2_p57ef")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="StaticBody2D" type="StaticBody2D" parent="."]
 | 
					[node name="StaticBody2D" type="StaticBody2D" parent="."]
 | 
				
			||||||
position = Vector2(570, 369)
 | 
					position = Vector2(644, 363)
 | 
				
			||||||
scale = Vector2(4, 1)
 | 
					scale = Vector2(0.760005, 1)
 | 
				
			||||||
metadata/_edit_group_ = true
 | 
					metadata/_edit_group_ = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
 | 
					[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
 | 
				
			||||||
shape = SubResource("RectangleShape2D_8cj0n")
 | 
					shape = SubResource("RectangleShape2D_8cj0n")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="CharacterBody2D" parent="." instance=ExtResource("2_lbhrr")]
 | 
					[node name="CharacterBody2D" parent="." instance=ExtResource("2_lbhrr")]
 | 
				
			||||||
position = Vector2(556, 348)
 | 
					position = Vector2(559, 335)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="RigidBody2D3" parent="." instance=ExtResource("3_lbhrr")]
 | 
					[node name="RigidBody2D3" parent="." instance=ExtResource("3_lbhrr")]
 | 
				
			||||||
position = Vector2(510, 326)
 | 
					position = Vector2(510, 326)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="Area2D" parent="." instance=ExtResource("4_iywne")]
 | 
					 | 
				
			||||||
position = Vector2(519, 453)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[node name="Area2D2" parent="." instance=ExtResource("4_iywne")]
 | 
					 | 
				
			||||||
position = Vector2(653, 461)
 | 
					 | 
				
			||||||
effect = "powerup"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[node name="RigidBody2D4" parent="." instance=ExtResource("3_lbhrr")]
 | 
					[node name="RigidBody2D4" parent="." instance=ExtResource("3_lbhrr")]
 | 
				
			||||||
position = Vector2(468, 321)
 | 
					position = Vector2(468, 321)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -47,5 +102,20 @@ position = Vector2(590, 342)
 | 
				
			|||||||
[node name="Bullet" parent="." instance=ExtResource("5_iywne")]
 | 
					[node name="Bullet" parent="." instance=ExtResource("5_iywne")]
 | 
				
			||||||
position = Vector2(490, 302)
 | 
					position = Vector2(490, 302)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[connection signal="areatrigger" from="Area2D" to="." method="_on_areatrigger"]
 | 
					[node name="triggers" type="Node2D" parent="."]
 | 
				
			||||||
[connection signal="areatrigger" from="Area2D2" to="." method="_on_areatrigger"]
 | 
					
 | 
				
			||||||
 | 
					[node name="Area2D" parent="triggers" instance=ExtResource("4_iywne")]
 | 
				
			||||||
 | 
					position = Vector2(519, 453)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Area2D2" parent="triggers" instance=ExtResource("4_iywne")]
 | 
				
			||||||
 | 
					position = Vector2(653, 461)
 | 
				
			||||||
 | 
					effect = "powerup"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="StaticBody2D2" type="StaticBody2D" parent="."]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D2"]
 | 
				
			||||||
 | 
					position = Vector2(553, 571)
 | 
				
			||||||
 | 
					shape = SubResource("WorldBoundaryShape2D_u5sy4")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[connection signal="areatrigger" from="triggers/Area2D" to="." method="_on_areatrigger"]
 | 
				
			||||||
 | 
					[connection signal="areatrigger" from="triggers/Area2D2" to="." method="_on_areatrigger"]
 | 
				
			||||||
 | 
				
			|||||||
@ -1,9 +1,182 @@
 | 
				
			|||||||
[gd_scene load_steps=3 format=3 uid="uid://drodkouhgldnf"]
 | 
					[gd_scene load_steps=28 format=3 uid="uid://drodkouhgldnf"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[ext_resource type="Script" uid="uid://dmyw2bn6gnbbv" path="res://scripts/character_body_2d.gd" id="1_3vyb7"]
 | 
					[ext_resource type="Script" uid="uid://dmyw2bn6gnbbv" path="res://scripts/character_body_2d.gd" id="1_3vyb7"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://44l8sisj1m28" path="res://assets/graphics/player/jump/player jump 48x48.png" id="2_dqkch"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://bu65v0qav121i" path="res://assets/graphics/player/idle/Player Idle 48x48.png" id="2_g2els"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://cul2mnim1qiyl" path="res://assets/graphics/player/run/player run 48x48.png" id="3_qhqgy"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_8cj0n"]
 | 
					[sub_resource type="CircleShape2D" id="CircleShape2D_8cj0n"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_i4ail"]
 | 
				
			||||||
 | 
					atlas = ExtResource("2_dqkch")
 | 
				
			||||||
 | 
					region = Rect2(96, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_qhqgy"]
 | 
				
			||||||
 | 
					atlas = ExtResource("2_g2els")
 | 
				
			||||||
 | 
					region = Rect2(0, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_dqkch"]
 | 
				
			||||||
 | 
					atlas = ExtResource("2_g2els")
 | 
				
			||||||
 | 
					region = Rect2(48, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_qlg0r"]
 | 
				
			||||||
 | 
					atlas = ExtResource("2_g2els")
 | 
				
			||||||
 | 
					region = Rect2(96, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_tuyoq"]
 | 
				
			||||||
 | 
					atlas = ExtResource("2_g2els")
 | 
				
			||||||
 | 
					region = Rect2(144, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_fjrip"]
 | 
				
			||||||
 | 
					atlas = ExtResource("2_g2els")
 | 
				
			||||||
 | 
					region = Rect2(192, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_smehm"]
 | 
				
			||||||
 | 
					atlas = ExtResource("2_g2els")
 | 
				
			||||||
 | 
					region = Rect2(240, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_ur7pv"]
 | 
				
			||||||
 | 
					atlas = ExtResource("2_g2els")
 | 
				
			||||||
 | 
					region = Rect2(288, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_y4r1p"]
 | 
				
			||||||
 | 
					atlas = ExtResource("2_g2els")
 | 
				
			||||||
 | 
					region = Rect2(336, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_d2wvv"]
 | 
				
			||||||
 | 
					atlas = ExtResource("2_g2els")
 | 
				
			||||||
 | 
					region = Rect2(384, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_3v2ag"]
 | 
				
			||||||
 | 
					atlas = ExtResource("2_g2els")
 | 
				
			||||||
 | 
					region = Rect2(432, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_a38lo"]
 | 
				
			||||||
 | 
					atlas = ExtResource("2_dqkch")
 | 
				
			||||||
 | 
					region = Rect2(0, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_4ni07"]
 | 
				
			||||||
 | 
					atlas = ExtResource("2_dqkch")
 | 
				
			||||||
 | 
					region = Rect2(48, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_jej6c"]
 | 
				
			||||||
 | 
					atlas = ExtResource("3_qhqgy")
 | 
				
			||||||
 | 
					region = Rect2(0, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_f1ej7"]
 | 
				
			||||||
 | 
					atlas = ExtResource("3_qhqgy")
 | 
				
			||||||
 | 
					region = Rect2(48, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_oprun"]
 | 
				
			||||||
 | 
					atlas = ExtResource("3_qhqgy")
 | 
				
			||||||
 | 
					region = Rect2(96, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_a8ls1"]
 | 
				
			||||||
 | 
					atlas = ExtResource("3_qhqgy")
 | 
				
			||||||
 | 
					region = Rect2(144, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_qfm1y"]
 | 
				
			||||||
 | 
					atlas = ExtResource("3_qhqgy")
 | 
				
			||||||
 | 
					region = Rect2(192, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_fulsm"]
 | 
				
			||||||
 | 
					atlas = ExtResource("3_qhqgy")
 | 
				
			||||||
 | 
					region = Rect2(240, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_4r5pv"]
 | 
				
			||||||
 | 
					atlas = ExtResource("3_qhqgy")
 | 
				
			||||||
 | 
					region = Rect2(288, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_60mlk"]
 | 
				
			||||||
 | 
					atlas = ExtResource("3_qhqgy")
 | 
				
			||||||
 | 
					region = Rect2(336, 0, 48, 48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="SpriteFrames" id="SpriteFrames_jej6c"]
 | 
				
			||||||
 | 
					animations = [{
 | 
				
			||||||
 | 
					"frames": [{
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_i4ail")
 | 
				
			||||||
 | 
					}],
 | 
				
			||||||
 | 
					"loop": false,
 | 
				
			||||||
 | 
					"name": &"falling",
 | 
				
			||||||
 | 
					"speed": 12.0
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"frames": [{
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_qhqgy")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_dqkch")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_qlg0r")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_tuyoq")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_fjrip")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_smehm")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_ur7pv")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_y4r1p")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_d2wvv")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_3v2ag")
 | 
				
			||||||
 | 
					}],
 | 
				
			||||||
 | 
					"loop": true,
 | 
				
			||||||
 | 
					"name": &"idle",
 | 
				
			||||||
 | 
					"speed": 12.0
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"frames": [{
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_a38lo")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_4ni07")
 | 
				
			||||||
 | 
					}],
 | 
				
			||||||
 | 
					"loop": false,
 | 
				
			||||||
 | 
					"name": &"jump",
 | 
				
			||||||
 | 
					"speed": 12.0
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"frames": [{
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_jej6c")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_f1ej7")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_oprun")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_a8ls1")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_qfm1y")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_fulsm")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_4r5pv")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_60mlk")
 | 
				
			||||||
 | 
					}],
 | 
				
			||||||
 | 
					"loop": true,
 | 
				
			||||||
 | 
					"name": &"run",
 | 
				
			||||||
 | 
					"speed": 12.0
 | 
				
			||||||
 | 
					}]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="CharacterBody2D" type="CharacterBody2D"]
 | 
					[node name="CharacterBody2D" type="CharacterBody2D"]
 | 
				
			||||||
script = ExtResource("1_3vyb7")
 | 
					script = ExtResource("1_3vyb7")
 | 
				
			||||||
metadata/_edit_group_ = true
 | 
					metadata/_edit_group_ = true
 | 
				
			||||||
@ -23,3 +196,12 @@ position = Vector2(14, -5)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[node name="LeftSpawn" type="Node2D" parent="."]
 | 
					[node name="LeftSpawn" type="Node2D" parent="."]
 | 
				
			||||||
position = Vector2(-14, -5)
 | 
					position = Vector2(-14, -5)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="PlayerGraphic" type="AnimatedSprite2D" parent="."]
 | 
				
			||||||
 | 
					texture_filter = 1
 | 
				
			||||||
 | 
					position = Vector2(0, -5)
 | 
				
			||||||
 | 
					sprite_frames = SubResource("SpriteFrames_jej6c")
 | 
				
			||||||
 | 
					animation = &"falling"
 | 
				
			||||||
 | 
					autoplay = "idle"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[connection signal="animation_finished" from="PlayerGraphic" to="." method="_on_animation_finished"]
 | 
				
			||||||
 | 
				
			|||||||
@ -7,17 +7,76 @@ const JUMP_VELOCITY = -400.0
 | 
				
			|||||||
@onready var left_cast: RayCast2D = $LeftCast
 | 
					@onready var left_cast: RayCast2D = $LeftCast
 | 
				
			||||||
@onready var right_spawn: Node2D = $RightSpawn
 | 
					@onready var right_spawn: Node2D = $RightSpawn
 | 
				
			||||||
@onready var left_spawn: Node2D = $LeftSpawn
 | 
					@onready var left_spawn: Node2D = $LeftSpawn
 | 
				
			||||||
 | 
					@onready var player_graphic: AnimatedSprite2D = $PlayerGraphic
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum FaceDirection{LEFT, RIGHT}
 | 
					enum FaceDirection{LEFT, RIGHT}
 | 
				
			||||||
var facing:FaceDirection = FaceDirection.RIGHT
 | 
					var facing:FaceDirection = FaceDirection.RIGHT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum State{IDLE, RUN, JUMP, FALLING}
 | 
				
			||||||
 | 
					var current_state:State = State.IDLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var pushTarget
 | 
					var pushTarget
 | 
				
			||||||
var pushEnabled = false
 | 
					var pushEnabled = false
 | 
				
			||||||
 | 
					var direction 
 | 
				
			||||||
 | 
					var upJump = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func _physics_process(delta: float) -> void:
 | 
					func _physics_process(delta: float) -> void:
 | 
				
			||||||
 | 
						#game loop
 | 
				
			||||||
 | 
						handle_input()
 | 
				
			||||||
 | 
						#calculate the movement
 | 
				
			||||||
 | 
						handle_movement(delta)
 | 
				
			||||||
 | 
						#change states
 | 
				
			||||||
 | 
						update_states()
 | 
				
			||||||
 | 
						#play animations
 | 
				
			||||||
 | 
						update_animation()
 | 
				
			||||||
 | 
						#collison with object, raycasts
 | 
				
			||||||
 | 
						move_and_slide()
 | 
				
			||||||
 | 
						handle_collisions()
 | 
				
			||||||
 | 
					func update_states():
 | 
				
			||||||
 | 
						match current_state:
 | 
				
			||||||
 | 
							#idle when movement in x
 | 
				
			||||||
 | 
							State.IDLE when velocity.x !=0:
 | 
				
			||||||
 | 
								current_state = State.RUN
 | 
				
			||||||
 | 
							State.RUN:
 | 
				
			||||||
 | 
								if velocity.x ==0:
 | 
				
			||||||
 | 
									current_state = State.IDLE
 | 
				
			||||||
 | 
							#jumping when reaching apex
 | 
				
			||||||
 | 
							State.JUMP when velocity.y > 0:
 | 
				
			||||||
 | 
								current_state = State.FALLING
 | 
				
			||||||
 | 
							State.FALLING when is_on_floor():
 | 
				
			||||||
 | 
								if velocity.x == 0:
 | 
				
			||||||
 | 
									current_state = State.IDLE
 | 
				
			||||||
 | 
								else:
 | 
				
			||||||
 | 
									current_state = State.RUN
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
					func update_animation():
 | 
				
			||||||
 | 
						match current_state:
 | 
				
			||||||
 | 
							State.IDLE:
 | 
				
			||||||
 | 
								player_graphic.play("idle")
 | 
				
			||||||
 | 
							State.RUN:
 | 
				
			||||||
 | 
								player_graphic.play("run")
 | 
				
			||||||
 | 
							State.JUMP:
 | 
				
			||||||
 | 
								if upJump:
 | 
				
			||||||
 | 
									player_graphic.play("jump")
 | 
				
			||||||
 | 
							State.FALLING:
 | 
				
			||||||
 | 
								player_graphic.play("falling")
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
					func handle_movement(delta):
 | 
				
			||||||
	# Add the gravity.
 | 
						# Add the gravity.
 | 
				
			||||||
	if not is_on_floor():
 | 
						if not is_on_floor():
 | 
				
			||||||
		velocity += get_gravity() * delta
 | 
							velocity += get_gravity() * delta
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						if direction:
 | 
				
			||||||
 | 
							velocity.x = direction * SPEED
 | 
				
			||||||
 | 
							if direction <0:
 | 
				
			||||||
 | 
								facing = FaceDirection.LEFT
 | 
				
			||||||
 | 
								player_graphic.flip_h = true
 | 
				
			||||||
 | 
							if direction >0:
 | 
				
			||||||
 | 
								facing = FaceDirection.RIGHT
 | 
				
			||||||
 | 
								player_graphic.flip_h = false
 | 
				
			||||||
 | 
						else:
 | 
				
			||||||
 | 
							velocity.x = move_toward(velocity.x, 0, SPEED)
 | 
				
			||||||
 | 
					func handle_input():
 | 
				
			||||||
	if Input.is_action_just_pressed("shoot"):
 | 
						if Input.is_action_just_pressed("shoot"):
 | 
				
			||||||
		print("Shoot a bullet")
 | 
							print("Shoot a bullet")
 | 
				
			||||||
		if facing == FaceDirection.RIGHT:
 | 
							if facing == FaceDirection.RIGHT:
 | 
				
			||||||
@ -36,20 +95,13 @@ func _physics_process(delta: float) -> void:
 | 
				
			|||||||
	# Handle jump.
 | 
						# Handle jump.
 | 
				
			||||||
	if Input.is_action_just_pressed("ui_accept") and is_on_floor():
 | 
						if Input.is_action_just_pressed("ui_accept") and is_on_floor():
 | 
				
			||||||
		velocity.y = JUMP_VELOCITY
 | 
							velocity.y = JUMP_VELOCITY
 | 
				
			||||||
 | 
							current_state = State.JUMP
 | 
				
			||||||
 | 
							upJump = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	# Get the input direction and handle the movement/deceleration.
 | 
						# Get the input direction and handle the movement/deceleration.
 | 
				
			||||||
	# As good practice, you should replace UI actions with custom gameplay actions.
 | 
						# As good practice, you should replace UI actions with custom gameplay actions.
 | 
				
			||||||
	var direction := Input.get_axis("ui_left", "ui_right")
 | 
						direction = Input.get_axis("ui_left", "ui_right")
 | 
				
			||||||
	if direction:
 | 
					func handle_collisions():
 | 
				
			||||||
		velocity.x = direction * SPEED
 | 
					 | 
				
			||||||
		if direction <0:
 | 
					 | 
				
			||||||
			facing = FaceDirection.LEFT
 | 
					 | 
				
			||||||
		if direction >0:
 | 
					 | 
				
			||||||
			facing = FaceDirection.RIGHT
 | 
					 | 
				
			||||||
	else:
 | 
					 | 
				
			||||||
		velocity.x = move_toward(velocity.x, 0, SPEED)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	move_and_slide()
 | 
					 | 
				
			||||||
	for inc in get_slide_collision_count():
 | 
						for inc in get_slide_collision_count():
 | 
				
			||||||
		var col = get_slide_collision(inc)
 | 
							var col = get_slide_collision(inc)
 | 
				
			||||||
		if col.get_collider() is RigidBody2D:
 | 
							if col.get_collider() is RigidBody2D:
 | 
				
			||||||
@ -73,3 +125,9 @@ func _physics_process(delta: float) -> void:
 | 
				
			|||||||
			pushEnabled = true
 | 
								pushEnabled = true
 | 
				
			||||||
	if not right_cast.is_colliding() && not left_cast.is_colliding():
 | 
						if not right_cast.is_colliding() && not left_cast.is_colliding():
 | 
				
			||||||
		pushEnabled = false
 | 
							pushEnabled = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func _on_animation_finished() -> void:
 | 
				
			||||||
 | 
						match current_state:
 | 
				
			||||||
 | 
							State.JUMP: 
 | 
				
			||||||
 | 
								upJump = false
 | 
				
			||||||
 | 
				
			|||||||
@ -3,6 +3,12 @@ extends Node2D
 | 
				
			|||||||
var bullet = preload("res://scenes/bullet.tscn")
 | 
					var bullet = preload("res://scenes/bullet.tscn")
 | 
				
			||||||
var bulletArray =[]
 | 
					var bulletArray =[]
 | 
				
			||||||
var totalAllowedBullets = 7
 | 
					var totalAllowedBullets = 7
 | 
				
			||||||
 | 
					@onready var triggers: Node2D = $"../triggers"
 | 
				
			||||||
 | 
					@onready var gameController: Node2D = $".."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func _ready() -> void:
 | 
				
			||||||
 | 
						for obj in triggers.get_children():
 | 
				
			||||||
 | 
							obj.areatrigger.connect(gameController._on_areatrigger)
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
#makes bullets
 | 
					#makes bullets
 | 
				
			||||||
func bulletFactory():
 | 
					func bulletFactory():
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user