mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-22 15:38:14 +00:00
added the game
This commit is contained in:
46
Scripts/Parts/DiscoBg.gd
Normal file
46
Scripts/Parts/DiscoBg.gd
Normal file
@@ -0,0 +1,46 @@
|
||||
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()
|
Reference in New Issue
Block a user