add Ball and game_states

master
Sascha 2025-01-16 13:18:08 +07:00
parent 81926ff5f1
commit 110c7b333e
9 changed files with 88 additions and 22 deletions

@ -0,0 +1,4 @@
extends RigidBody2D
func serve() -> void:
print("Serve!")

@ -0,0 +1 @@
uid://sv6hcl04t1f6

@ -0,0 +1,21 @@
[gd_scene load_steps=5 format=3 uid="uid://buqqojsie0k8c"]
[ext_resource type="Script" uid="uid://sv6hcl04t1f6" path="res://ball.gd" id="1_41u45"]
[ext_resource type="Texture2D" uid="uid://bqvc42b35kys5" path="res://player_texture.tres" id="1_x8fbi"]
[sub_resource type="CircleShape2D" id="CircleShape2D_41u45"]
radius = 5.0
[sub_resource type="SphereMesh" id="SphereMesh_ktgx5"]
[node name="Ball" type="RigidBody2D"]
gravity_scale = 0.0
script = ExtResource("1_41u45")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_41u45")
[node name="MeshInstance2D" type="MeshInstance2D" parent="."]
scale = Vector2(10, 10)
mesh = SubResource("SphereMesh_ktgx5")
texture = ExtResource("1_x8fbi")

@ -0,0 +1,15 @@
extends Node2D
@onready var player_1: CharacterBody2D = $Player1
@onready var player_2: CharacterBody2D = $Player2
@onready var ball: RigidBody2D = $Ball
var game_mode = "idle"
func _input(event: InputEvent) -> void:
if event.is_action_pressed("space"):
if game_mode == "idle":
game_mode = "play"
ball.serve()
elif event.is_action_pressed("esc"):
get_tree().quit()

@ -0,0 +1 @@
uid://dcr7q67iref5x

@ -1,14 +1,21 @@
[gd_scene load_steps=4 format=3 uid="uid://cjxteipqurqy5"]
[gd_scene load_steps=7 format=3 uid="uid://cjxteipqurqy5"]
[ext_resource type="PackedScene" uid="uid://cm7lrhjnutqxx" path="res://player.tscn" id="1_80nbo"]
[ext_resource type="Script" uid="uid://dcr7q67iref5x" path="res://game.gd" id="1_feb5d"]
[ext_resource type="PackedScene" uid="uid://buqqojsie0k8c" path="res://ball.tscn" id="2_e2o6t"]
[sub_resource type="SystemFont" id="SystemFont_80nbo"]
[sub_resource type="LabelSettings" id="LabelSettings_e2o6t"]
[sub_resource type="LabelSettings" id="LabelSettings_80nbo"]
font = SubResource("SystemFont_80nbo")
font_size = 32
[sub_resource type="LabelSettings" id="LabelSettings_e2o6t"]
font = SubResource("SystemFont_80nbo")
font_size = 64
[node name="Game" type="Node2D"]
script = ExtResource("1_feb5d")
[node name="Player1" parent="." instance=ExtResource("1_80nbo")]
position = Vector2(20, 70)
@ -17,27 +24,27 @@ position = Vector2(20, 70)
position = Vector2(1124, 578)
player_number = 2
[node name="Control" type="Control" parent="."]
layout_mode = 3
anchors_preset = 0
offset_left = 599.0
offset_top = 247.0
offset_right = 599.0
offset_bottom = 247.0
size_flags_horizontal = 4
size_flags_vertical = 4
[node name="Control" type="CanvasLayer" parent="."]
metadata/_edit_use_anchors_ = true
[node name="VBoxContainer" type="VBoxContainer" parent="Control"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -138.0
offset_top = -224.0
offset_right = 138.0
offset_bottom = -87.0
grow_horizontal = 2
grow_vertical = 2
metadata/_edit_use_anchors_ = true
[node name="Player1Score" type="Label" parent="Control/VBoxContainer"]
[node name="Welcome" type="Label" parent="Control/VBoxContainer"]
layout_mode = 2
text = "Welcome to Pong!"
label_settings = SubResource("LabelSettings_e2o6t")
label_settings = SubResource("LabelSettings_80nbo")
[node name="HBoxContainer" type="HBoxContainer" parent="Control/VBoxContainer"]
layout_mode = 2
@ -58,3 +65,6 @@ label_settings = SubResource("LabelSettings_e2o6t")
layout_mode = 2
text = "0"
label_settings = SubResource("LabelSettings_e2o6t")
[node name="Ball" parent="." instance=ExtResource("2_e2o6t")]
position = Vector2(578, 326)

@ -1,18 +1,13 @@
[gd_scene load_steps=6 format=3 uid="uid://cm7lrhjnutqxx"]
[gd_scene load_steps=5 format=3 uid="uid://cm7lrhjnutqxx"]
[ext_resource type="Script" uid="uid://0884gjf31t4j" path="res://player.gd" id="1_4flbx"]
[ext_resource type="Texture2D" uid="uid://bqvc42b35kys5" path="res://player_texture.tres" id="2_onrkg"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_e2o6t"]
size = Vector2(10, 100)
[sub_resource type="QuadMesh" id="QuadMesh_feb5d"]
[sub_resource type="Gradient" id="Gradient_fc0e3"]
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_7jktm"]
gradient = SubResource("Gradient_fc0e3")
[node name="Player" type="CharacterBody2D"]
motion_mode = 1
script = ExtResource("1_4flbx")
@ -24,4 +19,4 @@ shape = SubResource("RectangleShape2D_e2o6t")
position = Vector2(0.5, 0)
scale = Vector2(11, 100)
mesh = SubResource("QuadMesh_feb5d")
texture = SubResource("GradientTexture1D_7jktm")
texture = ExtResource("2_onrkg")

@ -0,0 +1,7 @@
[gd_resource type="GradientTexture1D" load_steps=2 format=3 uid="uid://bqvc42b35kys5"]
[sub_resource type="Gradient" id="Gradient_fc0e3"]
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1)
[resource]
gradient = SubResource("Gradient_fc0e3")

@ -37,3 +37,15 @@ player2down={
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
space={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194310,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
esc={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}