flappy-bird/Camera2D.gd

40 lines
1,020 B
GDScript3
Raw Normal View History

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