Arcade music! Fade between OST and Arcade (=

This commit is contained in:
Harmony Honey 2023-05-18 16:42:02 -04:00
parent 1f2a34598d
commit 03bc7b5814
9 changed files with 96 additions and 38 deletions

Binary file not shown.

View file

@ -0,0 +1,15 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
path="res://.import/arcade2.mp3-b7a708f610143e79ed68b5eeea715060.mp3str"
[deps]
source_file="res://media/audio/music/arcade2.mp3"
dest_files=[ "res://.import/arcade2.mp3-b7a708f610143e79ed68b5eeea715060.mp3str" ]
[params]
loop=true
loop_offset=0

View file

@ -22,7 +22,7 @@ var dir_x := 1.0
export var hide_distance := 50.0
func _ready():
MenuMakeover.connect("closed", self, "closed")
MenuMakeover.connect("opened", self, "closed")
arrow.dir = posmod(dir, 4)
rig.global_rotation = 0
@ -96,7 +96,9 @@ func _on_Arrow_open():
arrow.is_locked = true
rig_ease.show = false
func closed():
func closed(arg := false):
if arg: return
arrow.is_locked = false
rig_ease.show = true
create_rig()

View file

@ -155,7 +155,6 @@ func _enter_tree():
Shared.player = self
get_tree().connect("physics_frame", self, "physics_frame")
MenuPause.connect("opened", self, "pause")
MenuPause.connect("closed", self, "unpause")
Shared.connect("scene_changed", self, "scene")
Wipe.connect("start", self, "wipe_start")
Cutscene.connect("playing", self, "cutscene_playing")
@ -882,15 +881,12 @@ func enter_door(arg):
if is_instance_valid(goal):
goal.target = door_exit
func pause():
func pause(arg := false):
if Shared.player == self:
clear_input()
func unpause():
if Shared.player == self:
clear_input()
is_unpause = true
unpause_tick = 0
if !arg:
is_unpause = true
unpause_tick = 0
func clear_input():
btn_jump = false

View file

@ -1,15 +1,18 @@
extends Node2D
onready var player = Shared.player
onready var btn_joy := $CanvasLayer/Cabinet/Controls/Joystick
onready var btn_a := $CanvasLayer/Cabinet/Controls/Button/Control/Node2D
onready var btn_b := $CanvasLayer/Cabinet/Controls/Button2/Control/Node2D
onready var node_joy := $CanvasLayer/Cabinet/Controls/Joystick
onready var node_a := $CanvasLayer/Cabinet/Controls/Button/Control/Node2D
onready var node_b := $CanvasLayer/Cabinet/Controls/Button2/Control/Node2D
var joy := Vector2.ZERO
var btn_a := false
var btn_b := false
var is_unpause := false
func _ready():
MenuPause.connect("opened", self, "pause")
player.is_input = false
Cam.target_node = null
Cam.target_pos = Vector2(1280, 720) * 0.5
@ -18,16 +21,21 @@ func _exit_tree():
player.is_input = true
Cam.target_node = player
func _physics_process(delta):
var m = MenuPause.is_open
joy.x = round(Input.get_axis("left", "right"))
#joy.y = round(Input.get_axis("up", "down"))
var _a = Input.is_action_pressed("jump")
var _b = Input.is_action_pressed("grab")
joy.x = 0.0 if m else round(Input.get_axis("left", "right"))
var a = Input.is_action_pressed("jump")
var b = Input.is_action_pressed("grab")
btn_joy.rotation = lerp(btn_joy.rotation, joy.x * deg2rad(15), delta * 30.0)
btn_a.position.y = lerp(btn_a.position.y, float(_a) * 20, delta * 30.0)
btn_b.position.y = lerp(btn_b.position.y, float(_b) * 20, delta * 30.0)
if is_unpause: is_unpause = a or b
if !is_unpause:
btn_a = a and !m
btn_b = b and !m
pass
node_joy.rotation = lerp(node_joy.rotation, joy.x * deg2rad(15), delta * 30.0)
node_a.position.y = lerp(node_a.position.y, float(btn_a) * 20, delta * 30.0)
node_b.position.y = lerp(node_b.position.y, float(btn_b) * 20, delta * 30.0)
func pause(arg := false):
is_unpause = !arg

View file

@ -37,8 +37,12 @@ var is_input = true
var is_dead := false
var arcade
var dead_ease := EaseMover.new()
var unpause_tick := 0.0
var is_unpause := false
func _ready():
MenuPause.connect("opened", self, "pause")
for i in get_tree().get_nodes_in_group("arcade"):
arcade = i
@ -55,12 +59,15 @@ func _ready():
func _physics_process(delta):
# input
joy_last = joy
if is_input:
if is_input and !MenuPause.is_open:
joy.x = round(Input.get_axis("left", "right"))
joy.y = round(Input.get_axis("up", "down"))
btnp_jump = Input.is_action_just_pressed("jump")
btn_jump = Input.is_action_pressed("jump")
var j = Input.is_action_pressed("jump")
if !j: is_unpause = false
if !is_unpause:
btnp_jump = Input.is_action_just_pressed("jump")
btn_jump = j
# is floor & air clock
is_floor = test_move(transform, Vector2(0, 3))
@ -175,4 +182,9 @@ func die():
arcade.lose()
#Audio.play(audio_die, 0.8, 1.2)
Audio.play("arcade_owie", 0.7, 1.1)
func pause(arg := false):
joy = Vector2.ZERO
btn_jump = false
btnp_jump = false
is_unpause = !arg

View file

@ -12,6 +12,7 @@ var music_que = []
export var wait_range := Vector2(10, 90)
var wait_clock := 0.0
var wait_time := 10.0
var music_ease := EaseMover.new(1.0)
func _ready():
set_refresh()
@ -34,9 +35,26 @@ func _physics_process(delta):
wait_clock -= delta
if wait_clock <= 0:
music_play()
var s = music_ease.count(delta, Shared.is_arcade)
if !music_ease.is_last:
var m = dict["music_music"]
var a = dict["music_arcade"]
m.volume_db = lerp(0.0, -30.0, s)
a.volume_db = lerp(-30.0, 0.0, s)
if music_ease.clock == 0.0:
if !m.playing: m.play(m.get_playback_position())
a.stop()
if music_ease.is_complete:
a.play()
m.stop()
func music_finished():
wait_clock = rand_range(wait_range.x, wait_range.y)
if !Shared.is_arcade:
wait_clock = rand_range(wait_range.x, wait_range.y)
print("music_finished, wait_clock: ", wait_clock)
func music_play():
if music_que.empty():

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=33 format=2]
[gd_scene load_steps=34 format=2]
[ext_resource path="res://src/autoload/Audio.gd" type="Script" id=1]
[ext_resource path="res://media/audio/sfx/coin1.wav" type="AudioStream" id=2]
@ -32,6 +32,7 @@
[ext_resource path="res://media/audio/sfx/fallout2.wav" type="AudioStream" id=30]
[ext_resource path="res://media/audio/sfx/jump1.wav" type="AudioStream" id=31]
[ext_resource path="res://media/audio/sfx/zap0.wav" type="AudioStream" id=32]
[ext_resource path="res://media/audio/music/arcade2.mp3" type="AudioStream" id=33]
[node name="Audio" type="Node"]
pause_mode = 2
@ -41,6 +42,12 @@ ost = [ ExtResource( 21 ), ExtResource( 24 ), ExtResource( 22 ), ExtResource( 23
[node name="Music" type="Node" parent="."]
[node name="Music" type="AudioStreamPlayer" parent="Music"]
stream = ExtResource( 21 )
bus = "Music"
[node name="Arcade" type="AudioStreamPlayer" parent="Music"]
stream = ExtResource( 33 )
volume_db = 4.0
bus = "Music"
[node name="Menu" type="Node" parent="."]

View file

@ -29,7 +29,6 @@ export var is_open := false setget set_open
export var is_accept_close := false
export var is_back_close := false
signal opened
signal closed
var is_sub_menu := false
var sub_ease := EaseMover.new()
var sub_node
@ -168,10 +167,9 @@ func set_open(arg := is_open):
UI.menu_keys(text_accept, text_cancel)
open()
row()
emit_signal("opened")
else:
close()
emit_signal("closed")
emit_signal("opened", is_open)
if is_ui_keys:
UI.keys.show = is_open
@ -220,16 +218,18 @@ func sub_menu(arg):
is_open = sub_stay_open
sub_node.is_open = true
if !sub_node.is_connected("closed", self, "sub_close"):
sub_node.connect("closed", self, "sub_close")
if !sub_node.is_connected("opened", self, "sub_close"):
sub_node.connect("opened", self, "sub_close")
func sub_close():
func sub_close(arg := false):
if arg: return
is_sub_menu = false
is_open = true
UI.menu_keys(text_accept, text_cancel)
if sub_node and sub_node.is_connected("closed", self, "sub_close"):
sub_node.disconnect("closed", self, "sub_close")
if sub_node and sub_node.is_connected("opened", self, "sub_close"):
sub_node.disconnect("opened", self, "sub_close")
sub_node = null
reset_joy()