Files
ftrscene/campath.gd
2026-06-02 22:29:48 +01:00

41 lines
780 B
GDScript

extends Path
signal scene_finished
var offset = 0
var length = 0
var dir = 0
var run = false
var fadeout = false
func _ready():
length = curve.get_baked_length()
func playforward():
run = true
dir = 1
offset = 0
fadeout = false
get_node("Camera").make_current()
func playbackward():
run = true
dir = -1
offset = length
fadeout = false
get_node("Camera").make_current()
func _process(delta):
if run:
offset += delta * dir
if not fadeout:
if dir > 0 and offset >= length-1 or dir < 0 and offset <= 1:
emit_signal("scene_finished")
fadeout = true
var p1 = to_global(curve.interpolate_baked(offset))
var p2 = to_global(curve.interpolate_baked(offset+dir))
if p1 == p2:
run = false
return
$Camera.look_at_from_position(p1,p2,Vector3.UP)