mirror of
				https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
				synced 2025-10-25 08:50:50 +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()
 | 
