1
0
Fork 0
1bit-godot-course/metroidvania/Scenes/World/Camera.gd

30 lines
603 B
GDScript3
Raw Normal View History

2021-02-04 18:53:22 +00:00
extends Camera2D
2021-05-22 16:33:00 +00:00
var MainInstances = ResourceLoader.MainInstances
2021-02-04 18:53:22 +00:00
var shake = 0
onready var timer = $Timer
func _ready():
Events.connect("add_screenshake", self, "_on_Events_add_screenshake")
2021-05-22 16:33:00 +00:00
MainInstances.WorldCamera = self
func _exit_tree():
MainInstances.WorldCamera = null
2021-02-04 18:53:22 +00:00
2021-05-22 16:43:03 +00:00
func _process(_delta):
2021-02-04 18:53:22 +00:00
offset_h = rand_range(-shake, shake)
offset_v = rand_range(-shake, shake)
func screenshake(amount, duration):
shake = amount
timer.wait_time = duration
timer.start()
func _on_Timer_timeout():
shake = 0
func _on_Events_add_screenshake(amount, duration):
screenshake(amount, duration)