-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGameCamera.gd
30 lines (27 loc) · 1.3 KB
/
GameCamera.gd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
extends Camera2D
@onready var horizontal_dead_zone:Area2D=get_parent().get_node("HorizontalDeadZone")
@onready var vertical_dead_zone:Area2D=get_parent().get_node("VerticalDeadZone")
@onready var player:GravityCharacter=get_parent().get_node("PlayerCharacter")
# Called when the node enters the scene tree for the first time.
func _ready():
global_position=player.position
horizontal_dead_zone.global_position=player.global_position
vertical_dead_zone.global_position=player.global_position
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
horizontal_dead_zone.position.y=player.position.y
vertical_dead_zone.position.x=player.position.x
position_smoothing_speed=player.velocity.length()/75
if not horizontal_dead_zone.overlaps_body(player):
position.x=player.position.x
if player.facing_right:
position.x+=50
else:
position.x-=50
horizontal_dead_zone.global_position.x=move_toward(horizontal_dead_zone.global_position.x, player.global_position.x, max(player.velocity.x/60, 5))
pass
if not vertical_dead_zone.overlaps_body(player):
position.y=player.position.y
vertical_dead_zone.global_position.y=move_toward(vertical_dead_zone.global_position.y, player.global_position.y, max(player.velocity.y/60, 5))
pass