diff --git a/novembergame/assets/graphics/crate.png b/novembergame/assets/graphics/crate.png new file mode 100644 index 0000000..2b8bdcd Binary files /dev/null and b/novembergame/assets/graphics/crate.png differ diff --git a/novembergame/assets/graphics/crate.png.import b/novembergame/assets/graphics/crate.png.import new file mode 100644 index 0000000..c100fe2 --- /dev/null +++ b/novembergame/assets/graphics/crate.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cihsatv28adsv" +path="res://.godot/imported/crate.png-a8589d0a814f9d7cb0facb9c1c1d5fda.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/crate.png" +dest_files=["res://.godot/imported/crate.png-a8589d0a814f9d7cb0facb9c1c1d5fda.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 diff --git a/novembergame/assets/graphics/environment/terrain/Terrain (32x32).png b/novembergame/assets/graphics/environment/terrain/Terrain (32x32).png new file mode 100644 index 0000000..ddf1eaf Binary files /dev/null and b/novembergame/assets/graphics/environment/terrain/Terrain (32x32).png differ diff --git a/novembergame/assets/graphics/environment/terrain/Terrain (32x32).png.import b/novembergame/assets/graphics/environment/terrain/Terrain (32x32).png.import new file mode 100644 index 0000000..b979218 --- /dev/null +++ b/novembergame/assets/graphics/environment/terrain/Terrain (32x32).png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bvbxh8nxgekny" +path="res://.godot/imported/Terrain (32x32).png-81a713b69add642b2640197ae95d1555.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/environment/terrain/Terrain (32x32).png" +dest_files=["res://.godot/imported/Terrain (32x32).png-81a713b69add642b2640197ae95d1555.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 diff --git a/novembergame/assets/graphics/player/idle/Player Idle 48x48.png b/novembergame/assets/graphics/player/idle/Player Idle 48x48.png new file mode 100644 index 0000000..b618511 Binary files /dev/null and b/novembergame/assets/graphics/player/idle/Player Idle 48x48.png differ diff --git a/novembergame/assets/graphics/player/idle/Player Idle 48x48.png.import b/novembergame/assets/graphics/player/idle/Player Idle 48x48.png.import new file mode 100644 index 0000000..f4e1b6c --- /dev/null +++ b/novembergame/assets/graphics/player/idle/Player Idle 48x48.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjuaglcx1l8mq" +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 diff --git a/novembergame/assets/graphics/player/jump/player jump 48x48.png b/novembergame/assets/graphics/player/jump/player jump 48x48.png new file mode 100644 index 0000000..dff105c Binary files /dev/null and b/novembergame/assets/graphics/player/jump/player jump 48x48.png differ diff --git a/novembergame/assets/graphics/player/jump/player jump 48x48.png.import b/novembergame/assets/graphics/player/jump/player jump 48x48.png.import new file mode 100644 index 0000000..1863121 --- /dev/null +++ b/novembergame/assets/graphics/player/jump/player jump 48x48.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b82ecqnclroum" +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 diff --git a/novembergame/assets/graphics/player/run/player run 48x48.png b/novembergame/assets/graphics/player/run/player run 48x48.png new file mode 100644 index 0000000..aca5b55 Binary files /dev/null and b/novembergame/assets/graphics/player/run/player run 48x48.png differ diff --git a/novembergame/assets/graphics/player/run/player run 48x48.png.import b/novembergame/assets/graphics/player/run/player run 48x48.png.import new file mode 100644 index 0000000..917a4ba --- /dev/null +++ b/novembergame/assets/graphics/player/run/player run 48x48.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bddwju2m8xvbj" +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 diff --git a/novembergame/assets/graphics/projectiles/pixel_bullet.png b/novembergame/assets/graphics/projectiles/pixel_bullet.png new file mode 100644 index 0000000..900d030 Binary files /dev/null and b/novembergame/assets/graphics/projectiles/pixel_bullet.png differ diff --git a/novembergame/assets/graphics/projectiles/pixel_bullet.png.import b/novembergame/assets/graphics/projectiles/pixel_bullet.png.import new file mode 100644 index 0000000..fcf033a --- /dev/null +++ b/novembergame/assets/graphics/projectiles/pixel_bullet.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ye4pj0vptmk5" +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 diff --git a/novembergame/project.godot b/novembergame/project.godot index 0cec30a..0982448 100644 --- a/novembergame/project.godot +++ b/novembergame/project.godot @@ -15,9 +15,18 @@ run/main_scene="res://scenes/game.tscn" config/features=PackedStringArray("4.3", "Forward Plus") config/icon="res://icon.svg" +[display] + +window/size/viewport_width=320 +window/size/viewport_height=180 +window/size/window_width_override=960 +window/size/window_height_override=540 +window/stretch/mode="viewport" + [file_customization] folder_colors={ +"res://assets/": "yellow", "res://scripts/": "green" } diff --git a/novembergame/scenes/box.tscn b/novembergame/scenes/box.tscn index 9a26842..e942e63 100644 --- a/novembergame/scenes/box.tscn +++ b/novembergame/scenes/box.tscn @@ -1,13 +1,19 @@ -[gd_scene load_steps=2 format=3 uid="uid://dm71h7adhhf8u"] +[gd_scene load_steps=3 format=3 uid="uid://dm71h7adhhf8u"] + +[ext_resource type="Texture2D" uid="uid://cihsatv28adsv" path="res://assets/graphics/crate.png" id="1_itkgh"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_dbirr"] -size = Vector2(30, 32) +size = Vector2(16, 17) [node name="RigidBody2D" type="RigidBody2D" groups=["box", "shootable"]] -position = Vector2(531, 339) -rotation = 2.64233 metadata/_edit_group_ = true [node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(0, -0.5) shape = SubResource("RectangleShape2D_dbirr") debug_color = Color(0.747094, 0.350436, 0.149052, 0.42) + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture_filter = 1 +scale = Vector2(0.06, 0.06) +texture = ExtResource("1_itkgh") diff --git a/novembergame/scenes/bullet.tscn b/novembergame/scenes/bullet.tscn index 83b5954..4dd16bf 100644 --- a/novembergame/scenes/bullet.tscn +++ b/novembergame/scenes/bullet.tscn @@ -1,16 +1,24 @@ -[gd_scene load_steps=3 format=3 uid="uid://02fr3rb7e6s2"] +[gd_scene load_steps=4 format=3 uid="uid://02fr3rb7e6s2"] [ext_resource type="Script" path="res://scripts/bullet.gd" id="1_kc7iu"] +[ext_resource type="Texture2D" uid="uid://ye4pj0vptmk5" path="res://assets/graphics/projectiles/pixel_bullet.png" id="2_xdfmr"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_m2rb6"] -size = Vector2(11, 7) +size = Vector2(11, 5) [node name="Area2D" type="Area2D"] script = ExtResource("1_kc7iu") [node name="CollisionShape2D" type="CollisionShape2D" parent="."] -position = Vector2(0.5, -0.5) +position = Vector2(0, 0.5) shape = SubResource("RectangleShape2D_m2rb6") debug_color = Color(0.366555, 0.610522, 0.244131, 0.42) +[node name="Sprite2D" type="Sprite2D" parent="."] +texture_filter = 1 +position = Vector2(-3, -2) +rotation = -3.14159 +scale = Vector2(0.1, 0.1) +texture = ExtResource("2_xdfmr") + [connection signal="body_entered" from="." to="." method="_on_body_entered"] diff --git a/novembergame/scenes/character.tscn b/novembergame/scenes/character.tscn index 487030f..fb0b18c 100644 --- a/novembergame/scenes/character.tscn +++ b/novembergame/scenes/character.tscn @@ -1,26 +1,205 @@ -[gd_scene load_steps=3 format=3 uid="uid://cjqhmd3158nb7"] +[gd_scene load_steps=28 format=3 uid="uid://cjqhmd3158nb7"] [ext_resource type="Script" path="res://scripts/dudecontroller.gd" id="1_u27sl"] +[ext_resource type="Texture2D" uid="uid://cjuaglcx1l8mq" path="res://assets/graphics/player/idle/Player Idle 48x48.png" id="2_s31uh"] +[ext_resource type="Texture2D" uid="uid://b82ecqnclroum" path="res://assets/graphics/player/jump/player jump 48x48.png" id="3_5pc3d"] +[ext_resource type="Texture2D" uid="uid://bddwju2m8xvbj" path="res://assets/graphics/player/run/player run 48x48.png" id="3_pvg6g"] [sub_resource type="CircleShape2D" id="CircleShape2D_pg3nc"] radius = 18.1108 +[sub_resource type="AtlasTexture" id="AtlasTexture_mirx3"] +atlas = ExtResource("2_s31uh") +region = Rect2(0, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ur0m7"] +atlas = ExtResource("2_s31uh") +region = Rect2(48, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_m2fh1"] +atlas = ExtResource("2_s31uh") +region = Rect2(96, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lqxd8"] +atlas = ExtResource("2_s31uh") +region = Rect2(144, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q1uhj"] +atlas = ExtResource("2_s31uh") +region = Rect2(192, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3nxhs"] +atlas = ExtResource("2_s31uh") +region = Rect2(240, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uly7f"] +atlas = ExtResource("2_s31uh") +region = Rect2(288, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_a0rgn"] +atlas = ExtResource("2_s31uh") +region = Rect2(336, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vl0t4"] +atlas = ExtResource("2_s31uh") +region = Rect2(384, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ywq8a"] +atlas = ExtResource("2_s31uh") +region = Rect2(432, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qbdur"] +atlas = ExtResource("3_5pc3d") +region = Rect2(0, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_e0phq"] +atlas = ExtResource("3_5pc3d") +region = Rect2(48, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_aagb2"] +atlas = ExtResource("3_5pc3d") +region = Rect2(96, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_waibj"] +atlas = ExtResource("3_pvg6g") +region = Rect2(0, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_royxn"] +atlas = ExtResource("3_pvg6g") +region = Rect2(48, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_58lgm"] +atlas = ExtResource("3_pvg6g") +region = Rect2(96, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_sh18f"] +atlas = ExtResource("3_pvg6g") +region = Rect2(144, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1wubr"] +atlas = ExtResource("3_pvg6g") +region = Rect2(192, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_v0216"] +atlas = ExtResource("3_pvg6g") +region = Rect2(240, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ddbn2"] +atlas = ExtResource("3_pvg6g") +region = Rect2(288, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_txi2q"] +atlas = ExtResource("3_pvg6g") +region = Rect2(336, 0, 48, 48) + +[sub_resource type="SpriteFrames" id="SpriteFrames_p5ykk"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_mirx3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ur0m7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_m2fh1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lqxd8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q1uhj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3nxhs") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uly7f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_a0rgn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vl0t4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ywq8a") +}], +"loop": true, +"name": &"idle", +"speed": 12.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_qbdur") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_e0phq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_aagb2") +}], +"loop": false, +"name": &"jump", +"speed": 8.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_waibj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_royxn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_58lgm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_sh18f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1wubr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_v0216") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ddbn2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_txi2q") +}], +"loop": true, +"name": &"run", +"speed": 12.0 +}] + [node name="CharacterBody2D" type="CharacterBody2D" groups=["player"]] script = ExtResource("1_u27sl") metadata/_edit_group_ = true [node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(0, 2) +scale = Vector2(0.8, 0.8) shape = SubResource("CircleShape2D_pg3nc") debug_color = Color(0.178776, 0.565003, 0.825276, 0.42) [node name="RightRay" type="RayCast2D" parent="."] -target_position = Vector2(28, 0) +target_position = Vector2(17, 0) [node name="LeftRay" type="RayCast2D" parent="."] -target_position = Vector2(-29, -1) +target_position = Vector2(-19, 0) [node name="RightTarget" type="Node2D" parent="."] -position = Vector2(23, -11) +position = Vector2(18, -5) [node name="LeftTarget" type="Node2D" parent="."] -position = Vector2(-24, -10) +position = Vector2(-18, -5) + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +texture_filter = 1 +sprite_frames = SubResource("SpriteFrames_p5ykk") +animation = &"idle" +autoplay = "run" + +[node name="Camera2D" type="Camera2D" parent="."] +position = Vector2(-1, 0) diff --git a/novembergame/scenes/game.tscn b/novembergame/scenes/game.tscn index b325028..787812f 100644 --- a/novembergame/scenes/game.tscn +++ b/novembergame/scenes/game.tscn @@ -1,10 +1,65 @@ -[gd_scene load_steps=9 format=3 uid="uid://cmh68gsfunmwa"] +[gd_scene load_steps=11 format=4 uid="uid://cmh68gsfunmwa"] +[ext_resource type="Texture2D" uid="uid://bvbxh8nxgekny" path="res://assets/graphics/environment/terrain/Terrain (32x32).png" id="1_n0y6d"] [ext_resource type="Script" path="res://scripts/scene_manager.gd" id="1_obwxw"] [ext_resource type="PackedScene" uid="uid://cjqhmd3158nb7" path="res://scenes/character.tscn" id="1_p32ky"] [ext_resource type="Script" path="res://scripts/trigger.gd" id="2_tsnf5"] [ext_resource type="PackedScene" uid="uid://dm71h7adhhf8u" path="res://scenes/box.tscn" id="3_pi0u1"] -[ext_resource type="PackedScene" uid="uid://02fr3rb7e6s2" path="res://scenes/bullet.tscn" id="4_7pxts"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_ih8kf"] +texture = ExtResource("1_n0y6d") +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_wyq3g"] +tile_size = Vector2i(32, 32) +sources/0 = SubResource("TileSetAtlasSource_ih8kf") [sub_resource type="RectangleShape2D" id="RectangleShape2D_rcjag"] size = Vector2(84, 12) @@ -15,32 +70,40 @@ size = Vector2(84, 12) [node name="Game" type="Node2D"] +[node name="TileMapLayer" type="TileMapLayer" parent="."] +tile_map_data = PackedByteArray("AAAOAAwAAAAAAAAAAAAPAAwAAAABAAAAAAAQAAwAAAABAAAAAAARAAwAAAACAAAAAAAKABEAAAABAAAAAAALABEAAAABAAAAAAAMABEAAAABAAAAAAANABEAAAABAAAAAAAOABEAAAABAAAAAAAPABEAAAABAAAAAAAQABEAAAABAAAAAAARABEAAAABAAAAAAASABEAAAABAAAAAAATABEAAAABAAAAAAAUABEAAAABAAAAAAAVABEAAAABAAAAAAAWABEAAAABAAAAAAAXABEAAAABAAAAAAAYABEAAAABAAAAAAAZABEAAAABAAAAAAAJABEAAAABAAAAAAAIABEAAAABAAAAAAAHABEAAAABAAAAAAAGABEAAAABAAAAAAAUAAoAAAAEAAQAAAAWAAgAAAAAAAAAAAAXAAgAAAABAAAAAAAYAAgAAAABAAAAAAAZAAgAAAABAAAAAAAaAAgAAAACAAAAAAAWAAkAAAAAAAIAAAAXAAkAAAABAAIAAAAYAAkAAAABAAIAAAAZAAkAAAABAAIAAAAaAAkAAAACAAIAAAA=") +tile_set = SubResource("TileSet_wyq3g") + [node name="SceneManager" type="Node" parent="."] unique_name_in_owner = true script = ExtResource("1_obwxw") [node name="Platform" type="StaticBody2D" parent="."] -position = Vector2(523, 407) +position = Vector2(511, 393) +scale = Vector2(1.46914, 1) metadata/_edit_group_ = true [node name="CollisionShape2D" type="CollisionShape2D" parent="Platform"] shape = SubResource("RectangleShape2D_rcjag") [node name="Platform2" type="StaticBody2D" parent="."] -position = Vector2(658, 415) +position = Vector2(656, 327) +scale = Vector2(0.4, 1) metadata/_edit_group_ = true [node name="CollisionShape2D" type="CollisionShape2D" parent="Platform2"] shape = SubResource("RectangleShape2D_rcjag") [node name="Platform3" type="StaticBody2D" parent="."] -position = Vector2(725, 328) +position = Vector2(786, 263) +scale = Vector2(2, 1) metadata/_edit_group_ = true [node name="CollisionShape2D" type="CollisionShape2D" parent="Platform3"] shape = SubResource("RectangleShape2D_rcjag") [node name="CharacterBody2D" parent="." instance=ExtResource("1_p32ky")] +position = Vector2(502, 230) [node name="Area2D" type="Area2D" parent="."] position = Vector2(519, 464) @@ -56,19 +119,17 @@ debug_color = Color(0.793021, 0.25626, 0.844091, 0.42) position = Vector2(571, 331) [node name="RigidBody2D2" parent="." instance=ExtResource("3_pi0u1")] +position = Vector2(622, 275) [node name="RigidBody2D3" parent="." instance=ExtResource("3_pi0u1")] position = Vector2(479, 288) rotation = 1.16823 [node name="StaticBody2D" type="StaticBody2D" parent="."] -position = Vector2(508, 565) +position = Vector2(508, 546) metadata/_edit_group_ = true [node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"] shape = SubResource("WorldBoundaryShape2D_c5gsu") -[node name="Area2D2" parent="." instance=ExtResource("4_7pxts")] -position = Vector2(244, 348) - [connection signal="body_entered" from="Area2D" to="Area2D" method="_on_body_entered"] diff --git a/novembergame/scripts/bullet.gd b/novembergame/scripts/bullet.gd index dc3e09a..4fad375 100644 --- a/novembergame/scripts/bullet.gd +++ b/novembergame/scripts/bullet.gd @@ -1,11 +1,16 @@ class_name Bullet extends Area2D +@onready var bulletSprite: Sprite2D = $Sprite2D -var speed = 750 +var speed = 700 # did I hit anyone? signal hit(bullet, body) func setSpeed(speedValue): speed = speedValue + if speed <0: + bulletSprite.flip_h = true + else: + bulletSprite.flip_h = false func _physics_process(delta): position += transform.x * speed * delta diff --git a/novembergame/scripts/dudecontroller.gd b/novembergame/scripts/dudecontroller.gd index c13a9d4..32f5225 100644 --- a/novembergame/scripts/dudecontroller.gd +++ b/novembergame/scripts/dudecontroller.gd @@ -2,18 +2,21 @@ extends CharacterBody2D const SPEED = 300.0 -const JUMP_VELOCITY = -400.0 +const JUMP_VELOCITY = -450.0 const BUMPFORCE = 50 const PUSHFORCE = 750 @onready var right_ray: RayCast2D = $RightRay @onready var left_ray: RayCast2D = $LeftRay +@onready var playerSprite: AnimatedSprite2D = $AnimatedSprite2D var faceLeft = false var pushTarget var pushLeftEnabled = false var pushRightEnabled = false +var isJumping = false + @onready var right_target: Node2D = $RightTarget @onready var left_target: Node2D = $LeftTarget @@ -44,10 +47,10 @@ func _physics_process(delta: float) -> void: var myBullet = %SceneManager.bulletFactory() if not faceLeft: myBullet.transform = right_target.global_transform - myBullet.setSpeed(750) + myBullet.setSpeed(700) if faceLeft ==true: myBullet.transform = left_target.global_transform - myBullet.setSpeed(-750) + myBullet.setSpeed(-700) if direction: velocity.x = direction * SPEED @@ -55,8 +58,25 @@ func _physics_process(delta: float) -> void: faceLeft = false if direction < 0: faceLeft = true - else: + else:#TODO: implement jump + pass velocity.x = move_toward(velocity.x, 0, SPEED) + + if faceLeft: + playerSprite.flip_h = true + else: + playerSprite.flip_h = false + + if is_on_floor(): + isJumping = false + if direction == 0: + playerSprite.play("idle") + else: + playerSprite.play("run") + else: + if not isJumping: + playerSprite.play("jump") + isJumping = true move_and_slide() if right_ray.is_colliding():