hyper space
This commit is contained in:
51
main/main.gd
Normal file
51
main/main.gd
Normal file
@ -0,0 +1,51 @@
|
||||
extends Node2D
|
||||
|
||||
@onready var start_button = $CanvasLayer/CenterContainer/Start
|
||||
@onready var game_over = $CanvasLayer/CenterContainer/GameOver
|
||||
|
||||
var enemy: PackedScene = preload("res://enemy/enemy.tscn")
|
||||
var score: int = 0
|
||||
var enemies_count: int = 0
|
||||
|
||||
func _ready():
|
||||
game_over.hide()
|
||||
start_button.show()
|
||||
|
||||
func new_game():
|
||||
score = 0
|
||||
$CanvasLayer/UI.update_score(score)
|
||||
$Player.start()
|
||||
spawn_enemies()
|
||||
|
||||
func spawn_enemies():
|
||||
for x in range(9):
|
||||
for y in range(3):
|
||||
var e = enemy.instantiate()
|
||||
var pos = Vector2(x * (16 + 8) + 24, 16 * 4 + y * 16)
|
||||
add_child(e)
|
||||
e.start(pos)
|
||||
e.died.connect(_on_enemy_died)
|
||||
|
||||
func _on_enemy_died(value):
|
||||
score += value
|
||||
$CanvasLayer/UI.update_score(score)
|
||||
|
||||
func _on_start_pressed():
|
||||
start_button.hide()
|
||||
new_game()
|
||||
|
||||
func _on_player_died():
|
||||
get_tree().call_group("enemies", "queue_free")
|
||||
game_over.show()
|
||||
await get_tree().create_timer(2).timeout
|
||||
game_over.hide()
|
||||
start_button.show()
|
||||
|
||||
|
||||
func _on_child_entered_tree(node):
|
||||
if node.is_in_group("enemies"):
|
||||
enemies_count += 1
|
||||
|
||||
func _on_child_exiting_tree(node):
|
||||
if node.is_in_group("enemies"):
|
||||
enemies_count -= 1
|
91
main/main.tscn
Normal file
91
main/main.tscn
Normal file
@ -0,0 +1,91 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://ch7v0qydi26a4"]
|
||||
|
||||
[ext_resource type="Script" path="res://main/main.gd" id="1_1ejc6"]
|
||||
[ext_resource type="Texture2D" uid="uid://cd2w7gbytga05" path="res://assets/Space_BG (2 frames) (64 x 64).png" id="1_jkmwa"]
|
||||
[ext_resource type="PackedScene" uid="uid://bp5q1dm5nm1q7" path="res://player/player.tscn" id="2_bnyct"]
|
||||
[ext_resource type="Texture2D" uid="uid://dwr1n1387fvel" path="res://assets/UI objects/START (48 x 8).png" id="3_ib0lp"]
|
||||
[ext_resource type="Texture2D" uid="uid://3yqtv6s02201" path="res://assets/UI objects/GAME_OVER (72 x 8).png" id="4_6ors6"]
|
||||
[ext_resource type="PackedScene" uid="uid://c78q4a2j7gjow" path="res://ui/ui.tscn" id="4_fs4vk"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_g3nlb"]
|
||||
resource_name = "bg"
|
||||
length = 2.0
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("background:region_rect")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Rect2(2.08165e-12, 2.08165e-12, 240, 320), Rect2(2.08165e-12, 64, 240, 320)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_bhcu2"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("background:region_rect")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Rect2(2.08165e-12, 2.08165e-12, 240, 320)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_1ooqy"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_bhcu2"),
|
||||
"bg": SubResource("Animation_g3nlb")
|
||||
}
|
||||
|
||||
[node name="main" type="Node2D"]
|
||||
script = ExtResource("1_1ejc6")
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="UI" parent="CanvasLayer" instance=ExtResource("4_fs4vk")]
|
||||
|
||||
[node name="CenterContainer" type="CenterContainer" parent="CanvasLayer"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="Start" type="TextureButton" parent="CanvasLayer/CenterContainer"]
|
||||
layout_mode = 2
|
||||
texture_normal = ExtResource("3_ib0lp")
|
||||
|
||||
[node name="GameOver" type="TextureRect" parent="CanvasLayer/CenterContainer"]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("4_6ors6")
|
||||
|
||||
[node name="background" type="Sprite2D" parent="."]
|
||||
texture_repeat = 2
|
||||
position = Vector2(1, 0)
|
||||
texture = ExtResource("1_jkmwa")
|
||||
centered = false
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2.08165e-12, 2.08165e-12, 240, 320)
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource("2_bnyct")]
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_1ooqy")
|
||||
}
|
||||
autoplay = "bg"
|
||||
|
||||
[connection signal="child_entered_tree" from="." to="." method="_on_child_entered_tree"]
|
||||
[connection signal="child_exiting_tree" from="." to="." method="_on_child_exiting_tree"]
|
||||
[connection signal="pressed" from="CanvasLayer/CenterContainer/Start" to="." method="_on_start_pressed"]
|
||||
[connection signal="area_entered" from="Player" to="." method="_on_player_area_entered"]
|
||||
[connection signal="died" from="Player" to="." method="_on_player_died"]
|
||||
[connection signal="shield_changed" from="Player" to="CanvasLayer/UI" method="update_shield"]
|
Reference in New Issue
Block a user