Merge branch 'menuing'
* added pause menu in level and ability to load levels from main menu * implemented level select, options menu, different audio buses & sliders Co-authored-by: KingGurke <Kukumberia@gmail.com> Co-committed-by: Manuel <git@huesers.de>
This commit is contained in:
commit
e51e026289
17 changed files with 715 additions and 131 deletions
|
|
@ -1,48 +0,0 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://cdlbh3smpgg42"]
|
||||
|
||||
[ext_resource type="Script" path="res://src/game/hud_controller.gd" id="1_ckegs"]
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_pv71o"]
|
||||
font_size = 40
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_cu1nb"]
|
||||
font_size = 34
|
||||
|
||||
[node name="hud" type="Control" node_paths=PackedStringArray("speed", "distance")]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_ckegs")
|
||||
speed = NodePath("Speedometer")
|
||||
distance = NodePath("Distancemeter")
|
||||
|
||||
[node name="Speedometer" type="Label" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_left = 1.0
|
||||
anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -220.0
|
||||
offset_top = -103.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
text = "speed"
|
||||
label_settings = SubResource("LabelSettings_pv71o")
|
||||
horizontal_alignment = 2
|
||||
vertical_alignment = 2
|
||||
|
||||
[node name="Distancemeter" type="Label" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -20.0
|
||||
offset_right = 20.0
|
||||
offset_bottom = 23.0
|
||||
grow_horizontal = 2
|
||||
text = "distance"
|
||||
label_settings = SubResource("LabelSettings_cu1nb")
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
extends Control
|
||||
#references
|
||||
## reference to the speedometer label
|
||||
@export var speed: Label
|
||||
## reference to the distance meter label
|
||||
@export var distance: Label
|
||||
|
||||
func _on_player_speed_changed(speed_float:float):
|
||||
var speed_string = "%.f" % speed_float
|
||||
# print_debug("changing speed display to ", speed_string)
|
||||
speed.set_text(speed_string)
|
||||
|
||||
func _on_level_distance_changed(distance_float):
|
||||
var distance_string ="%.f" % distance_float
|
||||
distance.set_text(distance_string)
|
||||
|
|
@ -1,94 +0,0 @@
|
|||
[gd_scene load_steps=11 format=3 uid="uid://c77xk0mywwt5f"]
|
||||
|
||||
[ext_resource type="Script" path="res://src/game/level.gd" id="1_hv75i"]
|
||||
[ext_resource type="PackedScene" uid="uid://ckau5s2tsb3oc" path="res://src/game/player.tscn" id="2_5nf51"]
|
||||
[ext_resource type="Texture2D" uid="uid://cqb3eu4om1fj5" path="res://assets/bg_100_bk.png" id="2_o6466"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdlbh3smpgg42" path="res://src/game/hud.tscn" id="2_w64nx"]
|
||||
[ext_resource type="Texture2D" uid="uid://ds0un04pocx6i" path="res://assets/track_90_bk.png" id="3_fhrup"]
|
||||
[ext_resource type="Texture2D" uid="uid://dmcrms0qu0mtt" path="res://assets/finish2.png" id="4_rxurh"]
|
||||
[ext_resource type="Texture2D" uid="uid://bq151lkkfdlf4" path="res://assets/sign.png" id="7_g24mp"]
|
||||
[ext_resource type="AudioStream" uid="uid://dh5jxxwim7ra8" path="res://assets/sounds/music/death_by_waveshaper.wav" id="8_ppkte"]
|
||||
[ext_resource type="Texture2D" uid="uid://f1rqgalvu8yn" path="res://assets/trail (2).png" id="9_g4oyh"]
|
||||
|
||||
[sub_resource type="Curve2D" id="Curve2D_ll8bj"]
|
||||
_data = {
|
||||
"points": PackedVector2Array(-96.196, 0.475433, 96.196, -0.475433, 59, -56, -752, -468, 752, 468, 2353, -2, 962.225, -826.544, -962.225, 826.544, 2317, 1760, 370.586, 534.912, -370.586, -534.912, -2118, 1739, -352, 856, 352, -856, -2086, 159, -428, -220, 428, 220, -810, -253, -102.358, -2.55713, 102.358, 2.55713, 59, -56)
|
||||
}
|
||||
point_count = 7
|
||||
|
||||
[node name="level1" type="Node2D" node_paths=PackedStringArray("path", "line", "player", "finish")]
|
||||
script = ExtResource("1_hv75i")
|
||||
starting_width = 400.0
|
||||
shrink_factor = 5.0
|
||||
path = NodePath("TrackPath")
|
||||
line = NodePath("TrackLine")
|
||||
player = NodePath("player")
|
||||
finish = NodePath("FinishLine")
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="."]
|
||||
self_modulate = Color(0.827451, 0.521569, 0.313726, 1)
|
||||
offset_left = -6505.0
|
||||
offset_top = -3355.0
|
||||
offset_right = 19845.0
|
||||
offset_bottom = 12825.0
|
||||
scale = Vector2(0.5, 0.5)
|
||||
texture = ExtResource("2_o6466")
|
||||
stretch_mode = 1
|
||||
|
||||
[node name="TrackPath" type="Path2D" parent="."]
|
||||
curve = SubResource("Curve2D_ll8bj")
|
||||
|
||||
[node name="TrackLine" type="Line2D" parent="."]
|
||||
self_modulate = Color(0.364706, 0.643137, 0.901961, 1)
|
||||
texture_repeat = 2
|
||||
texture = ExtResource("3_fhrup")
|
||||
texture_mode = 2
|
||||
begin_cap_mode = 2
|
||||
|
||||
[node name="FinishLine" type="Line2D" parent="."]
|
||||
texture_repeat = 2
|
||||
width = 40.0
|
||||
texture = ExtResource("4_rxurh")
|
||||
texture_mode = 1
|
||||
begin_cap_mode = 2
|
||||
end_cap_mode = 2
|
||||
round_precision = 32
|
||||
antialiased = true
|
||||
|
||||
[node name="player" parent="." instance=ExtResource("2_5nf51")]
|
||||
position = Vector2(27, -55)
|
||||
brake_strength = 800.0
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="hud" parent="CanvasLayer" instance=ExtResource("2_w64nx")]
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="curveSign" type="PointLight2D" parent="."]
|
||||
position = Vector2(-1914, -560)
|
||||
scale = Vector2(0.1, 0.1)
|
||||
color = Color(1, 0.0627451, 0.694118, 1)
|
||||
energy = 20.0
|
||||
texture = ExtResource("7_g24mp")
|
||||
|
||||
[node name="curveSign2" type="PointLight2D" parent="."]
|
||||
position = Vector2(-1997, -491)
|
||||
scale = Vector2(0.1, 0.1)
|
||||
color = Color(1, 0.0627451, 0.694118, 1)
|
||||
energy = 20.0
|
||||
texture = ExtResource("7_g24mp")
|
||||
|
||||
[node name="level_music" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("8_ppkte")
|
||||
volume_db = -10.0
|
||||
autoplay = true
|
||||
|
||||
[node name="EditorLight" type="PointLight2D" parent="."]
|
||||
position = Vector2(29.9961, 54.4995)
|
||||
scale = Vector2(7.6892, 4.79473)
|
||||
editor_only = true
|
||||
texture = ExtResource("9_g4oyh")
|
||||
texture_scale = 50.0
|
||||
|
||||
[connection signal="distance_changed" from="." to="CanvasLayer/hud" method="_on_level_distance_changed"]
|
||||
[connection signal="speed_changed" from="player" to="CanvasLayer/hud" method="_on_player_speed_changed"]
|
||||
|
|
@ -21,6 +21,8 @@ extends Node2D
|
|||
## reference to the line node used to draw the finish line
|
||||
@export var finish: Line2D
|
||||
|
||||
@export var menu: Control
|
||||
|
||||
signal distance_changed(new_distance)
|
||||
|
||||
#variables
|
||||
|
|
@ -31,6 +33,7 @@ var lap_distance = 0.
|
|||
var start
|
||||
var finish_right
|
||||
var finish_left
|
||||
var paused = false
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
|
|
@ -53,6 +56,10 @@ func _ready():
|
|||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
|
||||
if Input.is_action_just_pressed("pause") && running:
|
||||
pause()
|
||||
|
||||
if (running):
|
||||
# shrinking the track
|
||||
width -= shrink_factor * delta
|
||||
|
|
@ -86,6 +93,16 @@ func _process(delta):
|
|||
distance_changed.emit(get_total_distance())
|
||||
# print_debug("player distance driven: ", get_total_distance(), " distance since last check: ", off_diff)
|
||||
|
||||
func pause():
|
||||
if !paused:
|
||||
Engine.time_scale = 0
|
||||
menu.show()
|
||||
paused = true
|
||||
else:
|
||||
Engine.time_scale = 1
|
||||
menu.hide()
|
||||
paused = false
|
||||
|
||||
|
||||
func update_line():
|
||||
line.set_width(width)
|
||||
141
src/game/levels/level_1.tscn
Normal file
141
src/game/levels/level_1.tscn
Normal file
|
|
@ -0,0 +1,141 @@
|
|||
[gd_scene load_steps=11 format=3 uid="uid://c77xk0mywwt5f"]
|
||||
|
||||
[ext_resource type="Script" path="res://src/game/levels/level.gd" id="1_s3rsn"]
|
||||
[ext_resource type="Texture2D" uid="uid://dio3rrptd6w7c" path="res://assets/bg2.png" id="2_57sr6"]
|
||||
[ext_resource type="Texture2D" uid="uid://ds0un04pocx6i" path="res://assets/track90.png" id="3_en5wc"]
|
||||
[ext_resource type="Texture2D" uid="uid://dmcrms0qu0mtt" path="res://assets/finish2.png" id="4_qeube"]
|
||||
[ext_resource type="PackedScene" uid="uid://ckau5s2tsb3oc" path="res://src/game/player.tscn" id="5_2n8nj"]
|
||||
[ext_resource type="PackedScene" uid="uid://dyo5dblkfivwn" path="res://src/gui/menu/level.tscn" id="6_hs25h"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdlbh3smpgg42" path="res://src/gui/hud/hud.tscn" id="6_r1i0q"]
|
||||
[ext_resource type="Texture2D" uid="uid://bq151lkkfdlf4" path="res://assets/sign.png" id="7_xmahe"]
|
||||
[ext_resource type="AudioStream" uid="uid://dh5jxxwim7ra8" path="res://assets/sounds/music/death_by_waveshaper.wav" id="8_qlkhp"]
|
||||
|
||||
[sub_resource type="Curve2D" id="Curve2D_ll8bj"]
|
||||
_data = {
|
||||
"points": PackedVector2Array(-96.196, 0.475433, 96.196, -0.475433, 59, -56, -752, -468, 752, 468, 2353, -2, 962.225, -826.544, -962.225, 826.544, 2317, 1760, 370.586, 534.912, -370.586, -534.912, -2118, 1739, -352, 856, 352, -856, -2086, 159, -428, -220, 428, 220, -810, -253, -102.358, -2.55713, 102.358, 2.55713, 59, -56)
|
||||
}
|
||||
point_count = 7
|
||||
|
||||
[node name="level1" type="Node2D" node_paths=PackedStringArray("path", "line", "player", "finish", "menu")]
|
||||
script = ExtResource("1_s3rsn")
|
||||
starting_width = 400.0
|
||||
shrink_factor = 5.0
|
||||
path = NodePath("TrackPath")
|
||||
line = NodePath("TrackLine")
|
||||
player = NodePath("player")
|
||||
finish = NodePath("FinishLine")
|
||||
menu = NodePath("CanvasLayer/menu_box/level")
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="."]
|
||||
self_modulate = Color(0.827451, 0.521569, 0.313726, 1)
|
||||
offset_left = -6505.0
|
||||
offset_top = -3355.0
|
||||
offset_right = 19845.0
|
||||
offset_bottom = 12825.0
|
||||
scale = Vector2(0.5, 0.5)
|
||||
texture = ExtResource("2_57sr6")
|
||||
stretch_mode = 1
|
||||
|
||||
[node name="TrackPath" type="Path2D" parent="."]
|
||||
curve = SubResource("Curve2D_ll8bj")
|
||||
|
||||
[node name="TrackLine" type="Line2D" parent="."]
|
||||
self_modulate = Color(0.164706, 0.658824, 0.858824, 1)
|
||||
texture_repeat = 2
|
||||
texture = ExtResource("3_en5wc")
|
||||
texture_mode = 2
|
||||
begin_cap_mode = 2
|
||||
|
||||
[node name="FinishLine" type="Line2D" parent="."]
|
||||
texture_repeat = 2
|
||||
width = 40.0
|
||||
texture = ExtResource("4_qeube")
|
||||
texture_mode = 1
|
||||
begin_cap_mode = 2
|
||||
end_cap_mode = 2
|
||||
round_precision = 32
|
||||
antialiased = true
|
||||
|
||||
[node name="player" parent="." instance=ExtResource("5_2n8nj")]
|
||||
position = Vector2(27, -55)
|
||||
brake_strength = 800.0
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="hud" parent="CanvasLayer" instance=ExtResource("6_r1i0q")]
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="menu_box" type="Control" parent="CanvasLayer"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -20.0
|
||||
offset_top = -20.0
|
||||
offset_right = 20.0
|
||||
offset_bottom = 20.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="level" parent="CanvasLayer/menu_box" instance=ExtResource("6_hs25h")]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
|
||||
[node name="Node2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="curveSign3" type="PointLight2D" parent="Node2D"]
|
||||
position = Vector2(-1720, 2263)
|
||||
rotation = -1.182
|
||||
scale = Vector2(0.3, 0.3)
|
||||
color = Color(0.690196, 0.545098, 0.0509804, 1)
|
||||
energy = 20.0
|
||||
texture = ExtResource("7_xmahe")
|
||||
|
||||
[node name="curveSign" type="PointLight2D" parent="Node2D"]
|
||||
position = Vector2(-2040, 2122)
|
||||
rotation = -1.27745
|
||||
scale = Vector2(0.3, 0.3)
|
||||
color = Color(0.690196, 0.545098, 0.0509804, 1)
|
||||
energy = 20.0
|
||||
texture = ExtResource("7_xmahe")
|
||||
|
||||
[node name="curveSign2" type="PointLight2D" parent="Node2D"]
|
||||
position = Vector2(-2337, -124)
|
||||
scale = Vector2(0.3, 0.3)
|
||||
color = Color(0.933333, 0, 0.0235294, 1)
|
||||
energy = 20.0
|
||||
texture = ExtResource("7_xmahe")
|
||||
|
||||
[node name="curveSign4" type="PointLight2D" parent="Node2D"]
|
||||
position = Vector2(-2447, 113)
|
||||
scale = Vector2(0.3, 0.3)
|
||||
color = Color(0.933333, 0, 0.0235294, 1)
|
||||
energy = 20.0
|
||||
texture = ExtResource("7_xmahe")
|
||||
|
||||
[node name="curveSign5" type="PointLight2D" parent="Node2D"]
|
||||
position = Vector2(2664, -97.0001)
|
||||
rotation = 1.74374
|
||||
scale = Vector2(0.3, 0.3)
|
||||
color = Color(0.690196, 0.545098, 0.0509804, 1)
|
||||
energy = 20.0
|
||||
texture = ExtResource("7_xmahe")
|
||||
|
||||
[node name="curveSign6" type="PointLight2D" parent="Node2D"]
|
||||
position = Vector2(2899, 56)
|
||||
rotation = 2.04177
|
||||
scale = Vector2(0.3, 0.3)
|
||||
color = Color(0.690196, 0.545098, 0.0509804, 1)
|
||||
energy = 20.0
|
||||
texture = ExtResource("7_xmahe")
|
||||
|
||||
[node name="level_music" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("8_qlkhp")
|
||||
volume_db = -29.953
|
||||
autoplay = true
|
||||
bus = &"Music"
|
||||
|
||||
[connection signal="distance_changed" from="." to="CanvasLayer/hud" method="_on_level_distance_changed"]
|
||||
[connection signal="speed_changed" from="player" to="CanvasLayer/hud" method="_on_player_speed_changed"]
|
||||
|
|
@ -64,16 +64,19 @@ rotation_smoothing_speed = 10.0
|
|||
|
||||
[node name="engine_sounds" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("4_4ajo8")
|
||||
volume_db = -40.467
|
||||
volume_db = -30.204
|
||||
autoplay = true
|
||||
bus = &"Sfx"
|
||||
|
||||
[node name="damage_sounds" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("5_rvolc")
|
||||
volume_db = -25.297
|
||||
bus = &"Sfx"
|
||||
|
||||
[node name="death_sound" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("6_i0vg5")
|
||||
volume_db = -25.297
|
||||
bus = &"Sfx"
|
||||
|
||||
[node name="Trail2D" parent="." instance=ExtResource("8_shyhm")]
|
||||
light_mask = 7
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ func _process(delta):
|
|||
|
||||
if !dead:
|
||||
var acc_d = acc * delta
|
||||
var rev_d = rev * delta
|
||||
# var rev_d = rev * delta
|
||||
var turn_d = turn_speed * delta
|
||||
var brake_d = brake_strength * delta
|
||||
var turn_factor = 1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue