Added intro scene
This commit is contained in:
6
ArkanoidMaterial.tres
Normal file
6
ArkanoidMaterial.tres
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://bv4vhjg83fqpn"]
|
||||||
|
|
||||||
|
[ext_resource type="Shader" path="res://Arkanoid.gdshader" id="1_otqlg"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
shader = ExtResource("1_otqlg")
|
||||||
21
Dunkanoid.gd
21
Dunkanoid.gd
@@ -17,6 +17,7 @@ enum {
|
|||||||
var mode = MODE_WAIT
|
var mode = MODE_WAIT
|
||||||
|
|
||||||
signal update_score
|
signal update_score
|
||||||
|
signal update_lives
|
||||||
|
|
||||||
const levels = {
|
const levels = {
|
||||||
"DUNKANOID": {
|
"DUNKANOID": {
|
||||||
@@ -87,12 +88,15 @@ const levels = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var capture_mode : bool = false
|
var capture_mode : bool = false
|
||||||
var lives : int = 3
|
var lives : int = 3 :
|
||||||
|
set(x):
|
||||||
|
lives = x
|
||||||
|
update_lives.emit()
|
||||||
var score : int = 0 :
|
var score : int = 0 :
|
||||||
set(x):
|
set(x):
|
||||||
score = x
|
score = x
|
||||||
update_score.emit()
|
update_score.emit()
|
||||||
var level : String = "SATERRANOID"
|
var level : String = "DUNKANOID"
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
Input.set_mouse_mode(Input.MOUSE_MODE_CONFINED_HIDDEN)
|
Input.set_mouse_mode(Input.MOUSE_MODE_CONFINED_HIDDEN)
|
||||||
@@ -114,6 +118,10 @@ func new_level() -> void:
|
|||||||
remove_child(ball)
|
remove_child(ball)
|
||||||
ball.queue_free()
|
ball.queue_free()
|
||||||
balls.clear()
|
balls.clear()
|
||||||
|
for brick in bricks:
|
||||||
|
remove_child(brick)
|
||||||
|
brick.queue_free()
|
||||||
|
bricks.clear()
|
||||||
|
|
||||||
$Start/Title.text = level
|
$Start/Title.text = level
|
||||||
$Start/Round.text = "ROUND %3d" % [levels[level].round]
|
$Start/Round.text = "ROUND %3d" % [levels[level].round]
|
||||||
@@ -187,6 +195,11 @@ func _on_hit_floor(ball) -> void:
|
|||||||
add_child(ball)
|
add_child(ball)
|
||||||
balls.push_back(ball)
|
balls.push_back(ball)
|
||||||
$StartRound.play()
|
$StartRound.play()
|
||||||
|
$Start.visible = true
|
||||||
|
mode = MODE_WAIT
|
||||||
|
lives -= 1
|
||||||
|
if lives <= 0:
|
||||||
|
get_tree().change_scene_to_file("res://Intro.tscn")
|
||||||
|
|
||||||
|
|
||||||
func _on_round_won_finished() -> void:
|
func _on_round_won_finished() -> void:
|
||||||
@@ -268,3 +281,7 @@ func load_level(data) -> void:
|
|||||||
func _on_start_round_finished() -> void:
|
func _on_start_round_finished() -> void:
|
||||||
$Start.visible = false
|
$Start.visible = false
|
||||||
mode = MODE_PLAY
|
mode = MODE_PLAY
|
||||||
|
|
||||||
|
|
||||||
|
func _on_update_lives() -> void:
|
||||||
|
$LivesBox.text = "%d" % lives
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=16 format=3 uid="uid://4q0epdnb0x4s"]
|
[gd_scene load_steps=15 format=3 uid="uid://4q0epdnb0x4s"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Dunkanoid.gd" id="1_kv4if"]
|
[ext_resource type="Script" path="res://Dunkanoid.gd" id="1_kv4if"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dndemjw7up2r6" path="res://Paddle/Paddle.tscn" id="2_26c5i"]
|
[ext_resource type="PackedScene" uid="uid://dndemjw7up2r6" path="res://Paddle/Paddle.tscn" id="2_26c5i"]
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
[ext_resource type="AudioStream" uid="uid://818gpo5mes22" path="res://Sounds/Start.wav" id="6_s0pha"]
|
[ext_resource type="AudioStream" uid="uid://818gpo5mes22" path="res://Sounds/Start.wav" id="6_s0pha"]
|
||||||
[ext_resource type="AudioStream" uid="uid://bh2blx1uovmyt" path="res://Sounds/Win.wav" id="7_xrjor"]
|
[ext_resource type="AudioStream" uid="uid://bh2blx1uovmyt" path="res://Sounds/Win.wav" id="7_xrjor"]
|
||||||
[ext_resource type="Theme" uid="uid://cfvww0geatnnk" path="res://MainTheme.tres" id="8_wcf7g"]
|
[ext_resource type="Theme" uid="uid://cfvww0geatnnk" path="res://MainTheme.tres" id="8_wcf7g"]
|
||||||
[ext_resource type="Shader" path="res://Arkanoid.gdshader" id="9_20w5w"]
|
[ext_resource type="Material" uid="uid://bv4vhjg83fqpn" path="res://ArkanoidMaterial.tres" id="9_ouuij"]
|
||||||
|
|
||||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_yf4r2"]
|
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_yf4r2"]
|
||||||
rough = true
|
rough = true
|
||||||
@@ -29,9 +29,6 @@ distance = -432.0
|
|||||||
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_48dqy"]
|
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_48dqy"]
|
||||||
distance = -360.0
|
distance = -360.0
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_6dsnv"]
|
|
||||||
shader = ExtResource("9_20w5w")
|
|
||||||
|
|
||||||
[node name="Dunkanoid" type="Node2D"]
|
[node name="Dunkanoid" type="Node2D"]
|
||||||
texture_filter = 1
|
texture_filter = 1
|
||||||
script = ExtResource("1_kv4if")
|
script = ExtResource("1_kv4if")
|
||||||
@@ -70,21 +67,46 @@ stream = ExtResource("6_s0pha")
|
|||||||
stream = ExtResource("7_xrjor")
|
stream = ExtResource("7_xrjor")
|
||||||
|
|
||||||
[node name="ScoreLabel" type="Label" parent="."]
|
[node name="ScoreLabel" type="Label" parent="."]
|
||||||
offset_left = 509.0
|
offset_left = 448.0
|
||||||
offset_top = 29.0
|
offset_top = 29.0
|
||||||
offset_right = 560.0
|
offset_right = 639.0
|
||||||
offset_bottom = 52.0
|
offset_bottom = 52.0
|
||||||
theme = ExtResource("8_wcf7g")
|
theme = ExtResource("8_wcf7g")
|
||||||
text = "SCORE"
|
text = "SCORE"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
[node name="ScoreBox" type="Label" parent="."]
|
[node name="ScoreBox" type="Label" parent="."]
|
||||||
offset_left = 479.0
|
offset_left = 448.0
|
||||||
offset_top = 54.0
|
offset_top = 54.0
|
||||||
offset_right = 597.0
|
offset_right = 639.0
|
||||||
offset_bottom = 77.0
|
offset_bottom = 77.0
|
||||||
theme = ExtResource("8_wcf7g")
|
theme = ExtResource("8_wcf7g")
|
||||||
theme_type_variation = &"Numbers"
|
theme_type_variation = &"Numbers"
|
||||||
text = "00000000"
|
text = "00000000"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="LivesLabel" type="Label" parent="."]
|
||||||
|
offset_left = 448.0
|
||||||
|
offset_top = 82.0
|
||||||
|
offset_right = 639.0
|
||||||
|
offset_bottom = 105.0
|
||||||
|
theme = ExtResource("8_wcf7g")
|
||||||
|
text = "LIVES"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="LivesBox" type="Label" parent="."]
|
||||||
|
offset_left = 448.0
|
||||||
|
offset_top = 105.0
|
||||||
|
offset_right = 639.0
|
||||||
|
offset_bottom = 128.0
|
||||||
|
theme = ExtResource("8_wcf7g")
|
||||||
|
theme_type_variation = &"Numbers"
|
||||||
|
text = "3"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
[node name="ColorRect" type="ColorRect" parent="."]
|
[node name="ColorRect" type="ColorRect" parent="."]
|
||||||
offset_right = 16.0
|
offset_right = 16.0
|
||||||
@@ -103,7 +125,7 @@ offset_bottom = 16.0
|
|||||||
z_index = 1
|
z_index = 1
|
||||||
|
|
||||||
[node name="Title" type="Label" parent="Start"]
|
[node name="Title" type="Label" parent="Start"]
|
||||||
material = SubResource("ShaderMaterial_6dsnv")
|
material = ExtResource("9_ouuij")
|
||||||
offset_left = 16.0
|
offset_left = 16.0
|
||||||
offset_top = 199.0
|
offset_top = 199.0
|
||||||
offset_right = 432.0
|
offset_right = 432.0
|
||||||
@@ -150,6 +172,7 @@ offset_right = 448.0
|
|||||||
offset_bottom = 360.0
|
offset_bottom = 360.0
|
||||||
color = Color(0, 0, 1, 1)
|
color = Color(0, 0, 1, 1)
|
||||||
|
|
||||||
|
[connection signal="update_lives" from="." to="." method="_on_update_lives"]
|
||||||
[connection signal="update_score" from="." to="." method="_on_update_score"]
|
[connection signal="update_score" from="." to="." method="_on_update_score"]
|
||||||
[connection signal="finished" from="StartRound" to="." method="_on_start_round_finished"]
|
[connection signal="finished" from="StartRound" to="." method="_on_start_round_finished"]
|
||||||
[connection signal="finished" from="RoundWon" to="." method="_on_round_won_finished"]
|
[connection signal="finished" from="RoundWon" to="." method="_on_round_won_finished"]
|
||||||
|
|||||||
8
Intro.gd
Normal file
8
Intro.gd
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
extends Node2D
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
|
||||||
|
|
||||||
|
func _on_button_pressed() -> void:
|
||||||
|
get_tree().change_scene_to_file("res://Dunkanoid.tscn")
|
||||||
|
|
||||||
59
Intro.tscn
Normal file
59
Intro.tscn
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
[gd_scene load_steps=5 format=3 uid="uid://c2oboya05agti"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://Intro.gd" id="1_1hnh1"]
|
||||||
|
[ext_resource type="Material" uid="uid://bv4vhjg83fqpn" path="res://ArkanoidMaterial.tres" id="2_a44d8"]
|
||||||
|
[ext_resource type="Theme" uid="uid://cfvww0geatnnk" path="res://MainTheme.tres" id="3_8d2ix"]
|
||||||
|
|
||||||
|
[sub_resource type="Curve" id="Curve_jhhjd"]
|
||||||
|
min_value = -200.0
|
||||||
|
max_value = 200.0
|
||||||
|
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
|
||||||
|
point_count = 2
|
||||||
|
|
||||||
|
[node name="Intro" type="Node2D"]
|
||||||
|
script = ExtResource("1_1hnh1")
|
||||||
|
|
||||||
|
[node name="CPUParticles2D" type="CPUParticles2D" parent="."]
|
||||||
|
position = Vector2(311, 164)
|
||||||
|
amount = 100
|
||||||
|
speed_scale = 0.1
|
||||||
|
randomness = 1.0
|
||||||
|
direction = Vector2(0, 0)
|
||||||
|
spread = 180.0
|
||||||
|
gravity = Vector2(0, 0)
|
||||||
|
initial_velocity_min = 80.81
|
||||||
|
initial_velocity_max = 838.38
|
||||||
|
linear_accel_min = 100.0
|
||||||
|
linear_accel_max = 100.0
|
||||||
|
linear_accel_curve = SubResource("Curve_jhhjd")
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="."]
|
||||||
|
material = ExtResource("2_a44d8")
|
||||||
|
offset_top = 88.0
|
||||||
|
offset_right = 640.0
|
||||||
|
offset_bottom = 111.0
|
||||||
|
theme = ExtResource("3_8d2ix")
|
||||||
|
theme_type_variation = &"Arkanoid"
|
||||||
|
text = "DUNKANOID"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="Label2" type="Label" parent="."]
|
||||||
|
material = ExtResource("2_a44d8")
|
||||||
|
offset_top = 113.0
|
||||||
|
offset_right = 640.0
|
||||||
|
offset_bottom = 138.0
|
||||||
|
theme = ExtResource("3_8d2ix")
|
||||||
|
theme_type_variation = &"Arkanoid"
|
||||||
|
text = "REVENGE OF AAH"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="Button" type="Button" parent="."]
|
||||||
|
offset_left = 288.0
|
||||||
|
offset_top = 186.0
|
||||||
|
offset_right = 335.0
|
||||||
|
offset_bottom = 217.0
|
||||||
|
text = "PLAY"
|
||||||
|
|
||||||
|
[connection signal="pressed" from="Button" to="." method="_on_button_pressed"]
|
||||||
@@ -11,7 +11,7 @@ config_version=5
|
|||||||
[application]
|
[application]
|
||||||
|
|
||||||
config/name="Dunkanoid"
|
config/name="Dunkanoid"
|
||||||
run/main_scene="res://Dunkanoid.tscn"
|
run/main_scene="res://Intro.tscn"
|
||||||
config/features=PackedStringArray("4.2", "Forward Plus")
|
config/features=PackedStringArray("4.2", "Forward Plus")
|
||||||
boot_splash/show_image=false
|
boot_splash/show_image=false
|
||||||
config/icon="res://icon.svg"
|
config/icon="res://icon.svg"
|
||||||
|
|||||||
Reference in New Issue
Block a user