Replay
This commit is contained in:
parent
ed6def77f5
commit
7b5d84e662
9 changed files with 131 additions and 4 deletions
|
@ -19,7 +19,6 @@ var jump_audiostream_player : AudioStreamPlayer
|
|||
var land_audiostream_player : AudioStreamPlayer
|
||||
var snow_audiostream_player : AudioStreamPlayer
|
||||
|
||||
|
||||
func init_unit_w_scene(scene):
|
||||
.init_unit_w_scene(scene)
|
||||
hit_audiostream_player = scene.get_node("HitAudioStreamPlayer")
|
||||
|
|
21
Scripts/Units/FollowReplay.gd
Normal file
21
Scripts/Units/FollowReplay.gd
Normal file
|
@ -0,0 +1,21 @@
|
|||
extends Unit
|
||||
|
||||
var replay : ReplayRecording = null
|
||||
|
||||
func process_unit(delta : float, time_elapsed : float):
|
||||
self.time_elapsed = time_elapsed
|
||||
|
||||
if replay != null:
|
||||
handle_replay(time_elapsed)
|
||||
|
||||
func handle_replay(at_time: float):
|
||||
var frame: int = int(at_time / replay.time_per_frame)
|
||||
var subframe: float = (at_time / replay.time_per_frame) - frame
|
||||
|
||||
pos = lerp(replay.position(frame), replay.position(frame + 1), subframe)
|
||||
|
||||
var sprite: int = replay.sprite(frame)
|
||||
var index: int = sprite >> 3
|
||||
sprite &= 7
|
||||
|
||||
set_sprite(sprite, index)
|
Loading…
Add table
Add a link
Reference in a new issue