mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-22 15:38:14 +00:00
47 lines
971 B
GDScript
47 lines
971 B
GDScript
extends Parallax2D
|
|
|
|
var level_bpm := 120
|
|
|
|
@export var level := 0.5
|
|
|
|
var is_star := false
|
|
|
|
var beats := -1
|
|
|
|
var tween: Tween = null
|
|
|
|
func _ready() -> void:
|
|
modulate.a = 0
|
|
AudioManager.music_beat.connect(on_timeout)
|
|
on_timeout()
|
|
|
|
func _physics_process(delta: float) -> void:
|
|
scroll_offset.y = lerpf(scroll_offset.y, lerpf(128, 0, level), delta * 5)
|
|
modulate.a = lerpf(modulate.a, lerpf(0, 1, level), delta * 5)
|
|
$TextureRect.position.y = move_toward($TextureRect.position.y, -64, delta * (level_bpm / 10))
|
|
|
|
|
|
func on_timeout(idx := 0) -> void:
|
|
beats = idx
|
|
if is_star == false:
|
|
tween_back()
|
|
if beats % 4 == 0:
|
|
$AudioStreamPlayer.pitch_scale = 2
|
|
else:
|
|
$AudioStreamPlayer.pitch_scale = 1
|
|
$AudioStreamPlayer.play()
|
|
|
|
|
|
|
|
|
|
func tween_back() -> void:
|
|
if tween != null:
|
|
tween.kill()
|
|
tween = create_tween().set_trans(Tween.TRANS_CUBIC)
|
|
tween.tween_property($TextureRect, "position:y", -160, 0.05)
|
|
|
|
|
|
func on_starttimeout() -> void:
|
|
if is_star:
|
|
tween_back()
|