diff --git a/art/tiles/target_tile.png b/art/tiles/ball_target.png similarity index 100% rename from art/tiles/target_tile.png rename to art/tiles/ball_target.png diff --git a/art/tiles/target_tile.png.import b/art/tiles/ball_target.png.import similarity index 71% rename from art/tiles/target_tile.png.import rename to art/tiles/ball_target.png.import index 451c621..3e462b4 100644 --- a/art/tiles/target_tile.png.import +++ b/art/tiles/ball_target.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://d265li1k63anm" -path="res://.godot/imported/target_tile.png-8889c881dce8d973f9cccb76e30928fa.ctex" +path="res://.godot/imported/ball_target.png-420e9ad20dd0b28420ac9e18f85c8839.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://art/tiles/target_tile.png" -dest_files=["res://.godot/imported/target_tile.png-8889c881dce8d973f9cccb76e30928fa.ctex"] +source_file="res://art/tiles/ball_target.png" +dest_files=["res://.godot/imported/ball_target.png-420e9ad20dd0b28420ac9e18f85c8839.ctex"] [params] diff --git a/art/tiles/destination_tile.png b/art/tiles/destination.png similarity index 100% rename from art/tiles/destination_tile.png rename to art/tiles/destination.png diff --git a/art/tiles/destination_tile.png.import b/art/tiles/destination.png.import similarity index 70% rename from art/tiles/destination_tile.png.import rename to art/tiles/destination.png.import index 69e1c3f..9eaed58 100644 --- a/art/tiles/destination_tile.png.import +++ b/art/tiles/destination.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://b7565sd31qorm" -path="res://.godot/imported/destination_tile.png-6f95af7bf74b60a839485c30677f4a21.ctex" +path="res://.godot/imported/destination.png-6d8060cc8ba13cfb8eb5a86e36773f7a.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://art/tiles/destination_tile.png" -dest_files=["res://.godot/imported/destination_tile.png-6f95af7bf74b60a839485c30677f4a21.ctex"] +source_file="res://art/tiles/destination.png" +dest_files=["res://.godot/imported/destination.png-6d8060cc8ba13cfb8eb5a86e36773f7a.ctex"] [params] diff --git a/art/tiles/ground_tile.png b/art/tiles/ground.png similarity index 100% rename from art/tiles/ground_tile.png rename to art/tiles/ground.png diff --git a/art/tiles/ground_tile.png.import b/art/tiles/ground.png.import similarity index 71% rename from art/tiles/ground_tile.png.import rename to art/tiles/ground.png.import index e84f7d0..c26b3db 100644 --- a/art/tiles/ground_tile.png.import +++ b/art/tiles/ground.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://cm58s70te836m" -path="res://.godot/imported/ground_tile.png-a0838c31e75c33807f6e9b010d97f31b.ctex" +path="res://.godot/imported/ground.png-ce6ec90789aee5a940b6b4beb4661e80.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://art/tiles/ground_tile.png" -dest_files=["res://.godot/imported/ground_tile.png-a0838c31e75c33807f6e9b010d97f31b.ctex"] +source_file="res://art/tiles/ground.png" +dest_files=["res://.godot/imported/ground.png-ce6ec90789aee5a940b6b4beb4661e80.ctex"] [params] diff --git a/art/tiles/ground_bottom.png b/art/tiles/ground_bottom.png new file mode 100644 index 0000000..eaff7c3 Binary files /dev/null and b/art/tiles/ground_bottom.png differ diff --git a/art/tiles/ground_bottom.png.import b/art/tiles/ground_bottom.png.import new file mode 100644 index 0000000..248fce4 --- /dev/null +++ b/art/tiles/ground_bottom.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpa4fpmkhv6ao" +path="res://.godot/imported/ground_bottom.png-d8a2059588952b722104cd772c3c3a06.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://art/tiles/ground_bottom.png" +dest_files=["res://.godot/imported/ground_bottom.png-d8a2059588952b722104cd772c3c3a06.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/art/tiles/ground_left.png b/art/tiles/ground_left.png new file mode 100644 index 0000000..b4ff3ed Binary files /dev/null and b/art/tiles/ground_left.png differ diff --git a/art/tiles/ground_left.png.import b/art/tiles/ground_left.png.import new file mode 100644 index 0000000..f0bd888 --- /dev/null +++ b/art/tiles/ground_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bwv5d4umos2we" +path="res://.godot/imported/ground_left.png-f29085d700bb612e942e2167f26ccb98.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://art/tiles/ground_left.png" +dest_files=["res://.godot/imported/ground_left.png-f29085d700bb612e942e2167f26ccb98.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/art/tiles/ground_left_bottom.png b/art/tiles/ground_left_bottom.png new file mode 100644 index 0000000..1257907 Binary files /dev/null and b/art/tiles/ground_left_bottom.png differ diff --git a/art/tiles/ground_left_bottom.png.import b/art/tiles/ground_left_bottom.png.import new file mode 100644 index 0000000..8cd4f89 --- /dev/null +++ b/art/tiles/ground_left_bottom.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cs7y54h6hd148" +path="res://.godot/imported/ground_left_bottom.png-ed5178aa269f950377859b107753d505.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://art/tiles/ground_left_bottom.png" +dest_files=["res://.godot/imported/ground_left_bottom.png-ed5178aa269f950377859b107753d505.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/art/tiles/ground_right.png b/art/tiles/ground_right.png new file mode 100644 index 0000000..197feb7 Binary files /dev/null and b/art/tiles/ground_right.png differ diff --git a/art/tiles/ground_right.png.import b/art/tiles/ground_right.png.import new file mode 100644 index 0000000..1bba648 --- /dev/null +++ b/art/tiles/ground_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cibnnq23akjqa" +path="res://.godot/imported/ground_right.png-5294f2bc13ed7d1f06582c289081850a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://art/tiles/ground_right.png" +dest_files=["res://.godot/imported/ground_right.png-5294f2bc13ed7d1f06582c289081850a.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/art/tiles/ground_right_bottom.png b/art/tiles/ground_right_bottom.png new file mode 100644 index 0000000..27a9ccd Binary files /dev/null and b/art/tiles/ground_right_bottom.png differ diff --git a/art/tiles/ground_right_bottom.png.import b/art/tiles/ground_right_bottom.png.import new file mode 100644 index 0000000..0eb1864 --- /dev/null +++ b/art/tiles/ground_right_bottom.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://rc351wxc3821" +path="res://.godot/imported/ground_right_bottom.png-fd8508008a93bd4abfb6ce8b6ac148ec.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://art/tiles/ground_right_bottom.png" +dest_files=["res://.godot/imported/ground_right_bottom.png-fd8508008a93bd4abfb6ce8b6ac148ec.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/art/tiles/wall_tile.png b/art/tiles/wall.png similarity index 100% rename from art/tiles/wall_tile.png rename to art/tiles/wall.png diff --git a/art/tiles/wall_tile.png.import b/art/tiles/wall.png.import similarity index 72% rename from art/tiles/wall_tile.png.import rename to art/tiles/wall.png.import index 0dddfb7..90e52ed 100644 --- a/art/tiles/wall_tile.png.import +++ b/art/tiles/wall.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://lnt0clkwms52" -path="res://.godot/imported/wall_tile.png-943542e63eb98fa5c2f8ba381f7ef7b8.ctex" +path="res://.godot/imported/wall.png-b444f5cdb367a6f2116effa1c0667bcc.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://art/tiles/wall_tile.png" -dest_files=["res://.godot/imported/wall_tile.png-943542e63eb98fa5c2f8ba381f7ef7b8.ctex"] +source_file="res://art/tiles/wall.png" +dest_files=["res://.godot/imported/wall.png-b444f5cdb367a6f2116effa1c0667bcc.ctex"] [params] diff --git a/scenes/player.tscn b/scenes/player.tscn index c8d8081..7c45ccd 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=17 format=3 uid="uid://ba1t35yyot4jl"] +[gd_scene load_steps=18 format=3 uid="uid://ba1t35yyot4jl"] [ext_resource type="Texture2D" uid="uid://bqkvmyqo86dtj" path="res://art/characters/Owlet_Monster_Walk_6.png" id="1_e23l4"] [ext_resource type="Script" path="res://scripts/player/player.gd" id="1_fmx2p"] @@ -186,7 +186,10 @@ _data = { } [sub_resource type="RectangleShape2D" id="RectangleShape2D_hocsq"] -size = Vector2(21, 10) +size = Vector2(24, 7) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_i54nm"] +size = Vector2(17, 10) [node name="Player" type="CharacterBody2D"] collision_mask = 6 @@ -204,16 +207,15 @@ libraries = { [node name="CollisionShape2D" type="CollisionShape2D" parent="."] y_sort_enabled = true -position = Vector2(-2.5, -5) +position = Vector2(-3, -3.5) shape = SubResource("RectangleShape2D_hocsq") [node name="Area2D" type="Area2D" parent="."] collision_mask = 8 [node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] -y_sort_enabled = true -position = Vector2(-2.5, -5) -shape = SubResource("RectangleShape2D_hocsq") +position = Vector2(-1.5, -5) +shape = SubResource("RectangleShape2D_i54nm") [node name="StateMachine" type="Node" parent="." node_paths=PackedStringArray("state")] script = ExtResource("6_hl63m") diff --git a/scenes/tile_map.tscn b/scenes/tile_map.tscn index 0a999ec..6c8b1d3 100644 --- a/scenes/tile_map.tscn +++ b/scenes/tile_map.tscn @@ -1,52 +1,123 @@ -[gd_scene load_steps=11 format=3 uid="uid://m8uyi35gr3qd"] +[gd_scene load_steps=21 format=3 uid="uid://m8uyi35gr3qd"] -[ext_resource type="Texture2D" uid="uid://cm58s70te836m" path="res://art/tiles/ground_tile.png" id="1_set62"] -[ext_resource type="Texture2D" uid="uid://lnt0clkwms52" path="res://art/tiles/wall_tile.png" id="2_iitec"] -[ext_resource type="Texture2D" uid="uid://b7565sd31qorm" path="res://art/tiles/destination_tile.png" id="3_ca0hc"] -[ext_resource type="Texture2D" uid="uid://d265li1k63anm" path="res://art/tiles/target_tile.png" id="4_w73lj"] +[ext_resource type="Texture2D" uid="uid://cm58s70te836m" path="res://art/tiles/ground.png" id="1_kvtof"] +[ext_resource type="Texture2D" uid="uid://lnt0clkwms52" path="res://art/tiles/wall.png" id="2_odoye"] +[ext_resource type="Texture2D" uid="uid://b7565sd31qorm" path="res://art/tiles/destination.png" id="3_plcvy"] +[ext_resource type="Texture2D" uid="uid://d265li1k63anm" path="res://art/tiles/ball_target.png" id="4_k2ia8"] [ext_resource type="Script" path="res://scripts/tile_map/tile_map.gd" id="5_hxvn0"] +[ext_resource type="Texture2D" uid="uid://bwv5d4umos2we" path="res://art/tiles/ground_left.png" id="5_uwsf1"] +[ext_resource type="Texture2D" uid="uid://cibnnq23akjqa" path="res://art/tiles/ground_right.png" id="6_tgb06"] +[ext_resource type="Texture2D" uid="uid://bpa4fpmkhv6ao" path="res://art/tiles/ground_bottom.png" id="7_ffh6f"] +[ext_resource type="Texture2D" uid="uid://cs7y54h6hd148" path="res://art/tiles/ground_left_bottom.png" id="8_c76ky"] +[ext_resource type="Texture2D" uid="uid://rc351wxc3821" path="res://art/tiles/ground_right_bottom.png" id="9_mdsbd"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_wq1n0"] -texture = ExtResource("1_set62") +texture = ExtResource("1_kvtof") texture_region_size = Vector2i(32, 32) 0:0/0 = 0 0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) 0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_u0t08"] -texture = ExtResource("2_iitec") +texture = ExtResource("2_odoye") texture_region_size = Vector2i(32, 32) 0:0/0 = 0 0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) 0:0/0/physics_layer_0/angular_velocity = 0.0 -0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 8.5, 0, 1.5, 15.5, 9, 0, 16) +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 9.5, -16, -7.5, 0, 0.5, 16.5, -7.5, 16.5, 9, -0.5, 17) +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_x1mdb"] -texture = ExtResource("3_ca0hc") +texture = ExtResource("3_plcvy") texture_region_size = Vector2i(32, 32) 0:0/0 = 0 0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) 0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_hm0kl"] -texture = ExtResource("4_w73lj") +texture = ExtResource("4_k2ia8") texture_region_size = Vector2i(32, 32) 0:0/0 = 0 0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) 0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_8npvn"] +texture = ExtResource("5_uwsf1") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-3.5, -19.5, -19.5, -11, -22.5, -13, -7, -21.5) +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_f47wg"] +texture = ExtResource("6_tgb06") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(1, 0.5, 16.5, -7, 21, -4.5, 6, 3) +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_trdpm"] +texture = ExtResource("7_ffh6f") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-18, -6, -2.5, 2, -6.5, 4.5, -22, -4) +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_aht32"] +texture = ExtResource("8_c76ky") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-2.5, -18.5, -21, -10, -1, 1.5, -7, 2, -29, -10, -5.5, -21) +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_cx4es"] +texture = ExtResource("9_mdsbd") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(16.5, -7.5, -0.5, 2, -18, -6.5, -22.5, -5, 0, 8, 21, -5.5) +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 [sub_resource type="TileSet" id="TileSet_kwgeq"] tile_shape = 1 tile_layout = 5 tile_size = Vector2i(32, 16) -physics_layer_0/collision_layer = 1 +physics_layer_0/collision_layer = 4 +physics_layer_0/collision_mask = 3 +physics_layer_1/collision_layer = 4 sources/0 = SubResource("TileSetAtlasSource_wq1n0") sources/1 = SubResource("TileSetAtlasSource_u0t08") sources/2 = SubResource("TileSetAtlasSource_x1mdb") sources/3 = SubResource("TileSetAtlasSource_hm0kl") +sources/4 = SubResource("TileSetAtlasSource_8npvn") +sources/5 = SubResource("TileSetAtlasSource_f47wg") +sources/6 = SubResource("TileSetAtlasSource_trdpm") +sources/7 = SubResource("TileSetAtlasSource_aht32") +sources/8 = SubResource("TileSetAtlasSource_cx4es") [node name="TileMap" type="TileMap"] y_sort_enabled = true +position = Vector2(-1, 1) tile_set = SubResource("TileSet_kwgeq") format = 2 layer_0/name = "ground" diff --git a/scripts/player/player.gd b/scripts/player/player.gd index 915b849..2109876 100644 --- a/scripts/player/player.gd +++ b/scripts/player/player.gd @@ -6,8 +6,6 @@ signal hit_ball signal ball_starts_colliding signal ball_stops_colliding @export var speed = 120 -@onready var animation_player = $AnimationPlayer -@onready var sprite = $Sprite2D @onready var tile_map: TileMap = get_parent() func _ready(): @@ -19,21 +17,21 @@ func get_input_direction(): func flip_sprite(): if Input.is_action_pressed("move_left"): - sprite.flip_h = true + $Sprite2D.flip_h = true elif Input.is_action_pressed("move_right"): - sprite.flip_h = false + $Sprite2D.flip_h = false func play_idle_animation(): - animation_player.play("idle") + $AnimationPlayer.play("idle") func play_walk_animation(): - animation_player.play("walk") + $AnimationPlayer.play("walk") func play_hit_ball_animation(): - animation_player.speed_scale = 0.8 - animation_player.play("hit_ball") - await animation_player.animation_finished - animation_player.speed_scale = 1 + $AnimationPlayer.speed_scale = 0.8 + $AnimationPlayer.play("hit_ball") + await $AnimationPlayer.animation_finished + $AnimationPlayer.speed_scale = 1 func _on_area_2d_body_entered(_body): # As player’s Area2D only collide with balls diff --git a/scripts/tile_map/tile_map.gd b/scripts/tile_map/tile_map.gd index 2da0c9d..167d73f 100644 --- a/scripts/tile_map/tile_map.gd +++ b/scripts/tile_map/tile_map.gd @@ -4,6 +4,11 @@ extends TileMap @export var wall_tile_source_id = 1 @export var destination_tile_source_id = 2 @export var target_tile_source_id = 3 +@export var ground_left_tile_source_id = 4 +@export var ground_right_tile_source_id = 5 +@export var ground_bottom_tile_source_id = 6 +@export var ground_left_bottom_tile_source_id = 7 +@export var ground_right_bottom_tile_source_id = 8 @export var map_width = 13 # keep to a odd value @export var map_height = 19 # keep to a odd value # Debug variables @@ -22,9 +27,23 @@ func draw_map(): draw_wall() func draw_ground(): + var tile_source_id = ground_tile_source_id + var height = get_bottom_area_height() for x in range(map_width): for y in range(map_height): - set_cell(0, Vector2i(x, y), ground_tile_source_id, Vector2i(0, 0), 0) + if x == 0 && y == map_height - 1: + tile_source_id = ground_left_bottom_tile_source_id + elif x == map_width - 1 && y == map_height - 1: + tile_source_id = ground_right_bottom_tile_source_id + elif x == 0 && y >= height.x: + tile_source_id = ground_left_tile_source_id + elif x == map_width - 1 && y >= height.x: + tile_source_id = ground_right_tile_source_id + elif y == height.y: + tile_source_id = ground_bottom_tile_source_id + else: + tile_source_id = ground_tile_source_id + set_cell(0, Vector2i(x, y), tile_source_id, Vector2i(0, 0), 0) func draw_wall(): var middle_height = floor(map_height / 2.0)