mirror of
https://github.com/HarmonyHoney/ROTA.git
synced 2026-07-17 16:46:17 +00:00
Arcade music! Fade between OST and Arcade (=
This commit is contained in:
parent
1f2a34598d
commit
03bc7b5814
9 changed files with 96 additions and 38 deletions
BIN
media/audio/music/arcade2.mp3
Normal file
BIN
media/audio/music/arcade2.mp3
Normal file
Binary file not shown.
15
media/audio/music/arcade2.mp3.import
Normal file
15
media/audio/music/arcade2.mp3.import
Normal 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
|
||||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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():
|
||||
|
|
|
|||
|
|
@ -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="."]
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue