Random enemy spawn
This commit is contained in:
121
scenes/game.tscn
121
scenes/game.tscn
@ -1,14 +1,18 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://d0g87756ww650"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/game.gd" id="1_a1yc7"]
|
||||
[ext_resource type="PackedScene" uid="uid://c3i6a6ji8i1q8" path="res://scenes/player.tscn" id="1_fwjx1"]
|
||||
[ext_resource type="Script" path="res://scripts/game_manager.gd" id="1_gd2n3"]
|
||||
[ext_resource type="PackedScene" uid="uid://d65w0p8s6dv4" path="res://scenes/chest.tscn" id="2_u0oqr"]
|
||||
[ext_resource type="PackedScene" uid="uid://cw2jmrfd0fivj" path="res://sprites/characters/enemy.tscn" id="4_7i7ld"]
|
||||
|
||||
[sub_resource type="Curve2D" id="Curve2D_ipwxi"]
|
||||
_data = {
|
||||
"points": PackedVector2Array(0, 0, 0, 0, -741, -452, 0, 0, 0, 0, 539, -445, 0, 0, 0, 0, 533, 354, 0, 0, 0, 0, -737, 354, 0, 0, 0, 0, -724, -429)
|
||||
}
|
||||
point_count = 5
|
||||
|
||||
[node name="Game" type="Node2D"]
|
||||
|
||||
[node name="GameManager" type="Node" parent="."]
|
||||
script = ExtResource("1_gd2n3")
|
||||
position = Vector2(678, 366)
|
||||
script = ExtResource("1_a1yc7")
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
layer = -1
|
||||
@ -22,108 +26,61 @@ offset_right = 1124.0
|
||||
offset_bottom = 637.0
|
||||
color = Color(0.726739, 0.942318, 0.74966, 1)
|
||||
|
||||
[node name="Enemies" type="Node" parent="."]
|
||||
|
||||
[node name="Enemy" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(29, 37)
|
||||
|
||||
[node name="Enemy2" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(-183, 47)
|
||||
|
||||
[node name="Enemy4" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(-246, -63)
|
||||
|
||||
[node name="Enemy5" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(-73, 63)
|
||||
|
||||
[node name="Enemy6" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(-106, -135)
|
||||
|
||||
[node name="Enemy7" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(106, 154)
|
||||
|
||||
[node name="Enemy8" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(307, 50)
|
||||
|
||||
[node name="Enemy9" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(276, 177)
|
||||
|
||||
[node name="Enemy10" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(-1, 269)
|
||||
|
||||
[node name="Enemy11" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(-176, 259)
|
||||
|
||||
[node name="Enemy12" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(-374, 203)
|
||||
|
||||
[node name="Enemy13" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(-391, 54)
|
||||
|
||||
[node name="Enemy14" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(-561, 22)
|
||||
|
||||
[node name="Enemy15" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(-496, -164)
|
||||
|
||||
[node name="Enemy16" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(-361, -299)
|
||||
|
||||
[node name="Enemy17" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(-187, -364)
|
||||
|
||||
[node name="Enemy18" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(107, -366)
|
||||
|
||||
[node name="Enemy19" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(245, -234)
|
||||
|
||||
[node name="Enemy20" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(314, -53)
|
||||
|
||||
[node name="Enemy3" parent="Enemies" instance=ExtResource("4_7i7ld")]
|
||||
position = Vector2(65, -107)
|
||||
|
||||
[node name="player" parent="." instance=ExtResource("1_fwjx1")]
|
||||
position = Vector2(-86, -60)
|
||||
position = Vector2(-91, -50)
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="player"]
|
||||
position = Vector2(1, -7)
|
||||
zoom = Vector2(3, 3)
|
||||
[node name="Path2D" type="Path2D" parent="player"]
|
||||
position = Vector2(91, 50)
|
||||
curve = SubResource("Curve2D_ipwxi")
|
||||
|
||||
[node name="PathFollow2D" type="PathFollow2D" parent="player/Path2D"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(-741, -452)
|
||||
rotation = 0.0054687
|
||||
|
||||
[node name="Node" type="Node" parent="."]
|
||||
|
||||
[node name="Chest" parent="Node" instance=ExtResource("2_u0oqr")]
|
||||
position = Vector2(-109, -43)
|
||||
position = Vector2(515, 401)
|
||||
|
||||
[node name="Node2" type="Node" parent="."]
|
||||
|
||||
[node name="Chest" parent="Node2" instance=ExtResource("2_u0oqr")]
|
||||
position = Vector2(-136, 14)
|
||||
position = Vector2(742, 272)
|
||||
|
||||
[node name="Chest2" parent="Node2" instance=ExtResource("2_u0oqr")]
|
||||
position = Vector2(-125, 76)
|
||||
position = Vector2(439, 269)
|
||||
|
||||
[node name="Chest3" parent="Node2" instance=ExtResource("2_u0oqr")]
|
||||
position = Vector2(-40, 31)
|
||||
position = Vector2(403, 384)
|
||||
|
||||
[node name="Chest4" parent="Node2" instance=ExtResource("2_u0oqr")]
|
||||
position = Vector2(62, 74)
|
||||
position = Vector2(834, 451)
|
||||
|
||||
[node name="Chest5" parent="Node2" instance=ExtResource("2_u0oqr")]
|
||||
position = Vector2(113, 28)
|
||||
position = Vector2(718, 411)
|
||||
|
||||
[node name="Chest6" parent="Node2" instance=ExtResource("2_u0oqr")]
|
||||
position = Vector2(156, 87)
|
||||
position = Vector2(826, 356)
|
||||
|
||||
[node name="Chest7" parent="Node2" instance=ExtResource("2_u0oqr")]
|
||||
position = Vector2(143, -58)
|
||||
position = Vector2(821, 247)
|
||||
|
||||
[node name="Chest8" parent="Node2" instance=ExtResource("2_u0oqr")]
|
||||
position = Vector2(51, -29)
|
||||
position = Vector2(735, 170)
|
||||
|
||||
[node name="Chest9" parent="Node2" instance=ExtResource("2_u0oqr")]
|
||||
position = Vector2(-16, -78)
|
||||
position = Vector2(614, 175)
|
||||
|
||||
[node name="Chest10" parent="Node2" instance=ExtResource("2_u0oqr")]
|
||||
position = Vector2(-166, -81)
|
||||
position = Vector2(342, 171)
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="."]
|
||||
position = Vector2(-85, -67)
|
||||
zoom = Vector2(2, 2)
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 0.3
|
||||
autostart = true
|
||||
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||
|
@ -1,7 +1,7 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://woincqnmbsax"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://d0heqigxyqlxk" path="res://sprites/objects/pistol.png" id="1_s3jta"]
|
||||
[ext_resource type="Script" path="res://scenes/gun.gd" id="1_tnui5"]
|
||||
[ext_resource type="Script" path="res://scripts/gun.gd" id="1_tnui5"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_bfjrk"]
|
||||
radius = 251.149
|
||||
|
@ -1,6 +1,6 @@
|
||||
extends CharacterBody2D
|
||||
|
||||
var health = 5
|
||||
var health = 2
|
||||
@onready var player = get_node("/root/Game/player")
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
|
15
scripts/game.gd
Normal file
15
scripts/game.gd
Normal file
@ -0,0 +1,15 @@
|
||||
extends Node2D
|
||||
|
||||
|
||||
|
||||
func spawn_mob():
|
||||
var new_mob = preload("res://scenes/enemy.tscn").instantiate()
|
||||
%PathFollow2D.progress_ratio = randf()
|
||||
new_mob.global_position = %PathFollow2D.global_position
|
||||
add_child(new_mob)
|
||||
|
||||
|
||||
|
||||
|
||||
func _on_timer_timeout() -> void:
|
||||
spawn_mob()
|
Reference in New Issue
Block a user