gae_wild_jam/scripts/spawn_control.gd

62 lines
1.4 KiB
GDScript

extends Control
var up_left
var down_right
var up_right
var down_left
var viewport_rect
func _ready() -> void:
viewport_rect = get_viewport_rect()
print(get_viewport_rect())
up_left = viewport_rect.position
down_right = viewport_rect.end
up_right = Vector2(viewport_rect.end.x, viewport_rect.position.y)
down_left = Vector2(viewport_rect.position.x, viewport_rect.end.y)
print(up_left)
print(up_right)
print(down_left)
print(down_right)
print(get_spawn_position())
pass # Replace with function body.
func get_spawn_position() -> Vector2:
var side = randi() % 4
var spawn_x
var spawn_y
if side == 0:
# oben
spawn_x = randf_range(up_left.x, up_right.x)
spawn_y = up_left.y
elif side == 1:
# rechts
spawn_x = up_right.x +50
spawn_y = randf_range(up_right.y, down_right.y)
elif side == 2:
#unten
spawn_x = randf_range(up_left.x, up_right.x)
spawn_y = down_left.y
elif side == 3:
#links
spawn_x = up_left.x
spawn_y = randf_range(up_right.y, down_right.y)
return Vector2(spawn_x, spawn_y)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func spawn_enemy() -> void:
var enemy_scene = preload("res://scenes/slime.tscn")
var enemy = enemy_scene.instantiate()
enemy.global_position = get_spawn_position()
add_child(enemy)
pass
func _on_spawn_timer_timeout() -> void:
spawn_enemy()
pass # Replace with function body.