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
29
30
|
extends Camera3D
@export var main_cam: Camera3D
@export var track: TrackLoader
@export var count_player: AnimationPlayer
signal race_started
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", -1, 2)
await count_player.animation_finished
car.ball.freeze = false
race_started.emit()
func _on_race_created_car(_car: Car) -> void:
car = _car
|