Added pause capability to all levels, added music to Level 5, added a simple chasing AI to the glowing ghosts, and optimized the Main Menu scene
27
Enemies/Glowing Ghost.gd
Normal file
@@ -0,0 +1,27 @@
|
||||
extends KinematicBody2D
|
||||
|
||||
const SPEED: int = 50
|
||||
|
||||
var player: KinematicBody2D = null
|
||||
var velocity: Vector2 = Vector2.ZERO
|
||||
|
||||
|
||||
func _physics_process(_delta: float) -> void:
|
||||
velocity = Vector2.ZERO
|
||||
|
||||
if player:
|
||||
velocity = position.direction_to(player.position).normalized() * SPEED
|
||||
|
||||
velocity = move_and_slide(velocity)
|
||||
return
|
||||
|
||||
|
||||
func _on_player_detector_area_entered(area: Area2D) -> void:
|
||||
if area.get_parent().name == 'Player':
|
||||
player = area.get_parent()
|
||||
return
|
||||
|
||||
|
||||
func _on_player_detector_area_exited(_area: Area2D):
|
||||
player = null
|
||||
return
|
@@ -1,16 +1,20 @@
|
||||
[gd_scene load_steps=5 format=2]
|
||||
[gd_scene load_steps=7 format=2]
|
||||
|
||||
[ext_resource path="res://Resources/Level_5_Enemy_Glowing_Ghost_Occluder.tres" type="OccluderPolygon2D" id=1]
|
||||
[ext_resource path="res://Sprites/Assets/Light.png" type="Texture" id=2]
|
||||
[ext_resource path="res://Sprites/Enemies/Glowing_Ghost.png" type="Texture" id=3]
|
||||
[ext_resource path="res://Enemies/Glowing Ghost.gd" type="Script" id=4]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id=1]
|
||||
radius = 3.0
|
||||
height = 2.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id=2]
|
||||
radius = 50.0
|
||||
|
||||
[node name="Glowing Ghost" type="KinematicBody2D" groups=["enemies"]]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
script = ExtResource( 4 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
light_mask = 4
|
||||
@@ -22,6 +26,16 @@ visible = false
|
||||
position = Vector2( 0, -3 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="Player Detector" type="Area2D" parent="."]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
input_pickable = false
|
||||
monitorable = false
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Player Detector"]
|
||||
visible = false
|
||||
shape = SubResource( 2 )
|
||||
|
||||
[node name="Light2D" type="Light2D" parent="."]
|
||||
scale = Vector2( 0.5, 0.5 )
|
||||
texture = ExtResource( 2 )
|
||||
@@ -38,3 +52,6 @@ range_item_cull_mask = 4
|
||||
[node name="LightOccluder2D" type="LightOccluder2D" parent="."]
|
||||
show_behind_parent = true
|
||||
occluder = ExtResource( 1 )
|
||||
|
||||
[connection signal="area_entered" from="Player Detector" to="." method="_on_player_detector_area_entered"]
|
||||
[connection signal="area_exited" from="Player Detector" to="." method="_on_player_detector_area_exited"]
|
||||
|
@@ -1,4 +1,4 @@
|
||||
extends Node
|
||||
extends CanvasLayer
|
||||
|
||||
signal complete(option)
|
||||
|
||||
@@ -9,12 +9,12 @@ func _on_new_game_button_pressed() -> void:
|
||||
|
||||
|
||||
func _on_quit_button_pressed() -> void:
|
||||
emit_signal('complete', 'quit')
|
||||
get_tree().quit()
|
||||
return
|
||||
|
||||
|
||||
func _on_continue_button_mouse_entered() -> void:
|
||||
if not $'Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer/Continue Button'.disabled:
|
||||
if not $'Menu/Menu Elements/Menu Options/Continue/Continue Button'.disabled:
|
||||
$'Menu Button Hover'.play(0.0)
|
||||
return
|
||||
|
||||
|
@@ -1,16 +1,16 @@
|
||||
[gd_scene load_steps=18 format=2]
|
||||
|
||||
[ext_resource path="res://Sprites/Menus/Main Menu/Settings_Button_Normal.png" type="Texture" id=1]
|
||||
[ext_resource path="res://Sprites/Menus/Main Menu/Continue_Button_Hover.png" type="Texture" id=2]
|
||||
[ext_resource path="res://Sprites/Menus/Main Menu/Credits_Button_Normal.png" type="Texture" id=3]
|
||||
[ext_resource path="res://Sprites/Menus/Main Menu/Continue_Button_Normal.png" type="Texture" id=4]
|
||||
[ext_resource path="res://Sprites/Menus/Main Menu/New_Game_Button_Normal.png" type="Texture" id=5]
|
||||
[ext_resource path="res://Sprites/Menus/Main Menu/Continue_Button_Disabled.png" type="Texture" id=6]
|
||||
[ext_resource path="res://Sprites/Menus/Main Menu/New_Game_Button_Hover.png" type="Texture" id=7]
|
||||
[ext_resource path="res://Sprites/Menus/Main Menu/Quit_Button_Normal.png" type="Texture" id=8]
|
||||
[ext_resource path="res://Sprites/Menus/Main Menu/Credits_Button_Hover.png" type="Texture" id=9]
|
||||
[ext_resource path="res://Sprites/Menus/Main Menu/Settings_Button_Hover.png" type="Texture" id=10]
|
||||
[ext_resource path="res://Sprites/Menus/Main Menu/Quit_Button_Hover.png" type="Texture" id=11]
|
||||
[ext_resource path="res://Sprites/Menus/Menu Buttons/Settings_Button_Normal.png" type="Texture" id=1]
|
||||
[ext_resource path="res://Sprites/Menus/Menu Buttons/Continue_Button_Hover.png" type="Texture" id=2]
|
||||
[ext_resource path="res://Sprites/Menus/Menu Buttons/Credits_Button_Normal.png" type="Texture" id=3]
|
||||
[ext_resource path="res://Sprites/Menus/Menu Buttons/Continue_Button_Normal.png" type="Texture" id=4]
|
||||
[ext_resource path="res://Sprites/Menus/Menu Buttons/New_Game_Button_Normal.png" type="Texture" id=5]
|
||||
[ext_resource path="res://Sprites/Menus/Menu Buttons/Continue_Button_Disabled.png" type="Texture" id=6]
|
||||
[ext_resource path="res://Sprites/Menus/Menu Buttons/New_Game_Button_Hover.png" type="Texture" id=7]
|
||||
[ext_resource path="res://Sprites/Menus/Menu Buttons/Quit_Button_Normal.png" type="Texture" id=8]
|
||||
[ext_resource path="res://Sprites/Menus/Menu Buttons/Credits_Button_Hover.png" type="Texture" id=9]
|
||||
[ext_resource path="res://Sprites/Menus/Menu Buttons/Settings_Button_Hover.png" type="Texture" id=10]
|
||||
[ext_resource path="res://Sprites/Menus/Menu Buttons/Quit_Button_Hover.png" type="Texture" id=11]
|
||||
[ext_resource path="res://Sprites/Menus/Main Menu/Main_Menu_Background.png" type="Texture" id=12]
|
||||
[ext_resource path="res://Resources/Ash.tres" type="DynamicFontData" id=13]
|
||||
[ext_resource path="res://GUI/Main Menu.gd" type="Script" id=14]
|
||||
@@ -23,14 +23,16 @@ use_mipmaps = true
|
||||
extra_spacing_bottom = 15
|
||||
font_data = ExtResource( 13 )
|
||||
|
||||
[node name="Main Menu" type="Node"]
|
||||
[node name="Main Menu" type="CanvasLayer"]
|
||||
script = ExtResource( 14 )
|
||||
|
||||
[node name="Background" type="Sprite" parent="."]
|
||||
[node name="Background" type="TextureRect" parent="."]
|
||||
texture = ExtResource( 12 )
|
||||
centered = false
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Menu Items" type="MarginContainer" parent="."]
|
||||
[node name="Menu" type="CenterContainer" parent="."]
|
||||
margin_left = 10.0
|
||||
margin_top = 10.0
|
||||
margin_right = 310.0
|
||||
@@ -40,86 +42,84 @@ __meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="Menu Items"]
|
||||
margin_right = 300.0
|
||||
margin_bottom = 160.0
|
||||
[node name="Menu Elements" type="VBoxContainer" parent="Menu"]
|
||||
margin_left = 42.0
|
||||
margin_top = 11.0
|
||||
margin_right = 257.0
|
||||
margin_bottom = 149.0
|
||||
alignment = 2
|
||||
|
||||
[node name="Title" type="Label" parent="Menu Items/VBoxContainer"]
|
||||
margin_top = 23.0
|
||||
margin_right = 300.0
|
||||
margin_bottom = 62.0
|
||||
[node name="Title" type="Label" parent="Menu/Menu Elements"]
|
||||
margin_right = 215.0
|
||||
margin_bottom = 40.0
|
||||
rect_min_size = Vector2( 0, 40 )
|
||||
custom_fonts/font = SubResource( 1 )
|
||||
text = "Embodiment"
|
||||
align = 1
|
||||
valign = 1
|
||||
|
||||
[node name="CenterContainer" type="CenterContainer" parent="Menu Items/VBoxContainer"]
|
||||
margin_top = 66.0
|
||||
margin_right = 300.0
|
||||
margin_bottom = 160.0
|
||||
[node name="Menu Options" type="VBoxContainer" parent="Menu/Menu Elements"]
|
||||
margin_top = 44.0
|
||||
margin_right = 215.0
|
||||
margin_bottom = 138.0
|
||||
|
||||
[node name="Menu Options" type="VBoxContainer" parent="Menu Items/VBoxContainer/CenterContainer"]
|
||||
margin_left = 108.0
|
||||
margin_right = 191.0
|
||||
margin_bottom = 94.0
|
||||
|
||||
[node name="CenterContainer" type="CenterContainer" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options"]
|
||||
margin_right = 83.0
|
||||
[node name="Continue" type="CenterContainer" parent="Menu/Menu Elements/Menu Options"]
|
||||
margin_right = 215.0
|
||||
margin_bottom = 15.0
|
||||
|
||||
[node name="Continue Button" type="TextureButton" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer"]
|
||||
margin_left = 7.0
|
||||
margin_right = 75.0
|
||||
[node name="Continue Button" type="TextureButton" parent="Menu/Menu Elements/Menu Options/Continue"]
|
||||
margin_left = 73.0
|
||||
margin_right = 141.0
|
||||
margin_bottom = 15.0
|
||||
disabled = true
|
||||
texture_normal = ExtResource( 4 )
|
||||
texture_hover = ExtResource( 2 )
|
||||
texture_disabled = ExtResource( 6 )
|
||||
|
||||
[node name="CenterContainer2" type="CenterContainer" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options"]
|
||||
[node name="New Game" type="CenterContainer" parent="Menu/Menu Elements/Menu Options"]
|
||||
margin_top = 19.0
|
||||
margin_right = 83.0
|
||||
margin_right = 215.0
|
||||
margin_bottom = 33.0
|
||||
|
||||
[node name="New Game Button" type="TextureButton" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer2"]
|
||||
margin_right = 83.0
|
||||
[node name="New Game Button" type="TextureButton" parent="Menu/Menu Elements/Menu Options/New Game"]
|
||||
margin_left = 66.0
|
||||
margin_right = 149.0
|
||||
margin_bottom = 14.0
|
||||
texture_normal = ExtResource( 5 )
|
||||
texture_hover = ExtResource( 7 )
|
||||
|
||||
[node name="CenterContainer3" type="CenterContainer" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options"]
|
||||
[node name="Settings" type="CenterContainer" parent="Menu/Menu Elements/Menu Options"]
|
||||
margin_top = 37.0
|
||||
margin_right = 83.0
|
||||
margin_right = 215.0
|
||||
margin_bottom = 56.0
|
||||
|
||||
[node name="Settings Button" type="TextureButton" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer3"]
|
||||
margin_left = 11.0
|
||||
margin_right = 72.0
|
||||
[node name="Settings Button" type="TextureButton" parent="Menu/Menu Elements/Menu Options/Settings"]
|
||||
margin_left = 77.0
|
||||
margin_right = 138.0
|
||||
margin_bottom = 19.0
|
||||
texture_normal = ExtResource( 1 )
|
||||
texture_hover = ExtResource( 10 )
|
||||
|
||||
[node name="CenterContainer4" type="CenterContainer" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options"]
|
||||
[node name="Credits" type="CenterContainer" parent="Menu/Menu Elements/Menu Options"]
|
||||
margin_top = 60.0
|
||||
margin_right = 83.0
|
||||
margin_right = 215.0
|
||||
margin_bottom = 75.0
|
||||
|
||||
[node name="Credits Button" type="TextureButton" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer4"]
|
||||
margin_left = 16.0
|
||||
margin_right = 67.0
|
||||
[node name="Credits Button" type="TextureButton" parent="Menu/Menu Elements/Menu Options/Credits"]
|
||||
margin_left = 82.0
|
||||
margin_right = 133.0
|
||||
margin_bottom = 15.0
|
||||
texture_normal = ExtResource( 3 )
|
||||
texture_hover = ExtResource( 9 )
|
||||
|
||||
[node name="CenterContainer5" type="CenterContainer" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options"]
|
||||
[node name="Quit" type="CenterContainer" parent="Menu/Menu Elements/Menu Options"]
|
||||
margin_top = 79.0
|
||||
margin_right = 83.0
|
||||
margin_right = 215.0
|
||||
margin_bottom = 94.0
|
||||
|
||||
[node name="Quit Button" type="TextureButton" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer5"]
|
||||
margin_left = 24.0
|
||||
margin_right = 58.0
|
||||
[node name="Quit Button" type="TextureButton" parent="Menu/Menu Elements/Menu Options/Quit"]
|
||||
margin_left = 90.0
|
||||
margin_right = 124.0
|
||||
margin_bottom = 15.0
|
||||
texture_normal = ExtResource( 8 )
|
||||
texture_hover = ExtResource( 11 )
|
||||
@@ -127,17 +127,17 @@ texture_hover = ExtResource( 11 )
|
||||
[node name="BGM" type="AudioStreamPlayer" parent="."]
|
||||
pause_mode = 2
|
||||
stream = ExtResource( 15 )
|
||||
volume_db = -14.136
|
||||
volume_db = -15.0
|
||||
autoplay = true
|
||||
|
||||
[node name="Menu Button Hover" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 16 )
|
||||
volume_db = -15.146
|
||||
volume_db = -16.0
|
||||
|
||||
[connection signal="mouse_entered" from="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer/Continue Button" to="." method="_on_continue_button_mouse_entered"]
|
||||
[connection signal="mouse_entered" from="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer2/New Game Button" to="." method="_on_new_game_button_mouse_entered"]
|
||||
[connection signal="pressed" from="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer2/New Game Button" to="." method="_on_new_game_button_pressed"]
|
||||
[connection signal="mouse_entered" from="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer3/Settings Button" to="." method="_on_settings_button_mouse_entered"]
|
||||
[connection signal="mouse_entered" from="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer4/Credits Button" to="." method="_on_credits_button_mouse_entered"]
|
||||
[connection signal="mouse_entered" from="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer5/Quit Button" to="." method="_on_quit_button_mouse_entered"]
|
||||
[connection signal="pressed" from="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer5/Quit Button" to="." method="_on_quit_button_pressed"]
|
||||
[connection signal="mouse_entered" from="Menu/Menu Elements/Menu Options/Continue/Continue Button" to="." method="_on_continue_button_mouse_entered"]
|
||||
[connection signal="mouse_entered" from="Menu/Menu Elements/Menu Options/New Game/New Game Button" to="." method="_on_new_game_button_mouse_entered"]
|
||||
[connection signal="pressed" from="Menu/Menu Elements/Menu Options/New Game/New Game Button" to="." method="_on_new_game_button_pressed"]
|
||||
[connection signal="mouse_entered" from="Menu/Menu Elements/Menu Options/Settings/Settings Button" to="." method="_on_settings_button_mouse_entered"]
|
||||
[connection signal="mouse_entered" from="Menu/Menu Elements/Menu Options/Credits/Credits Button" to="." method="_on_credits_button_mouse_entered"]
|
||||
[connection signal="mouse_entered" from="Menu/Menu Elements/Menu Options/Quit/Quit Button" to="." method="_on_quit_button_mouse_entered"]
|
||||
[connection signal="pressed" from="Menu/Menu Elements/Menu Options/Quit/Quit Button" to="." method="_on_quit_button_pressed"]
|
||||
|
39
GUI/Pause Screen.gd
Normal file
@@ -0,0 +1,39 @@
|
||||
extends CanvasLayer
|
||||
|
||||
|
||||
func _on_resume_button_pressed() -> void:
|
||||
resume()
|
||||
return
|
||||
|
||||
|
||||
func _on_quit_button_pressed() -> void:
|
||||
get_tree().quit()
|
||||
return
|
||||
|
||||
|
||||
func _on_resume_button_mouse_entered() -> void:
|
||||
$'Menu Button Hover'.play(0.0)
|
||||
return
|
||||
|
||||
|
||||
func _on_quit_button_mouse_entered() -> void:
|
||||
$'Menu Button Hover'.play(0.0)
|
||||
return
|
||||
|
||||
|
||||
func _input(event: InputEvent) -> void:
|
||||
if event.is_action_pressed('ui_cancel'):
|
||||
if get_tree().paused:
|
||||
resume()
|
||||
else:
|
||||
get_tree().paused = true
|
||||
$Background.visible = true
|
||||
$Menu.visible = true
|
||||
return
|
||||
|
||||
|
||||
func resume() -> void:
|
||||
$Background.visible = false
|
||||
$Menu.visible = false
|
||||
get_tree().paused = false
|
||||
return
|
71
GUI/Pause Screen.tscn
Normal file
@@ -0,0 +1,71 @@
|
||||
[gd_scene load_steps=8 format=2]
|
||||
|
||||
[ext_resource path="res://Sprites/Assets/Black_Background.png" type="Texture" id=1]
|
||||
[ext_resource path="res://Sprites/Menus/Menu Buttons/Quit_Button_Normal.png" type="Texture" id=2]
|
||||
[ext_resource path="res://Sprites/Menus/Menu Buttons/Resume_Button_Normal.png" type="Texture" id=3]
|
||||
[ext_resource path="res://Sprites/Menus/Menu Buttons/Resume_Button_Hover.png" type="Texture" id=4]
|
||||
[ext_resource path="res://Sprites/Menus/Menu Buttons/Quit_Button_Hover.png" type="Texture" id=5]
|
||||
[ext_resource path="res://GUI/Pause Screen.gd" type="Script" id=6]
|
||||
[ext_resource path="res://Sounds/Menu_Button_Hover.wav" type="AudioStream" id=7]
|
||||
|
||||
[node name="Pause Screen" type="CanvasLayer"]
|
||||
pause_mode = 2
|
||||
script = ExtResource( 6 )
|
||||
|
||||
[node name="Background" type="TextureRect" parent="."]
|
||||
visible = false
|
||||
self_modulate = Color( 1, 1, 1, 0.313726 )
|
||||
light_mask = 0
|
||||
rect_min_size = Vector2( 320, 180 )
|
||||
texture = ExtResource( 1 )
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Menu" type="CenterContainer" parent="."]
|
||||
visible = false
|
||||
margin_left = 80.0
|
||||
margin_top = 10.0
|
||||
margin_right = 240.0
|
||||
margin_bottom = 170.0
|
||||
rect_min_size = Vector2( 160, 160 )
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Menu Options" type="VBoxContainer" parent="Menu"]
|
||||
margin_left = 49.0
|
||||
margin_top = 63.0
|
||||
margin_right = 111.0
|
||||
margin_bottom = 97.0
|
||||
|
||||
[node name="Resume" type="CenterContainer" parent="Menu/Menu Options"]
|
||||
margin_right = 62.0
|
||||
margin_bottom = 15.0
|
||||
|
||||
[node name="Resume Button" type="TextureButton" parent="Menu/Menu Options/Resume"]
|
||||
margin_right = 62.0
|
||||
margin_bottom = 15.0
|
||||
texture_normal = ExtResource( 3 )
|
||||
texture_hover = ExtResource( 4 )
|
||||
|
||||
[node name="Quit" type="CenterContainer" parent="Menu/Menu Options"]
|
||||
margin_top = 19.0
|
||||
margin_right = 62.0
|
||||
margin_bottom = 34.0
|
||||
|
||||
[node name="Quit Button" type="TextureButton" parent="Menu/Menu Options/Quit"]
|
||||
margin_left = 14.0
|
||||
margin_right = 48.0
|
||||
margin_bottom = 15.0
|
||||
texture_normal = ExtResource( 2 )
|
||||
texture_hover = ExtResource( 5 )
|
||||
|
||||
[node name="Menu Button Hover" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 7 )
|
||||
volume_db = -16.0
|
||||
|
||||
[connection signal="mouse_entered" from="Menu/Menu Options/Resume/Resume Button" to="." method="_on_resume_button_mouse_entered"]
|
||||
[connection signal="pressed" from="Menu/Menu Options/Resume/Resume Button" to="." method="_on_resume_button_pressed"]
|
||||
[connection signal="mouse_entered" from="Menu/Menu Options/Quit/Quit Button" to="." method="_on_quit_button_mouse_entered"]
|
||||
[connection signal="pressed" from="Menu/Menu Options/Quit/Quit Button" to="." method="_on_quit_button_pressed"]
|
@@ -14,5 +14,5 @@ script = ExtResource( 2 )
|
||||
|
||||
[node name="BGM" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 3 )
|
||||
volume_db = -15.146
|
||||
volume_db = -15.0
|
||||
autoplay = true
|
||||
|
@@ -1,8 +1,9 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
[gd_scene load_steps=5 format=2]
|
||||
|
||||
[ext_resource path="res://Player/Player.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://Levels/Hub World.gd" type="Script" id=2]
|
||||
[ext_resource path="res://GUI/HUD.tscn" type="PackedScene" id=3]
|
||||
[ext_resource path="res://GUI/Pause Screen.tscn" type="PackedScene" id=4]
|
||||
|
||||
[node name="Hub World" type="Node2D"]
|
||||
script = ExtResource( 2 )
|
||||
@@ -13,3 +14,5 @@ script = ExtResource( 2 )
|
||||
position = Vector2( 160, 90 )
|
||||
|
||||
[node name="HUD" parent="." instance=ExtResource( 3 )]
|
||||
|
||||
[node name="Pause Screen" parent="." instance=ExtResource( 4 )]
|
||||
|
@@ -1,10 +1,12 @@
|
||||
[gd_scene load_steps=8 format=2]
|
||||
[gd_scene load_steps=10 format=2]
|
||||
|
||||
[ext_resource path="res://Player/Player.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://Levels/Level 5.gd" type="Script" id=2]
|
||||
[ext_resource path="res://GUI/HUD.tscn" type="PackedScene" id=3]
|
||||
[ext_resource path="res://Resources/Level_5_Floor_Tileset.tres" type="TileSet" id=4]
|
||||
[ext_resource path="res://Sprites/Assets/Light.png" type="Texture" id=5]
|
||||
[ext_resource path="res://Music/Level_5.mp3" type="AudioStream" id=6]
|
||||
[ext_resource path="res://GUI/Pause Screen.tscn" type="PackedScene" id=7]
|
||||
[ext_resource path="res://Resources/Level_5_Walls_Tileset.tres" type="TileSet" id=8]
|
||||
[ext_resource path="res://Enemies/Glowing Ghost.tscn" type="PackedScene" id=9]
|
||||
|
||||
@@ -47,3 +49,11 @@ shadow_enabled = true
|
||||
position = Vector2( 60, 100 )
|
||||
|
||||
[node name="HUD" parent="." instance=ExtResource( 3 )]
|
||||
|
||||
[node name="Pause Screen" parent="." instance=ExtResource( 7 )]
|
||||
|
||||
[node name="BGM" type="AudioStreamPlayer" parent="."]
|
||||
pause_mode = 2
|
||||
stream = ExtResource( 6 )
|
||||
volume_db = -10.0
|
||||
autoplay = true
|
||||
|
7
Main.gd
@@ -43,8 +43,6 @@ func main_menu_option(option: String) -> void:
|
||||
yield(level_select_menu, 'complete')
|
||||
free_connected_node(level_select_menu, 'level_select_menu_option')
|
||||
level_select_menu = null
|
||||
elif option == 'quit':
|
||||
quit_game()
|
||||
return
|
||||
|
||||
|
||||
@@ -80,8 +78,3 @@ func new_game(level: String) -> void:
|
||||
print('ERROR: Main failed to change scene to Level.')
|
||||
queue_free()
|
||||
return
|
||||
|
||||
|
||||
func quit_game() -> void:
|
||||
get_tree().quit()
|
||||
return
|
||||
|
BIN
Music/Level_5.mp3
Normal file
15
Music/Level_5.mp3.import
Normal file
@@ -0,0 +1,15 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
path="res://.import/Level_5.mp3-ba4eb99298975340155b91bc624c9dea.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Music/Level_5.mp3"
|
||||
dest_files=[ "res://.import/Level_5.mp3-ba4eb99298975340155b91bc624c9dea.mp3str" ]
|
||||
|
||||
[params]
|
||||
|
||||
loop=true
|
||||
loop_offset=0
|
@@ -11,7 +11,7 @@ var hud: CanvasLayer = null
|
||||
var velocity: Vector2 = Vector2.ZERO
|
||||
|
||||
|
||||
func _physics_process(delta) -> void:
|
||||
func _physics_process(delta: float) -> void:
|
||||
var input_vector: Vector2 = Vector2.ZERO
|
||||
|
||||
input_vector.x = Input.get_action_strength('player_right') \
|
||||
|
@@ -13,16 +13,16 @@ animations = [ {
|
||||
"name": "look_right",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [ ExtResource( 2 ) ],
|
||||
"loop": false,
|
||||
"name": "look_left",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [ ExtResource( 4 ) ],
|
||||
"loop": false,
|
||||
"name": "look_up",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [ ExtResource( 2 ) ],
|
||||
"loop": false,
|
||||
"name": "look_left",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [ ExtResource( 3 ) ],
|
||||
"loop": false,
|
||||
"name": "look_down",
|
||||
@@ -196,7 +196,7 @@ rotation = 1.5708
|
||||
shape = SubResource( 2 )
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
collision_layer = 0
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||
|
@@ -1,35 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Quit_Button_Normal.png-8ef707a870fbb906549b9c04aca51694.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/Menus/Main Menu/Quit_Button_Normal.png"
|
||||
dest_files=[ "res://.import/Quit_Button_Normal.png-8ef707a870fbb906549b9c04aca51694.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=2
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=0
|
||||
process/fix_alpha_border=false
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
Before Width: | Height: | Size: 198 B After Width: | Height: | Size: 198 B |
@@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Continue_Button_Disabled.png-d78de544cd73c34c7f7eb2dc3abdf7dc.stex"
|
||||
path="res://.import/Continue_Button_Disabled.png-8fe8af06384188b7f999de7ada9df3d3.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/Menus/Main Menu/Continue_Button_Disabled.png"
|
||||
dest_files=[ "res://.import/Continue_Button_Disabled.png-d78de544cd73c34c7f7eb2dc3abdf7dc.stex" ]
|
||||
source_file="res://Sprites/Menus/Menu Buttons/Continue_Button_Disabled.png"
|
||||
dest_files=[ "res://.import/Continue_Button_Disabled.png-8fe8af06384188b7f999de7ada9df3d3.stex" ]
|
||||
|
||||
[params]
|
||||
|
Before Width: | Height: | Size: 198 B After Width: | Height: | Size: 198 B |
@@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Continue_Button_Normal.png-bae375abbf4f4b45d6c266208834fe62.stex"
|
||||
path="res://.import/Continue_Button_Hover.png-9cac6041c5a7e69211647e0c70964e5a.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/Menus/Main Menu/Continue_Button_Normal.png"
|
||||
dest_files=[ "res://.import/Continue_Button_Normal.png-bae375abbf4f4b45d6c266208834fe62.stex" ]
|
||||
source_file="res://Sprites/Menus/Menu Buttons/Continue_Button_Hover.png"
|
||||
dest_files=[ "res://.import/Continue_Button_Hover.png-9cac6041c5a7e69211647e0c70964e5a.stex" ]
|
||||
|
||||
[params]
|
||||
|
Before Width: | Height: | Size: 198 B After Width: | Height: | Size: 198 B |
35
Sprites/Menus/Menu Buttons/Continue_Button_Normal.png.import
Normal file
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Continue_Button_Normal.png-f76cc4f85643be591eeef91c44b77db6.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/Menus/Menu Buttons/Continue_Button_Normal.png"
|
||||
dest_files=[ "res://.import/Continue_Button_Normal.png-f76cc4f85643be591eeef91c44b77db6.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=2
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=0
|
||||
process/fix_alpha_border=false
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
Before Width: | Height: | Size: 187 B After Width: | Height: | Size: 187 B |
@@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Continue_Button_Hover.png-a1f253d64ecfd8bf3125fc20eedac211.stex"
|
||||
path="res://.import/Credits_Button_Hover.png-92e78723e38df1ce8aab056b2cf1e6ba.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/Menus/Main Menu/Continue_Button_Hover.png"
|
||||
dest_files=[ "res://.import/Continue_Button_Hover.png-a1f253d64ecfd8bf3125fc20eedac211.stex" ]
|
||||
source_file="res://Sprites/Menus/Menu Buttons/Credits_Button_Hover.png"
|
||||
dest_files=[ "res://.import/Credits_Button_Hover.png-92e78723e38df1ce8aab056b2cf1e6ba.stex" ]
|
||||
|
||||
[params]
|
||||
|
Before Width: | Height: | Size: 187 B After Width: | Height: | Size: 187 B |
35
Sprites/Menus/Menu Buttons/Credits_Button_Normal.png.import
Normal file
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Credits_Button_Normal.png-bd887c1cf32d51f26b261f6bec5035f5.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/Menus/Menu Buttons/Credits_Button_Normal.png"
|
||||
dest_files=[ "res://.import/Credits_Button_Normal.png-bd887c1cf32d51f26b261f6bec5035f5.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=2
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=0
|
||||
process/fix_alpha_border=false
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
Before Width: | Height: | Size: 214 B After Width: | Height: | Size: 214 B |
35
Sprites/Menus/Menu Buttons/New_Game_Button_Hover.png.import
Normal file
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/New_Game_Button_Hover.png-fbe8a925d34643a3627f8fcf4734cc69.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/Menus/Menu Buttons/New_Game_Button_Hover.png"
|
||||
dest_files=[ "res://.import/New_Game_Button_Hover.png-fbe8a925d34643a3627f8fcf4734cc69.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=2
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=0
|
||||
process/fix_alpha_border=false
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
Before Width: | Height: | Size: 214 B After Width: | Height: | Size: 214 B |
@@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/New_Game_Button_Normal.png-d790fefce9e111c8384c1274558de218.stex"
|
||||
path="res://.import/New_Game_Button_Normal.png-3d82d8ebb02577e7d4fe14f9846b9272.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/Menus/Main Menu/New_Game_Button_Normal.png"
|
||||
dest_files=[ "res://.import/New_Game_Button_Normal.png-d790fefce9e111c8384c1274558de218.stex" ]
|
||||
source_file="res://Sprites/Menus/Menu Buttons/New_Game_Button_Normal.png"
|
||||
dest_files=[ "res://.import/New_Game_Button_Normal.png-3d82d8ebb02577e7d4fe14f9846b9272.stex" ]
|
||||
|
||||
[params]
|
||||
|
Before Width: | Height: | Size: 157 B After Width: | Height: | Size: 157 B |
@@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Credits_Button_Hover.png-feae450cdb1da5dfbf095a2525d106ef.stex"
|
||||
path="res://.import/Quit_Button_Hover.png-d0805b9eedefe98185d908eb3af13406.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/Menus/Main Menu/Credits_Button_Hover.png"
|
||||
dest_files=[ "res://.import/Credits_Button_Hover.png-feae450cdb1da5dfbf095a2525d106ef.stex" ]
|
||||
source_file="res://Sprites/Menus/Menu Buttons/Quit_Button_Hover.png"
|
||||
dest_files=[ "res://.import/Quit_Button_Hover.png-d0805b9eedefe98185d908eb3af13406.stex" ]
|
||||
|
||||
[params]
|
||||
|
Before Width: | Height: | Size: 157 B After Width: | Height: | Size: 157 B |
@@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Credits_Button_Normal.png-70f4b54edc4bf79c47c73999837fb08c.stex"
|
||||
path="res://.import/Quit_Button_Normal.png-e09f6adc3fcb2cfa22b8f92a66d9af9d.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/Menus/Main Menu/Credits_Button_Normal.png"
|
||||
dest_files=[ "res://.import/Credits_Button_Normal.png-70f4b54edc4bf79c47c73999837fb08c.stex" ]
|
||||
source_file="res://Sprites/Menus/Menu Buttons/Quit_Button_Normal.png"
|
||||
dest_files=[ "res://.import/Quit_Button_Normal.png-e09f6adc3fcb2cfa22b8f92a66d9af9d.stex" ]
|
||||
|
||||
[params]
|
||||
|
BIN
Sprites/Menus/Menu Buttons/Resume_Button_Hover.png
Normal file
After Width: | Height: | Size: 185 B |
@@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Quit_Button_Hover.png-4ac00a5d8967e6600945ed3e09cd67c5.stex"
|
||||
path="res://.import/Resume_Button_Hover.png-16d6b3b8cf961cc169eba2e38ff1486f.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/Menus/Main Menu/Quit_Button_Hover.png"
|
||||
dest_files=[ "res://.import/Quit_Button_Hover.png-4ac00a5d8967e6600945ed3e09cd67c5.stex" ]
|
||||
source_file="res://Sprites/Menus/Menu Buttons/Resume_Button_Hover.png"
|
||||
dest_files=[ "res://.import/Resume_Button_Hover.png-16d6b3b8cf961cc169eba2e38ff1486f.stex" ]
|
||||
|
||||
[params]
|
||||
|
BIN
Sprites/Menus/Menu Buttons/Resume_Button_Normal.png
Normal file
After Width: | Height: | Size: 185 B |
@@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/New_Game_Button_Hover.png-2995d486d73ab842f9ab0197ad065407.stex"
|
||||
path="res://.import/Resume_Button_Normal.png-91bb2916fef4e549618b95e4f28c3f36.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/Menus/Main Menu/New_Game_Button_Hover.png"
|
||||
dest_files=[ "res://.import/New_Game_Button_Hover.png-2995d486d73ab842f9ab0197ad065407.stex" ]
|
||||
source_file="res://Sprites/Menus/Menu Buttons/Resume_Button_Normal.png"
|
||||
dest_files=[ "res://.import/Resume_Button_Normal.png-91bb2916fef4e549618b95e4f28c3f36.stex" ]
|
||||
|
||||
[params]
|
||||
|
Before Width: | Height: | Size: 205 B After Width: | Height: | Size: 205 B |
@@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Settings_Button_Hover.png-6a63221b71cd1196a65f2c4ebb5e53c7.stex"
|
||||
path="res://.import/Settings_Button_Hover.png-55ac1999fc3463176223045b186e56c9.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/Menus/Main Menu/Settings_Button_Hover.png"
|
||||
dest_files=[ "res://.import/Settings_Button_Hover.png-6a63221b71cd1196a65f2c4ebb5e53c7.stex" ]
|
||||
source_file="res://Sprites/Menus/Menu Buttons/Settings_Button_Hover.png"
|
||||
dest_files=[ "res://.import/Settings_Button_Hover.png-55ac1999fc3463176223045b186e56c9.stex" ]
|
||||
|
||||
[params]
|
||||
|
Before Width: | Height: | Size: 205 B After Width: | Height: | Size: 205 B |
@@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Settings_Button_Normal.png-cd2ac6a3ba0ed272788ff0d417bc92a0.stex"
|
||||
path="res://.import/Settings_Button_Normal.png-3b64ed1cf23d3cb3695baa97867a9a5f.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/Menus/Main Menu/Settings_Button_Normal.png"
|
||||
dest_files=[ "res://.import/Settings_Button_Normal.png-cd2ac6a3ba0ed272788ff0d417bc92a0.stex" ]
|
||||
source_file="res://Sprites/Menus/Menu Buttons/Settings_Button_Normal.png"
|
||||
dest_files=[ "res://.import/Settings_Button_Normal.png-3b64ed1cf23d3cb3695baa97867a9a5f.stex" ]
|
||||
|
||||
[params]
|
||||
|