Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 562d0da079 | |||
| 6b9bb6da5a |
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"sdk": {
|
||||
"version": "11.0.100-preview.5.26302.115",
|
||||
"allowPrerelease": true,
|
||||
"rollForward": "latestPatch"
|
||||
}
|
||||
}
|
||||
@@ -17,6 +17,8 @@
|
||||
[ext_resource type="AudioStream" uid="uid://fhfma3rrxyfi" path="res://sounds/ost/Asphodel.wav" id="10_8w1nl"]
|
||||
[ext_resource type="AudioStream" uid="uid://0tturucf5gxf" path="res://sounds/ost/Datura.wav" id="11_q0lvb"]
|
||||
[ext_resource type="AudioStream" uid="uid://b5cvbx3ypbbho" path="res://sounds/ost/Hyacinth.wav" id="12_7psk8"]
|
||||
[ext_resource type="Script" uid="uid://bwgqvwybyrsmq" path="res://src/components/SfxPlayer.gd" id="14_8hos5"]
|
||||
[ext_resource type="AudioStream" uid="uid://dkx1v6c7vv0iq" path="res://sounds/sfx/jump.ogg" id="15_2fy34"]
|
||||
[ext_resource type="PackedScene" uid="uid://xanv3qbl1n2u" path="res://objects/scenes/asset/light.tscn" id="18_kfvst"]
|
||||
|
||||
[sub_resource type="Curve" id="Curve_o8yf1"]
|
||||
@@ -48,11 +50,12 @@ tile_map_data = PackedByteArray("AAAAAAIAAAACAAMAAAABAAIAAAACAAMAAgACAAIAAAACAAM
|
||||
tile_set = ExtResource("1_7psk8")
|
||||
|
||||
[node name="Foreground" type="Node2D" parent="Level" unique_id=1677976972]
|
||||
z_index = 1
|
||||
|
||||
[node name="TileMapLayer" type="TileMapLayer" parent="Level/Foreground" unique_id=419267781]
|
||||
light_mask = 4
|
||||
texture_filter = 1
|
||||
tile_map_data = PackedByteArray("AAAWAPz/AAALAAIAAAAXAPz/AAALAAIAAAAYAPz/AAALAAMAAAAZAPr/AAALAAIAAAAOAAYAAAALAAIAAAAPAAYAAAALAAIAAAAQAAYAAAALAAIAAAARAAYAAAALAAIAAAASAAYAAAALAAIAAAATAAYAAAALAAIAAAAWAAYAAAALAAIAAAAXAAYAAAALAAIAAAAYAAYAAAALAAIAAAAZAAYAAAALAAIAAAAaAAYAAAALAAIAAAAdAAYAAAALAAIAAAAeAAYAAAALAAIAAAAfAAYAAAALAAIAAAAgAAYAAAALAAIAAAAOAAUAAAAMAAEAAAAPAAUAAAALAAEAAAAQAAUAAAAMAAEAAAARAAUAAAAMAAEAAAASAAUAAAAKAAEAAAATAAUAAAALAAEAAAAXAAUAAAAMAAEAAAAYAAUAAAAMAAEAAAAZAAUAAAAKAAEAAAAaAAUAAAAMAAEAAAAdAAUAAAAKAAEAAAAeAAUAAAAKAAEAAAAfAAUAAAALAAEAAAAgAAUAAAAMAAEAAAAWAAUAAAAMAAEAAAAWAPv/AAAKAAEAAAAXAPv/AAAKAAEAAAA=")
|
||||
tile_map_data = PackedByteArray("AAAWAPz/AAAOAAIAAAAXAPz/AAALAAIAAAAYAPz/AAALAAcAAAAZAPr/AAALAAIAAAAOAAYAAAAOAAIAAAAPAAYAAAALAAIAAAAQAAYAAAALAAIAAAARAAYAAAALAAIAAAASAAYAAAALAAIAAAATAAYAAAAPAAIAAAAWAAYAAAAOAAIAAAAXAAYAAAALAAIAAAAYAAYAAAALAAIAAAAZAAYAAAALAAIAAAAaAAYAAAAPAAIAAAAdAAYAAAAOAAIAAAAeAAYAAAALAAIAAAAfAAYAAAALAAIAAAAgAAYAAAALAAIAAAAOAAUAAAAOAAEAAAAPAAUAAAALAAEAAAAQAAUAAAAMAAEAAAARAAUAAAAMAAEAAAAXAAUAAAAMAAEAAAAYAAUAAAAMAAEAAAAZAAUAAAAKAAEAAAAaAAUAAAAPAAEAAAAdAAUAAAAOAAEAAAAeAAUAAAAKAAEAAAAfAAUAAAALAAEAAAAgAAUAAAAIAAUAAAAWAAUAAAAOAAEAAAAWAPv/AAAOAAEAAAAXAPv/AAAIAAUAAAATAAUAAAAPAAEAAAASAAUAAAAKAAEAAAAhAAYAAAALAAcAAAAhAAUAAAAKAAMAAAAgAAQAAAAJAAMAAAAhAAQAAAAKAAMAAAAgAAMAAAAJAAIAAAAhAAMAAAAKAAMAAAAhAAIAAAANAAYAAAAgAAIAAAAMAAYAAAAdAP3/AAAMAAQAAAAcAP3/AAALAAQAAAAbAP3/AAALAAQAAAAdAPz/AAAMAAMAAAAdAPv/AAAMAAMAAAAdAPr/AAAMAAMAAAAdAPn/AAAMAAMAAAAdAPj/AAAOAAYAAAAaAP3/AAAOAAMAAAAaAP7/AAAOAAQAAAAeAPj/AAAPAAYAAAAeAPn/AAANAAQAAAAeAPr/AAANAAMAAAAeAPv/AAANAAQAAAAeAPz/AAANAAMAAAAeAP3/AAANAAQAAAAbAP7/AAALAAUAAAAcAP7/AAAKAAUAAAAdAP7/AAAMAAUAAAAaAPn/AAAKAAMAAAAaAPr/AAALAAcAAAAYAPn/AAAOAAEAAAAYAPr/AAAOAAIAAAAZAPj/AAAMAAYAAAAaAPj/AAANAAYAAAAZAPn/AAAIAAUAAAAYAPv/AAANAAYAAAAMAAAAAAAMAAMAAAAMAP//AAAMAAMAAAAMAP7/AAAMAAMAAAAMAP3/AAAMAAMAAAAMAPz/AAAMAAMAAAAMAPv/AAAMAAMAAAAhAOv/AAAKAAMAAAAhAOz/AAAKAAMAAAAhAO3/AAAKAAMAAAAhAO7/AAAKAAMAAAAhAO//AAAKAAMAAAAhAPD/AAAKAAMAAAAhAPH/AAAKAAMAAAAhAPL/AAAKAAMAAAAhAPP/AAAKAAMAAAAhAPT/AAAKAAMAAAAgAOv/AAAJAAQAAAAgAOz/AAAJAAQAAAAgAO3/AAAJAAIAAAAgAO7/AAAJAAIAAAAgAO//AAAJAAQAAAAgAPD/AAAJAAQAAAAgAPH/AAAJAAIAAAAgAPL/AAAJAAQAAAAgAPP/AAAJAAIAAAAgAPT/AAAJAAQAAAAgAPX/AAAMAAcAAAAhAPX/AAANAAcAAAAgAOr/AAAMAAYAAAAhAOr/AAANAAYAAAAMAAEAAAAOAAcAAAANAAEAAAAPAAcAAAAMAPr/AAAOAAYAAAANAPr/AAAPAAYAAAANAPv/AAANAAQAAAANAPz/AAANAAIAAAANAP3/AAANAAMAAAANAP7/AAANAAQAAAANAP//AAANAAIAAAANAAAAAAANAAMAAAAQANv/AAAKAAMAAAAQANz/AAAKAAMAAAAQAN3/AAAKAAMAAAAQAN7/AAAKAAMAAAAQAN//AAAKAAMAAAAQAOD/AAAKAAMAAAAQAOH/AAAKAAMAAAAQAOL/AAAKAAMAAAAQAOP/AAAKAAMAAAAQAOT/AAAKAAMAAAAQAOX/AAAKAAMAAAAQAOb/AAAKAAQAAAARAOb/AAAPAAMAAAARAOf/AAAPAAQAAAAQANn/AAAIAAUAAAARANn/AAANAAYAAAAQANr/AAAKAAIAAAARANr/AAALAAcAAAAPANr/AAAJAAQAAAAPANv/AAAJAAIAAAAPANz/AAAJAAQAAAAPAN3/AAAJAAMAAAAPAN7/AAAJAAIAAAAPAN//AAAJAAIAAAAPAOD/AAAJAAIAAAAPAOH/AAAJAAIAAAAPAOL/AAAJAAIAAAAPAOP/AAAJAAMAAAAPAOT/AAAJAAQAAAAPAOX/AAAJAAIAAAAPAOb/AAAMAAcAAAAQAOf/AAAOAAQAAAAMAOD/AAAMAAMAAAAMAN//AAAMAAMAAAAMAN7/AAAMAAMAAAAMAN3/AAAMAAMAAAAMANz/AAAMAAMAAAAMANv/AAAMAAMAAAAMANr/AAAMAAIAAAAMAOr/AAAMAAMAAAAMAOn/AAAMAAMAAAAMAOj/AAAMAAMAAAAMAOf/AAAOAAYAAAANAOf/AAAPAAYAAAAMAOv/AAAOAAcAAAANAOv/AAAPAAcAAAAMAOH/AAAOAAcAAAANAOH/AAAPAAcAAAALANf/AAAOAAYAAAAMANf/AAAPAAYAAAALANj/AAAMAAMAAAALANn/AAAMAAMAAAALANr/AAAKAAcAAAAMANj/AAANAAMAAAAMANn/AAAJAAUAAAANANr/AAANAAQAAAANANv/AAANAAQAAAANANz/AAANAAMAAAANAN3/AAANAAIAAAANAN7/AAANAAIAAAANAN//AAANAAQAAAANAOD/AAANAAQAAAANAOj/AAANAAIAAAANAOn/AAANAAMAAAANAOr/AAANAAIAAAAhAOX/AAAKAAMAAAAhAOT/AAAKAAMAAAAhAOP/AAAKAAMAAAAhAOL/AAAKAAMAAAAhAOH/AAAKAAMAAAAhAOD/AAAKAAMAAAAhAN//AAAKAAMAAAAgAN//AAAIAAYAAAAgAN3/AAAIAAUAAAAhAN3/AAAKAAMAAAAhANz/AAAKAAMAAAAhANv/AAAKAAMAAAAhAN7/AAAKAAMAAAAfAOT/AAAJAAYAAAAfAOL/AAAJAAUAAAAeAOX/AAAMAAMAAAAeAOT/AAAMAAMAAAAeAOP/AAAMAAMAAAAeAOL/AAAMAAMAAAAeAOH/AAAMAAMAAAAeAOD/AAAMAAMAAAAeAN//AAAMAAMAAAAeAN7/AAAMAAMAAAAeAN3/AAAMAAMAAAAeANz/AAAMAAMAAAAeANv/AAAMAAMAAAAeANr/AAAMAAIAAAAdANr/AAALAAIAAAAcANr/AAALAAIAAAAbANn/AAAOAAEAAAAbANr/AAAOAAIAAAAgANr/AAAMAAYAAAAhANr/AAANAAYAAAAgAOb/AAAMAAcAAAAhAOb/AAANAAcAAAAeAOb/AAAMAAQAAAAdAOb/AAALAAQAAAAcAOb/AAALAAQAAAAbAOb/AAALAAQAAAAaAOb/AAAOAAMAAAAaAOf/AAAOAAQAAAAbAOf/AAAMAAUAAAAcAOf/AAAKAAUAAAAdAOf/AAAKAAUAAAAeAOf/AAAMAAUAAAAfAOb/AAANAAMAAAAfAOX/AAANAAIAAAAfAOH/AAANAAQAAAAfAOD/AAANAAMAAAAfAN//AAANAAMAAAAfAN7/AAANAAMAAAAfAN3/AAANAAMAAAAfANz/AAANAAMAAAAfANv/AAANAAQAAAAfANr/AAANAAMAAAAcANn/AAAMAAEAAAAdANn/AAAMAAEAAAAeANn/AAAMAAEAAAAgANv/AAAJAAIAAAAgANz/AAAJAAQAAAAgAOD/AAAJAAIAAAAgAOH/AAAJAAMAAAAgAOL/AAAJAAMAAAAgAOP/AAAJAAQAAAAgAOT/AAAJAAQAAAAgAOX/AAAJAAQAAAA=")
|
||||
tile_set = ExtResource("1_7psk8")
|
||||
occlusion_enabled = false
|
||||
|
||||
@@ -217,7 +220,7 @@ script = ExtResource("2_oekxy")
|
||||
WalkAcceleration = 30.0
|
||||
StoppingDeceleration = 50.0
|
||||
CancellationAcceleration = 50.0
|
||||
AirAcceleration = 3.0
|
||||
AirAcceleration = 9.0
|
||||
MaxFallSpeed = 50.0
|
||||
MaxRiseSpeed = 50.0
|
||||
MaxRunSpeed = 12.0
|
||||
@@ -238,7 +241,7 @@ sprite_frames = ExtResource("2_wq5k4")
|
||||
animation = &"walk"
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="Player/CharacterBody2D" unique_id=1068565115]
|
||||
zoom = Vector2(2, 2)
|
||||
zoom = Vector2(5, 5)
|
||||
|
||||
[node name="Label" type="Label" parent="Player/CharacterBody2D" unique_id=436935745]
|
||||
offset_left = 22.0
|
||||
@@ -293,13 +296,21 @@ max_results = 1
|
||||
collide_with_areas = true
|
||||
|
||||
[node name="Light" parent="Player/CharacterBody2D" unique_id=658403720 instance=ExtResource("18_kfvst")]
|
||||
scale = Vector2(0.5, 0.5)
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1465666014]
|
||||
environment = ExtResource("2_44w6l")
|
||||
camera_attributes = ExtResource("3_wq5k4")
|
||||
compositor = ExtResource("4_oekxy")
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="." unique_id=2110631703]
|
||||
[node name="Sfx" type="AudioStreamPlayer" parent="." unique_id=253749605]
|
||||
volume_db = -9.72
|
||||
script = ExtResource("14_8hos5")
|
||||
ground_jump = Array[AudioStream]([ExtResource("15_2fy34")])
|
||||
midair_jump = Array[AudioStream]([ExtResource("15_2fy34")])
|
||||
turnback_jump = Array[AudioStream]([ExtResource("15_2fy34")])
|
||||
|
||||
[node name="Music" type="AudioStreamPlayer" parent="." unique_id=2110631703]
|
||||
stream = ExtResource("8_irpq7")
|
||||
volume_db = -25.544
|
||||
autoplay = true
|
||||
@@ -319,17 +330,21 @@ show_percentage = false
|
||||
|
||||
[node name="Light" parent="." unique_id=1954424812 instance=ExtResource("18_kfvst")]
|
||||
position = Vector2(690, -499)
|
||||
scale = Vector2(3.105, 3.106753)
|
||||
|
||||
[node name="Light2" parent="." unique_id=867314630 instance=ExtResource("18_kfvst")]
|
||||
position = Vector2(456, -1008)
|
||||
|
||||
[node name="Light3" parent="." unique_id=71903995 instance=ExtResource("18_kfvst")]
|
||||
visible = false
|
||||
position = Vector2(1009, -971)
|
||||
|
||||
[node name="Light4" parent="." unique_id=779029523 instance=ExtResource("18_kfvst")]
|
||||
position = Vector2(532, 169.99998)
|
||||
position = Vector2(529, 173)
|
||||
scale = Vector2(1.2247605, 1.2247605)
|
||||
|
||||
[connection signal="finished" from="AudioStreamPlayer" to="AudioStreamPlayer" method="_on_finished"]
|
||||
[connection signal="OnJump" from="Player/CharacterBody2D" to="Sfx" method="_on_character_body_2d_on_jump"]
|
||||
[connection signal="finished" from="Music" to="Music" method="_on_finished"]
|
||||
|
||||
[editable path="Player/CharacterBody2D/Light"]
|
||||
[editable path="Light"]
|
||||
|
||||
@@ -11,7 +11,6 @@ config_version=5
|
||||
[application]
|
||||
|
||||
config/name="WrplatGodot"
|
||||
config/version="0.1.38"
|
||||
run/main_scene="uid://r2lb1ommvj6u"
|
||||
config/features=PackedStringArray("4.6", "C#", "Forward Plus")
|
||||
config/icon="res://icon.svg"
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://dkx1v6c7vv0iq"
|
||||
path="res://.godot/imported/jump.ogg-d217a70c8ca2fe077e37d9f442c771d3.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://sounds/sfx/jump.ogg"
|
||||
dest_files=["res://.godot/imported/jump.ogg-d217a70c8ca2fe077e37d9f442c771d3.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 81 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 97 KiB After Width: | Height: | Size: 124 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 42 KiB |
File diff suppressed because it is too large
Load Diff
@@ -122,8 +122,24 @@ texture_region_size = Vector2i(32, 32)
|
||||
7:1/0 = 0
|
||||
8:1/0 = 0
|
||||
9:1/0 = 0
|
||||
9:1/0/terrain_set = 0
|
||||
9:1/0/terrain = 2
|
||||
9:1/0/terrains_peering_bit/right_side = 2
|
||||
9:1/0/terrains_peering_bit/bottom_right_corner = 1
|
||||
9:1/0/terrains_peering_bit/bottom_side = 2
|
||||
10:1/next_alternative_id = 2
|
||||
10:1/0 = 0
|
||||
10:1/0/terrain_set = 0
|
||||
10:1/0/terrain = 2
|
||||
10:1/0/terrains_peering_bit/right_side = 2
|
||||
10:1/0/terrains_peering_bit/bottom_side = 1
|
||||
10:1/0/terrains_peering_bit/left_side = 2
|
||||
11:1/0 = 0
|
||||
11:1/0/terrain_set = 0
|
||||
11:1/0/terrain = 2
|
||||
11:1/0/terrains_peering_bit/right_side = 2
|
||||
11:1/0/terrains_peering_bit/bottom_side = 1
|
||||
11:1/0/terrains_peering_bit/left_side = 2
|
||||
0:2/0 = 0
|
||||
1:2/0 = 0
|
||||
1:2/0/terrain_set = 0
|
||||
@@ -195,13 +211,21 @@ texture_region_size = Vector2i(32, 32)
|
||||
8:2/0 = 0
|
||||
8:2/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_yfu7p")
|
||||
8:2/0/occlusion_layer_1/polygon_0/polygon = SubResource("OccluderPolygon2D_xwwfl")
|
||||
9:2/next_alternative_id = 2
|
||||
9:2/0 = 0
|
||||
9:2/0/terrain_set = 0
|
||||
9:2/0/terrain = 2
|
||||
9:2/0/terrains_peering_bit/right_side = 1
|
||||
9:2/0/terrains_peering_bit/bottom_side = 2
|
||||
9:2/0/terrains_peering_bit/top_side = 2
|
||||
10:2/next_alternative_id = 2
|
||||
10:2/0 = 0
|
||||
10:2/0/terrain_set = 0
|
||||
10:2/0/terrain = 1
|
||||
10:2/0/terrains_peering_bit/right_side = 1
|
||||
10:2/0/terrains_peering_bit/bottom_right_corner = 1
|
||||
10:2/0/terrains_peering_bit/bottom_side = 1
|
||||
11:2/next_alternative_id = 11
|
||||
11:2/0 = 0
|
||||
11:2/0/terrain_set = 0
|
||||
11:2/0/terrain = 1
|
||||
@@ -371,6 +395,12 @@ texture_region_size = Vector2i(32, 32)
|
||||
7:3/0/terrains_peering_bit/top_right_corner = 0
|
||||
8:3/0 = 0
|
||||
9:3/0 = 0
|
||||
9:3/0/terrain_set = 0
|
||||
9:3/0/terrain = 2
|
||||
9:3/0/terrains_peering_bit/right_side = 1
|
||||
9:3/0/terrains_peering_bit/bottom_side = 2
|
||||
9:3/0/terrains_peering_bit/top_side = 2
|
||||
10:3/next_alternative_id = 10
|
||||
10:3/0 = 0
|
||||
10:3/0/terrain_set = 0
|
||||
10:3/0/terrain = 1
|
||||
@@ -470,22 +500,48 @@ texture_region_size = Vector2i(32, 32)
|
||||
5:4/0/occlusion_layer_1/polygon_0/polygon = SubResource("OccluderPolygon2D_o2foe")
|
||||
5:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, -16, 16, 16, 16, 16, -16)
|
||||
8:4/0 = 0
|
||||
9:4/next_alternative_id = 2
|
||||
9:4/0 = 0
|
||||
9:4/0/terrain_set = 0
|
||||
9:4/0/terrain = 2
|
||||
9:4/0/terrains_peering_bit/right_side = 1
|
||||
9:4/0/terrains_peering_bit/bottom_side = 2
|
||||
9:4/0/terrains_peering_bit/top_side = 2
|
||||
10:4/next_alternative_id = 2
|
||||
10:4/0 = 0
|
||||
10:4/0/terrain_set = 0
|
||||
10:4/0/terrain = 1
|
||||
10:4/0/terrains_peering_bit/right_side = 1
|
||||
10:4/0/terrains_peering_bit/top_side = 1
|
||||
10:4/0/terrains_peering_bit/top_right_corner = 1
|
||||
12:1/next_alternative_id = 2
|
||||
12:1/0 = 0
|
||||
12:1/0/terrain_set = 0
|
||||
12:1/0/terrain = 2
|
||||
12:1/0/terrains_peering_bit/right_side = 2
|
||||
12:1/0/terrains_peering_bit/bottom_side = 1
|
||||
12:1/0/terrains_peering_bit/left_side = 2
|
||||
13:1/0 = 0
|
||||
13:1/0/terrain_set = 0
|
||||
13:1/0/terrain = 2
|
||||
13:1/0/terrains_peering_bit/bottom_side = 2
|
||||
13:1/0/terrains_peering_bit/bottom_left_corner = 1
|
||||
13:1/0/terrains_peering_bit/left_side = 2
|
||||
12:2/next_alternative_id = 2
|
||||
12:2/0 = 0
|
||||
12:2/0/terrain_set = 0
|
||||
12:2/0/terrain = 1
|
||||
12:2/0/terrains_peering_bit/bottom_side = 1
|
||||
12:2/0/terrains_peering_bit/bottom_left_corner = 1
|
||||
12:2/0/terrains_peering_bit/left_side = 1
|
||||
13:2/next_alternative_id = 2
|
||||
13:2/0 = 0
|
||||
13:2/0/terrain_set = 0
|
||||
13:2/0/terrain = 2
|
||||
13:2/0/terrains_peering_bit/bottom_side = 2
|
||||
13:2/0/terrains_peering_bit/left_side = 1
|
||||
13:2/0/terrains_peering_bit/top_side = 2
|
||||
12:3/next_alternative_id = 10
|
||||
12:3/0 = 0
|
||||
12:3/0/terrain_set = 0
|
||||
12:3/0/terrain = 1
|
||||
@@ -495,6 +551,12 @@ texture_region_size = Vector2i(32, 32)
|
||||
12:3/0/terrains_peering_bit/top_left_corner = 1
|
||||
12:3/0/terrains_peering_bit/top_side = 1
|
||||
13:3/0 = 0
|
||||
13:3/0/terrain_set = 0
|
||||
13:3/0/terrain = 2
|
||||
13:3/0/terrains_peering_bit/bottom_side = 2
|
||||
13:3/0/terrains_peering_bit/left_side = 1
|
||||
13:3/0/terrains_peering_bit/top_side = 2
|
||||
11:4/next_alternative_id = 10
|
||||
11:4/0 = 0
|
||||
11:4/0/terrain_set = 0
|
||||
11:4/0/terrain = 1
|
||||
@@ -503,17 +565,154 @@ texture_region_size = Vector2i(32, 32)
|
||||
11:4/0/terrains_peering_bit/top_left_corner = 1
|
||||
11:4/0/terrains_peering_bit/top_side = 1
|
||||
11:4/0/terrains_peering_bit/top_right_corner = 1
|
||||
12:4/next_alternative_id = 2
|
||||
12:4/0 = 0
|
||||
12:4/0/terrain_set = 0
|
||||
12:4/0/terrain = 1
|
||||
12:4/0/terrains_peering_bit/left_side = 1
|
||||
12:4/0/terrains_peering_bit/top_left_corner = 1
|
||||
12:4/0/terrains_peering_bit/top_side = 1
|
||||
13:4/next_alternative_id = 2
|
||||
13:4/0 = 0
|
||||
13:4/0/terrain_set = 0
|
||||
13:4/0/terrain = 2
|
||||
13:4/0/terrains_peering_bit/bottom_side = 2
|
||||
13:4/0/terrains_peering_bit/left_side = 1
|
||||
13:4/0/terrains_peering_bit/top_side = 2
|
||||
10:5/next_alternative_id = 2
|
||||
10:5/0 = 0
|
||||
10:5/0/terrain_set = 0
|
||||
10:5/0/terrain = 2
|
||||
10:5/0/terrains_peering_bit/right_side = 2
|
||||
10:5/0/terrains_peering_bit/left_side = 2
|
||||
10:5/0/terrains_peering_bit/top_side = 1
|
||||
11:5/0 = 0
|
||||
11:5/0/terrain_set = 0
|
||||
11:5/0/terrain = 2
|
||||
11:5/0/terrains_peering_bit/right_side = 2
|
||||
11:5/0/terrains_peering_bit/left_side = 2
|
||||
11:5/0/terrains_peering_bit/top_side = 1
|
||||
12:5/next_alternative_id = 2
|
||||
12:5/0 = 0
|
||||
12:5/0/terrain_set = 0
|
||||
12:5/0/terrain = 2
|
||||
12:5/0/terrains_peering_bit/right_side = 2
|
||||
12:5/0/terrains_peering_bit/left_side = 2
|
||||
12:5/0/terrains_peering_bit/top_side = 1
|
||||
13:5/0 = 0
|
||||
13:5/0/terrain_set = 0
|
||||
13:5/0/terrain = 2
|
||||
13:5/0/terrains_peering_bit/left_side = 2
|
||||
13:5/0/terrains_peering_bit/top_left_corner = 1
|
||||
13:5/0/terrains_peering_bit/top_side = 2
|
||||
9:5/0 = 0
|
||||
9:5/0/terrain_set = 0
|
||||
9:5/0/terrain = 2
|
||||
9:5/0/terrains_peering_bit/right_side = 2
|
||||
9:5/0/terrains_peering_bit/bottom_left_corner = 1
|
||||
9:5/0/terrains_peering_bit/top_side = 2
|
||||
8:5/0 = 0
|
||||
8:5/0/terrain_set = 0
|
||||
8:5/0/terrain = 2
|
||||
8:5/0/terrains_peering_bit/bottom_right_corner = 1
|
||||
8:5/0/terrains_peering_bit/left_side = 2
|
||||
8:5/0/terrains_peering_bit/top_side = 2
|
||||
8:6/0 = 0
|
||||
8:6/0/terrain_set = 0
|
||||
8:6/0/terrain = 2
|
||||
8:6/0/terrains_peering_bit/bottom_side = 2
|
||||
8:6/0/terrains_peering_bit/left_side = 2
|
||||
8:6/0/terrains_peering_bit/top_right_corner = 1
|
||||
9:6/0 = 0
|
||||
9:6/0/terrain_set = 0
|
||||
9:6/0/terrain = 2
|
||||
9:6/0/terrains_peering_bit/right_side = 2
|
||||
9:6/0/terrains_peering_bit/bottom_side = 2
|
||||
9:6/0/terrains_peering_bit/top_left_corner = 1
|
||||
10:6/0 = 0
|
||||
10:6/0/terrain_set = 0
|
||||
10:6/0/terrain = 1
|
||||
10:6/0/terrains_peering_bit/right_side = 1
|
||||
10:6/0/terrains_peering_bit/bottom_side = 1
|
||||
10:6/0/terrains_peering_bit/bottom_left_corner = 1
|
||||
10:6/0/terrains_peering_bit/left_side = 1
|
||||
10:6/0/terrains_peering_bit/top_left_corner = 1
|
||||
10:6/0/terrains_peering_bit/top_side = 1
|
||||
10:6/0/terrains_peering_bit/top_right_corner = 1
|
||||
10:7/0 = 0
|
||||
10:7/0/terrain_set = 0
|
||||
10:7/0/terrain = 1
|
||||
10:7/0/terrains_peering_bit/right_side = 1
|
||||
10:7/0/terrains_peering_bit/bottom_right_corner = 1
|
||||
10:7/0/terrains_peering_bit/bottom_side = 1
|
||||
10:7/0/terrains_peering_bit/bottom_left_corner = 1
|
||||
10:7/0/terrains_peering_bit/left_side = 1
|
||||
10:7/0/terrains_peering_bit/top_left_corner = 1
|
||||
10:7/0/terrains_peering_bit/top_side = 1
|
||||
11:7/0 = 0
|
||||
11:7/0/terrain_set = 0
|
||||
11:7/0/terrain = 1
|
||||
11:7/0/terrains_peering_bit/right_side = 1
|
||||
11:7/0/terrains_peering_bit/bottom_right_corner = 1
|
||||
11:7/0/terrains_peering_bit/bottom_side = 1
|
||||
11:7/0/terrains_peering_bit/bottom_left_corner = 1
|
||||
11:7/0/terrains_peering_bit/left_side = 1
|
||||
11:7/0/terrains_peering_bit/top_side = 1
|
||||
11:7/0/terrains_peering_bit/top_right_corner = 1
|
||||
12:7/0 = 0
|
||||
12:7/0/terrain_set = 0
|
||||
12:6/0 = 0
|
||||
12:6/0/terrain_set = 0
|
||||
11:6/0 = 0
|
||||
11:6/0/terrain_set = 0
|
||||
11:6/0/terrain = 1
|
||||
11:6/0/terrains_peering_bit/right_side = 1
|
||||
11:6/0/terrains_peering_bit/bottom_right_corner = 1
|
||||
11:6/0/terrains_peering_bit/bottom_side = 1
|
||||
11:6/0/terrains_peering_bit/left_side = 1
|
||||
11:6/0/terrains_peering_bit/top_left_corner = 1
|
||||
11:6/0/terrains_peering_bit/top_side = 1
|
||||
11:6/0/terrains_peering_bit/top_right_corner = 1
|
||||
13:6/0 = 0
|
||||
13:6/0/terrain_set = 0
|
||||
14:6/0 = 0
|
||||
14:6/0/terrain_set = 0
|
||||
14:7/0 = 0
|
||||
14:7/0/terrain_set = 0
|
||||
13:7/0 = 0
|
||||
13:7/0/terrain_set = 0
|
||||
15:6/0 = 0
|
||||
15:6/0/terrain_set = 0
|
||||
15:7/0 = 0
|
||||
15:7/0/terrain_set = 0
|
||||
14:5/0 = 0
|
||||
14:5/0/terrain_set = 0
|
||||
14:5/0/terrain = 2
|
||||
14:5/0/terrains_peering_bit/right_side = 2
|
||||
14:5/0/terrains_peering_bit/top_side = 2
|
||||
14:5/0/terrains_peering_bit/top_right_corner = 1
|
||||
14:4/0 = 0
|
||||
14:4/0/terrain_set = 0
|
||||
14:3/0 = 0
|
||||
14:3/0/terrain_set = 0
|
||||
14:2/0 = 0
|
||||
14:2/0/terrain_set = 0
|
||||
14:1/0 = 0
|
||||
14:1/0/terrain_set = 0
|
||||
14:0/0 = 0
|
||||
15:1/0 = 0
|
||||
15:1/0/terrain_set = 0
|
||||
15:2/0 = 0
|
||||
15:2/0/terrain_set = 0
|
||||
15:3/0 = 0
|
||||
15:3/0/terrain_set = 0
|
||||
15:4/0 = 0
|
||||
15:4/0/terrain_set = 0
|
||||
15:5/0 = 0
|
||||
15:5/0/terrain_set = 0
|
||||
15:0/0 = 0
|
||||
13:0/0 = 0
|
||||
12:0/0 = 0
|
||||
|
||||
[resource]
|
||||
tile_size = Vector2i(32, 32)
|
||||
@@ -524,5 +723,11 @@ terrain_set_0/mode = 0
|
||||
terrain_set_0/terrain_0/name = "Brick"
|
||||
terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1)
|
||||
terrain_set_0/terrain_1/name = "Forested"
|
||||
terrain_set_0/terrain_1/color = Color(0.39864206, 0.682954, 0.06894464, 1)
|
||||
terrain_set_0/terrain_1/color = Color(0.48, 0.2712, 0.062399995, 1)
|
||||
terrain_set_0/terrain_2/name = "Grass"
|
||||
terrain_set_0/terrain_2/color = Color(0.5769167, 0.86, 0.18059999, 1)
|
||||
terrain_set_0/terrain_3/name = "Forested-Grass Junction"
|
||||
terrain_set_0/terrain_3/color = Color(0.255, 0.51, 0.39525005, 1)
|
||||
terrain_set_0/terrain_4/name = "Terminato Junction"
|
||||
terrain_set_0/terrain_4/color = Color(0.25, 0.3416667, 0.5, 1)
|
||||
sources/0 = SubResource("TileSetAtlasSource_blkrv")
|
||||
|
||||
@@ -4,6 +4,12 @@ using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
|
||||
public enum JumpKind {
|
||||
Ground,
|
||||
Turnback,
|
||||
Midair
|
||||
}
|
||||
|
||||
public partial class PlayerPhysicsController : CharacterBody2D {
|
||||
// [Export]
|
||||
// public float RunMultiplier { get; set; } = 1.84f;
|
||||
@@ -11,6 +17,10 @@ public partial class PlayerPhysicsController : CharacterBody2D {
|
||||
[Signal]
|
||||
public delegate void OnTurnbackJumpEventHandler(bool onJumpPoint, bool isOnWall);
|
||||
|
||||
[Signal]
|
||||
public delegate void OnJumpEventHandler(JumpKind kind, bool isOnGround, bool isOnWall);
|
||||
|
||||
|
||||
[ExportCategory("Accelerations and Impulses")]
|
||||
[Export]
|
||||
public float WalkAcceleration { get; set; } = 3f;
|
||||
@@ -35,10 +45,6 @@ public partial class PlayerPhysicsController : CharacterBody2D {
|
||||
private float MaxRunSpeed { get; set; } = 16f;
|
||||
[Export]
|
||||
private float MaxWalkSpeed { get; set; } = 8f;
|
||||
[Export]
|
||||
private float MaxAirSpeed { get; set; } = 16f;
|
||||
[Export]
|
||||
private float MaxDoubleJumpFallSpeed { get; set; } = 1f;
|
||||
|
||||
[ExportCategory("Objects")]
|
||||
[Export]
|
||||
@@ -69,7 +75,7 @@ public partial class PlayerPhysicsController : CharacterBody2D {
|
||||
[Export]
|
||||
public float Deadzone { get; set; } = 0.1f;
|
||||
|
||||
public float GetMinAccel(float delta) => CancellationAcceleration * delta;
|
||||
|
||||
|
||||
|
||||
private float _lv = 0.0f;
|
||||
@@ -129,6 +135,8 @@ public partial class PlayerPhysicsController : CharacterBody2D {
|
||||
float velx = (Velocity.X / UnitToPx);
|
||||
float vely = (Velocity.Y / UnitToPx) + Gravity * (float)delta;
|
||||
|
||||
if (Mathf.Abs(velx) < 0.1) velx = 0;
|
||||
|
||||
var grounded = this.IsOnFloor();
|
||||
var coyoteGrounded = _timeOffGround < CoyoteTiming;
|
||||
if (grounded || coyoteGrounded) {
|
||||
@@ -136,6 +144,7 @@ public partial class PlayerPhysicsController : CharacterBody2D {
|
||||
else _timeOffGround += (float)delta;
|
||||
|
||||
if (Input.IsActionJustPressed("jump")) {
|
||||
EmitSignal(SignalName.OnJump, (int)JumpKind.Ground, this.IsOnFloor(), this.IsOnWall());
|
||||
vely = -_lv;
|
||||
}
|
||||
|
||||
@@ -155,6 +164,7 @@ public partial class PlayerPhysicsController : CharacterBody2D {
|
||||
var side = velx > 0 ? PredictiveCollisions.Location.BottomRight : PredictiveCollisions.Location.BottomLeft;
|
||||
if (Predictor.AnyHit(side) && !this.IsOnWall()) {
|
||||
EmitSignal(SignalName.OnTurnbackJump, true, this.IsOnWall());
|
||||
EmitSignal(SignalName.OnJump, (int)JumpKind.Turnback, this.IsOnFloor(), this.IsOnWall());
|
||||
var hits = Predictor.GetLastCastHits(side);
|
||||
_ = hits.First(x => {
|
||||
if (x.Obj is null) return false;
|
||||
@@ -195,7 +205,8 @@ public partial class PlayerPhysicsController : CharacterBody2D {
|
||||
}
|
||||
}
|
||||
|
||||
if (Input.IsActionJustPressed("jump") && Mathf.Abs(vely) < MaxDoubleJumpFallSpeed) {
|
||||
if (Input.IsActionJustPressed("jump") && Mathf.Abs(vely) < 2) {
|
||||
EmitSignal(SignalName.OnJump, (int)JumpKind.Midair, this.IsOnFloor(), this.IsOnWall());
|
||||
vely = -_lv;
|
||||
}
|
||||
|
||||
@@ -208,13 +219,16 @@ public partial class PlayerPhysicsController : CharacterBody2D {
|
||||
else velx += autostop;
|
||||
}
|
||||
|
||||
var maxXSpeed = grounded ? Input.IsActionPressed("run") ? MaxRunSpeed : MaxWalkSpeed : MaxAirSpeed;
|
||||
var maxXSpeed = Input.IsActionPressed("run") ? MaxRunSpeed : MaxWalkSpeed;
|
||||
var maxYSpeed = vely > 0 ? MaxFallSpeed : MaxRiseSpeed;
|
||||
var (absvelx, absvely) = (Mathf.Abs(velx), Mathf.Abs(vely));
|
||||
if (absvelx > maxXSpeed)
|
||||
velx = Mathf.Sign(velx) * Mathf.Max(absvelx - CancellationAcceleration * (float)delta, maxXSpeed);
|
||||
if (absvely > maxYSpeed)
|
||||
vely = Mathf.Sign(vely) * Mathf.Max(absvely - CancellationAcceleration * (float)delta, maxYSpeed);
|
||||
float xcancel = 0, ycancel = 0;
|
||||
if (absvelx > maxXSpeed) xcancel = -Math.Sign(velx) * CancellationAcceleration * (float)delta;
|
||||
if (absvely > maxYSpeed) ycancel = -Math.Sign(vely) * CancellationAcceleration * (float)delta;
|
||||
if (Mathf.Abs(xcancel) + 0.1 > absvelx) velx = 0;
|
||||
else velx += xcancel;
|
||||
if (Mathf.Abs(ycancel) + 0.1 > absvely) vely = 0;
|
||||
else vely += ycancel;
|
||||
|
||||
DebugTextLabel.Text =
|
||||
$"grounded: {grounded}\n" +
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
extends AudioStreamPlayer
|
||||
|
||||
@export var ground_jump: Array[AudioStream];
|
||||
@export var midair_jump: Array[AudioStream];
|
||||
@export var turnback_jump: Array[AudioStream];
|
||||
|
||||
|
||||
enum JumpKind {
|
||||
Ground = 0,
|
||||
Turnback = 1,
|
||||
Midair = 2
|
||||
}
|
||||
|
||||
func _on_character_body_2d_on_jump(kind: JumpKind, isOnGround: bool, isOnWall: bool):
|
||||
match kind:
|
||||
JumpKind.Ground:
|
||||
playSfx(ground_jump)
|
||||
JumpKind.Turnback:
|
||||
playSfx(turnback_jump)
|
||||
JumpKind.Midair:
|
||||
playSfx(midair_jump)
|
||||
pass # Replace with function body.
|
||||
|
||||
func playSfx(sfx: Array[AudioStream]):
|
||||
stream = sfx[randi_range(0, sfx.size() - 1)]
|
||||
play()
|
||||
@@ -0,0 +1 @@
|
||||
uid://bwgqvwybyrsmq
|
||||
@@ -3,7 +3,6 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable enable
|
||||
|
||||
public class LevelPattern {
|
||||
public TileMapPattern Level { get; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user