small racing game im working on
Diffstat (limited to 'ui/intro_cam.gd')
| -rw-r--r-- | ui/intro_cam.gd | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/ui/intro_cam.gd b/ui/intro_cam.gd new file mode 100644 index 0000000..00c2afe --- /dev/null +++ b/ui/intro_cam.gd @@ -0,0 +1,27 @@ +extends Camera3D + +@export var main_cam: Camera3D +@export var track: TrackLoader +@export var count_player: AnimationPlayer + +var car: Car + +func _ready() -> void: + var box := AABB() + for point in track.track.track.get_baked_points(): + box = box.expand(point) + box = box.grow(200) + var box_center := box.get_center() + var top_center := Vector3(box_center.x, -box.position.y, box_center.z) + global_position = top_center + 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 + count_player.play(&"count_in") + await count_player.animation_finished + car.ball.freeze = false + +func _on_race_created_car(_car: Car) -> void: + car = _car |