forked from team-sg/hero-mark-2
33 lines
1.2 KiB
GDScript
33 lines
1.2 KiB
GDScript
extends Camera2D
|
|
|
|
onready var resolution = Game.resolution
|
|
onready var player = get_parent().get_node("Player")
|
|
onready var current_sector = (player.global_position / resolution).floor()
|
|
onready var last_sector = current_sector
|
|
#Scroll direction
|
|
export var scroll_h = true
|
|
export var scroll_v = false
|
|
|
|
func _ready():
|
|
set_as_toplevel(true)
|
|
Game.current_sector = current_sector
|
|
|
|
func _process(delta):
|
|
#Scroll screen when player is on different sector
|
|
current_sector = (player.global_position / resolution).floor()
|
|
if scroll_h && current_sector.x != last_sector.x:
|
|
Game.respawn_point = player.global_position + Vector2(8,0) # Set respawn point
|
|
position.x = current_sector.x * resolution.x # Move camera
|
|
last_sector = current_sector
|
|
Game.current_sector = current_sector
|
|
if scroll_v && current_sector.y != last_sector.y:
|
|
Game.respawn_point = player.global_position + Vector2(0,-8) # Set respawn point
|
|
position.y = current_sector.y * resolution.y # Move camera
|
|
last_sector = current_sector
|
|
Game.current_sector = current_sector
|
|
|
|
##Delete enemies when offscreen
|
|
#func _on_CullArea_area_exited(area):
|
|
# #delete offscreen enemies
|
|
# if area.is_in_group("enemy"):
|
|
# area.get_parent().queue_free()
|