small racing game im working on
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
|
extends Camera3D
class_name IntroCam
signal finished
var track: TrackResource
var main_cam: Camera3D
func _init(_track: TrackResource, _main_cam: Camera3D):
track = _track
main_cam = _main_cam
func _ready() -> void:
make_current()
var box := AABB()
for i in track.track.point_count:
box = box.expand(track.track.get_point_position(i))
var box_center := box.get_center()
var top_center := Vector3(box_center.x, track.overview_height, box_center.z)
global_position = top_center
global_rotation_degrees.x = -90
await get_tree().create_timer(2).timeout
var tween := get_tree().create_tween().set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_IN_OUT)
tween.tween_property(self, ^"global_position", main_cam.global_position, 2)
tween.tween_property(self, ^"global_rotation", main_cam.global_rotation, 1)
await tween.finished
finished.emit()
main_cam.make_current()
|