main_menu
This commit is contained in:
@@ -0,0 +1,4 @@
|
|||||||
|
[gd_resource type="Theme" format=3 uid="uid://bbasvjlc0fdo8"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
default_font_size = 30
|
||||||
+1
-1
@@ -11,7 +11,7 @@ config_version=5
|
|||||||
[application]
|
[application]
|
||||||
|
|
||||||
config/name="pong"
|
config/name="pong"
|
||||||
run/main_scene="res://scenes/playground/Playground.tscn"
|
run/main_scene="res://scenes/main_menu/MainMenu.tscn"
|
||||||
config/features=PackedStringArray("4.2", "Forward Plus")
|
config/features=PackedStringArray("4.2", "Forward Plus")
|
||||||
config/icon="res://icon.svg"
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
extends Button
|
||||||
|
|
||||||
|
|
||||||
|
func _on_pressed():
|
||||||
|
get_tree().quit()
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
[gd_scene load_steps=4 format=3 uid="uid://c71cjy50eonxj"]
|
||||||
|
|
||||||
|
[ext_resource type="Theme" uid="uid://bbasvjlc0fdo8" path="res://default_theme.tres" id="1_gow2p"]
|
||||||
|
[ext_resource type="Script" path="res://scenes/main_menu/NewGameButton.gd" id="2_xmp3k"]
|
||||||
|
[ext_resource type="Script" path="res://scenes/main_menu/ExitButton.gd" id="3_r42kx"]
|
||||||
|
|
||||||
|
[node name="MainMenu" type="Node2D"]
|
||||||
|
|
||||||
|
[node name="NewGameContainer" type="PanelContainer" parent="."]
|
||||||
|
offset_right = 1200.0
|
||||||
|
offset_bottom = 300.0
|
||||||
|
|
||||||
|
[node name="NewGameCenter" type="CenterContainer" parent="NewGameContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="NewGameButton" type="Button" parent="NewGameContainer/NewGameCenter"]
|
||||||
|
custom_minimum_size = Vector2(300, 100)
|
||||||
|
layout_mode = 2
|
||||||
|
theme = ExtResource("1_gow2p")
|
||||||
|
text = "New Game"
|
||||||
|
script = ExtResource("2_xmp3k")
|
||||||
|
|
||||||
|
[node name="ExitContainer" type="PanelContainer" parent="."]
|
||||||
|
offset_left = 1.0
|
||||||
|
offset_top = 300.0
|
||||||
|
offset_right = 1201.0
|
||||||
|
offset_bottom = 600.0
|
||||||
|
|
||||||
|
[node name="ExitCenter" type="CenterContainer" parent="ExitContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="ExitButton" type="Button" parent="ExitContainer/ExitCenter"]
|
||||||
|
custom_minimum_size = Vector2(300, 100)
|
||||||
|
layout_mode = 2
|
||||||
|
theme = ExtResource("1_gow2p")
|
||||||
|
text = "Exit"
|
||||||
|
script = ExtResource("3_r42kx")
|
||||||
|
|
||||||
|
[connection signal="pressed" from="NewGameContainer/NewGameCenter/NewGameButton" to="NewGameContainer/NewGameCenter/NewGameButton" method="_on_pressed"]
|
||||||
|
[connection signal="pressed" from="ExitContainer/ExitCenter/ExitButton" to="ExitContainer/ExitCenter/ExitButton" method="_on_pressed"]
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
extends Button
|
||||||
|
|
||||||
|
func _on_pressed():
|
||||||
|
get_tree().change_scene_to_file("res://scenes/playground/Playground.tscn")
|
||||||
@@ -10,38 +10,58 @@ func start():
|
|||||||
add_child(ball)
|
add_child(ball)
|
||||||
|
|
||||||
func set_score():
|
func set_score():
|
||||||
get_node("Score").text = "{right} - {left}".format({
|
get_node("Score").text = "{left} - {right}".format({
|
||||||
"left": left_point,
|
"left": left_point,
|
||||||
"right": right_point
|
"right": right_point
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
func new_round(ball):
|
func new_round(ball):
|
||||||
remove_child(ball)
|
remove_child(ball)
|
||||||
set_score()
|
set_score()
|
||||||
start()
|
start()
|
||||||
|
|
||||||
|
|
||||||
|
func body_is_ball(body):
|
||||||
|
return body.name == "Ball"
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
start()
|
start()
|
||||||
|
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
func _on_goal_area_left_body_entered(body):
|
|
||||||
if body.name == "Ball":
|
|
||||||
left_point += 1
|
|
||||||
new_round(body)
|
|
||||||
|
|
||||||
func _on_goal_area_right_body_entered(body):
|
func _on_goal_area_left_body_entered(body):
|
||||||
if body.name == "Ball":
|
if body_is_ball(body):
|
||||||
right_point += 1
|
right_point += 1
|
||||||
new_round(body)
|
new_round(body)
|
||||||
|
|
||||||
|
|
||||||
func _on_racket_left_body_entered(body):
|
func _on_goal_area_right_body_entered(body):
|
||||||
if body.name == "Ball":
|
if body_is_ball(body):
|
||||||
body.linear_velocity = body.linear_velocity * -1
|
left_point += 1
|
||||||
|
new_round(body)
|
||||||
|
|
||||||
|
|
||||||
|
func ball_to_racket(body):
|
||||||
|
if body_is_ball(body):
|
||||||
|
var new_linear_velocity = body.linear_velocity * -1
|
||||||
|
|
||||||
|
#if new_linear_velocity.y == 300 and new_linear_velocity.x == 300:
|
||||||
|
# new_linear_velocity.x -= 10
|
||||||
|
# new_linear_velocity.y += 10
|
||||||
|
|
||||||
|
body.linear_velocity = new_linear_velocity
|
||||||
|
print_debug(new_linear_velocity)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_racket_left_body_entered(body):
|
||||||
|
ball_to_racket(body)
|
||||||
|
|
||||||
func _on_racket_right_body_entered(body):
|
func _on_racket_right_body_entered(body):
|
||||||
if body.name == "Ball":
|
ball_to_racket(body)
|
||||||
body.linear_velocity = body.linear_velocity * -1
|
|
||||||
|
|
||||||
|
|||||||
@@ -40,13 +40,22 @@ shape = SubResource("RectangleShape2D_u7af8")
|
|||||||
position = Vector2(128, 224)
|
position = Vector2(128, 224)
|
||||||
collision_layer = 255
|
collision_layer = 255
|
||||||
collision_mask = 255
|
collision_mask = 255
|
||||||
max_contacts_reported = 1000
|
custom_integrator = true
|
||||||
|
continuous_cd = 2
|
||||||
|
max_contacts_reported = 1
|
||||||
contact_monitor = true
|
contact_monitor = true
|
||||||
metadata/UP_KEY = "left_up"
|
metadata/UP_KEY = "left_up"
|
||||||
metadata/DOWN_KEY = "left_down"
|
metadata/DOWN_KEY = "left_down"
|
||||||
|
|
||||||
[node name="RacketRight" parent="." instance=ExtResource("1_ywul3")]
|
[node name="RacketRight" parent="." instance=ExtResource("1_ywul3")]
|
||||||
position = Vector2(1032, 224)
|
position = Vector2(1032, 224)
|
||||||
|
collision_layer = 255
|
||||||
|
collision_mask = 255
|
||||||
|
freeze = true
|
||||||
|
custom_integrator = true
|
||||||
|
continuous_cd = 1
|
||||||
|
max_contacts_reported = 1
|
||||||
|
contact_monitor = true
|
||||||
metadata/UP_KEY = "right_up"
|
metadata/UP_KEY = "right_up"
|
||||||
metadata/DOWN_KEY = "right_down"
|
metadata/DOWN_KEY = "right_down"
|
||||||
|
|
||||||
|
|||||||
@@ -3,9 +3,6 @@ extends RigidBody2D
|
|||||||
|
|
||||||
const SPEED = 300.0
|
const SPEED = 300.0
|
||||||
|
|
||||||
func _ready():
|
|
||||||
contact_monitor = true
|
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
if Input.is_action_pressed(get_meta("UP_KEY")):
|
if Input.is_action_pressed(get_meta("UP_KEY")):
|
||||||
move_and_collide(Vector2.UP * SPEED * delta)
|
move_and_collide(Vector2.UP * SPEED * delta)
|
||||||
|
|||||||
Reference in New Issue
Block a user