extends Node export (PackedScene) var Tower = preload("res://Tower.tscn"); onready var screen_size = Vector2(ProjectSettings.get("display/window/size/width"), ProjectSettings.get("display/window/size/height")) onready var player = get_node("Player") export var tower_density = 200 var last_built = 100 func build_tower(): var tower = Tower.instance() tower.connect("exit", self, "_on_Tower_exit") var pos = Vector2(last_built, randf() * screen_size.y - screen_size.y / 2) # The player's movement vector. tower.position = pos add_child(tower) last_built += tower_density func update_view(): var canvas_transform = get_viewport().get_canvas_transform() var pos = player.position pos.y = 0 canvas_transform[2] = -pos + screen_size / 2 get_viewport().set_canvas_transform(canvas_transform) func _ready(): randomize() update_view() print(screen_size) while last_built < screen_size.x * 2: build_tower() func _on_Player_move(): update_view() func _on_Tower_exit(): build_tower()