hot fix; 优化音量度档过程
BIN
asset/art/prop/c01/信件碎片.png
Executable file → Normal file
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
BIN
asset/art/scene/c02/s06_二楼楼道/e_小蝉偷看.png
Normal file
After Width: | Height: | Size: 6.6 KiB |
34
asset/art/scene/c02/s06_二楼楼道/e_小蝉偷看.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ca3km2f6ncrqo"
|
||||
path="res://.godot/imported/e_小蝉偷看.png-be6958103c78585802bcfef240eff388.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://asset/art/scene/c02/s06_二楼楼道/e_小蝉偷看.png"
|
||||
dest_files=["res://.godot/imported/e_小蝉偷看.png-be6958103c78585802bcfef240eff388.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
34
asset/art/scene/c02/s06_二楼楼道/小蝉偷看.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cwa3hlkld05lu"
|
||||
path="res://.godot/imported/小蝉偷看.png-525b25a4dd1af5873e6e5e60507df15c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://asset/art/scene/c02/s06_二楼楼道/小蝉偷看.png"
|
||||
dest_files=["res://.godot/imported/小蝉偷看.png-525b25a4dd1af5873e6e5e60507df15c.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 36 KiB |
BIN
asset/audio/sfx/game/弹珠游戏/小孩从近到远跑步.wav
Executable file
24
asset/audio/sfx/game/弹珠游戏/小孩从近到远跑步.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://slb4jd8n207c"
|
||||
path="res://.godot/imported/小孩从近到远跑步.wav-0bd313abfb25bb06b3eb5dee0526bf49.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://asset/audio/sfx/game/弹珠游戏/小孩从近到远跑步.wav"
|
||||
dest_files=["res://.godot/imported/小孩从近到远跑步.wav-0bd313abfb25bb06b3eb5dee0526bf49.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
@ -56,11 +56,11 @@ ui_夜行船6,夜行船,,,,,
|
||||
prop_空手,空手,,,,,
|
||||
prop_空手_说明,空空如也,,,,,
|
||||
prop_信碎片1,信碎片(一),,,[#texture=c01/信件左上.png],,
|
||||
prop_信碎片1_说明,浦育院院长秦阳,民国21年,11月20日,,,,,
|
||||
prop_信碎片1_说明,浦育院院长秦阳,,,,,
|
||||
prop_信碎片2,信碎片(二),,,[#texture=c01/信件右上.png],,
|
||||
prop_信碎片2_说明,...,,,,,
|
||||
prop_信碎片2_说明,民国21年,11月20日,,,,,
|
||||
prop_银元,银元,,,[#texture=c01/银元.png],,
|
||||
prop_银元_说明,一枚“袁大头”银元,中華民國十年造。,,,,,
|
||||
prop_银元_说明,一枚“袁大头”银元,中华民国十年造。,,,,,
|
||||
prop_院长的信,院长的信,,,[#texture=c01/院长的信物品.png][#inspect=c01/院长的信.png],,
|
||||
prop_院长的信_说明,浦育院院长秦阳<br>民国21年11月20日<br>致吕萍:<br>你现下境况如何?<br>你虽离开浦育院已久,但我始终没有忘记为你祈祷。<br>愿上帝保佑你走向真正光明的道路。我相信这也是当年你父亲将你托付给我时的殷切愿景。<br>你既已成人,无论你的父母出于何种理由选择与你分离,你都应当拥有知晓真相的权利,所以我将公寓地址附在了信后,除此之外,我亦知之甚少。<br>若有闲暇,欢迎你回浦育院看看。<br>院长童玉君<br>民国十九年十月十五日<br>公寓地址 芦昌路26弄3号,,,,,
|
||||
prop_火柴,火柴,,,[#texture=c02/火柴.png],,
|
||||
@ -129,7 +129,7 @@ c01_s07_获得报纸,这是什么?,,,,,
|
||||
c01_s07_书店展柜,院长说,读一百本书,就可以成为无所不能的大人。<br>如果我再大一些,没准可以求店长把我留下,我会干很多活,也能吃苦...,,,,,
|
||||
c01_s08_书架游戏完成,这些书都被老鼠啃坏了,连木头架子都没放过。,,,,,
|
||||
c01_s08_获得袁大头后,工钱还在老地方。,,,,,
|
||||
c02_海报_剪辫子侦探,剪辮懸樑上偵探奇聞,,,,,
|
||||
c02_海报_剪辫子侦探,剪辫悬梁上侦探奇闻,,,,,
|
||||
c02_海报_戏法班,朱连魁全班戏法——「各有幻女...演技新奇」,,,,,
|
||||
c02_芦昌路26,芦昌路26弄3号,我父母真的住在这里吗...,,,,,
|
||||
c02_s01_下黄包车,院长在信里提到的就是这里,,,,,
|
||||
@ -167,7 +167,7 @@ c02_二楼楼梯杂物堆,堆满了杂物,看样子没办法从这里上去了
|
||||
c02_二楼水盆,盆里的水很清澈,看上去像是刚盛的。,,,,,
|
||||
c02_二楼老鼠洞,到处都是老鼠洞,怕不是整栋楼都被老鼠打通了。,,,,,
|
||||
c02_二楼血脚印,又是这种小小尖尖的血脚印...,,,,,
|
||||
c02_离开红色演出,刚才的那两个人...是幻觉吗,,,,,
|
||||
c02_离开红色演出,刚才那些...到底是怎么回事?,,,,,
|
||||
c02_瞎子卧室_八卦图,「乾三连,坤六断;震仰盂,艮覆碗;离中虚,坎中满;兑上缺,巽下断」<br>咦,这口诀是谁教我的来着...,,,,,
|
||||
c02_瞎子卧室_血脚印,这画上的脚印和刚刚看到的一样。,,,,,
|
||||
c02_瞎子卧室_十字架,院长房间里也有一个类似的十字架。,,,,,
|
||||
|
|
@ -164,7 +164,7 @@
|
||||
这些书都被老鼠啃坏了,连木头架子都没放过。 [ID:c01_s08_书架游戏完成]
|
||||
工钱还在老地方。 [ID:c01_s08_获得袁大头后]
|
||||
# c02
|
||||
剪辮懸樑上偵探奇聞 [ID:c02_海报_剪辫子侦探]
|
||||
剪辫悬梁上侦探奇闻 [ID:c02_海报_剪辫子侦探]
|
||||
朱连魁全班戏法——「各有幻女...演技新奇」 [ID:c02_海报_戏法班]
|
||||
# c02-s01 街道
|
||||
芦昌路26弄3号,我父母真的住在这里吗... [ID:c02_芦昌路26]
|
||||
|
@ -1,17 +1,16 @@
|
||||
[gd_resource type="AudioBusLayout" format=3 uid="uid://d3rxegy32deki"]
|
||||
|
||||
[resource]
|
||||
bus/0/volume_db = -0.030508
|
||||
bus/0/send = &"music"
|
||||
bus/0/volume_db = 0.173916
|
||||
bus/1/name = &"dialog"
|
||||
bus/1/solo = false
|
||||
bus/1/mute = false
|
||||
bus/1/bypass_fx = false
|
||||
bus/1/volume_db = -0.00828743
|
||||
bus/1/volume_db = -0.106054
|
||||
bus/1/send = &"game_sfx"
|
||||
bus/2/name = &"game_sfx"
|
||||
bus/2/solo = false
|
||||
bus/2/mute = false
|
||||
bus/2/bypass_fx = false
|
||||
bus/2/volume_db = -0.00606537
|
||||
bus/2/volume_db = -0.00828743
|
||||
bus/2/send = &"Master"
|
||||
|
@ -72,9 +72,9 @@ signal auto_save_seconds_changed
|
||||
@export var window_fullscreen := false
|
||||
@export var window_top := true
|
||||
# sound
|
||||
@export var db_master := linear_to_db(1.0) # default
|
||||
@export var db_dialog := linear_to_db(0.7) # default
|
||||
@export var db_game_sfx := linear_to_db(0.7) # default
|
||||
@export var db_master := -3.0 # default
|
||||
@export var db_dialog := -7.0 # default
|
||||
@export var db_game_sfx := 3.0 # default
|
||||
# language
|
||||
# -1 null; 0 zh_CN; 1 zh_SH; 2 en
|
||||
@export var language := 0
|
||||
|
@ -29,6 +29,12 @@ func _set_config(val: GlobalConfig) -> void:
|
||||
AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Master"), config.db_master)
|
||||
AudioServer.set_bus_volume_db(AudioServer.get_bus_index("game_sfx"), config.db_game_sfx)
|
||||
AudioServer.set_bus_volume_db(AudioServer.get_bus_index("dialog"), config.db_dialog)
|
||||
prints(
|
||||
"config load volume_db settings (master, sfx, dialog): ",
|
||||
config.db_master,
|
||||
config.db_game_sfx,
|
||||
config.db_dialog
|
||||
)
|
||||
|
||||
|
||||
func _on_timer_timeout():
|
||||
|
@ -42,15 +42,15 @@ func c02_fire_count_down_try_start():
|
||||
c02_fire_count_down_timer = Timer.new()
|
||||
c02_fire_count_down_timer.autostart = true
|
||||
if GlobalConfig.DEBUG:
|
||||
SceneManager.pop_debug_dialog_info("debug", "当前为测试模式,倒计时 10s;正式模式倒计时 60s")
|
||||
c02_fire_count_down_timer.wait_time = 10
|
||||
SceneManager.pop_debug_dialog_info("debug", "当前为测试模式,倒计时 15s;正式模式倒计时 60s")
|
||||
c02_fire_count_down_timer.wait_time = 15
|
||||
else:
|
||||
c02_fire_count_down_timer.wait_time = 60
|
||||
c02_fire_count_down_timer.one_shot = false
|
||||
c02_fire_count_down_timer.timeout.connect(_on_c02_fire_count_down_timeout)
|
||||
add_child(c02_fire_count_down_timer)
|
||||
SceneManager.pop_debug_dialog_info("音效", "霸凌救小蝉倒计时")
|
||||
AudioManager.loop_bgm_music("霸凌救小蝉倒计时", c02_fire_count_down_sfx)
|
||||
AudioManager.loop_bgm_music("霸凌救小蝉倒计时", c02_fire_count_down_sfx, 5)
|
||||
|
||||
|
||||
func _on_c02_fire_count_down_timeout():
|
||||
@ -66,7 +66,7 @@ func _on_c02_fire_count_down_timeout():
|
||||
# res://asset/audio/BGM/心跳背景音.mp3
|
||||
await get_tree().create_timer(3.0).timeout
|
||||
SceneManager.pop_debug_dialog_info("音效", "霸凌救小蝉倒计时")
|
||||
AudioManager.loop_bgm_music("霸凌救小蝉倒计时", c02_fire_count_down_sfx)
|
||||
AudioManager.loop_bgm_music("霸凌救小蝉倒计时", c02_fire_count_down_sfx, 5)
|
||||
c02_fire_count_down_timer.start()
|
||||
|
||||
|
||||
|
@ -120,10 +120,10 @@ func freeze_and_play(lock_time: float, animation := "", auto_quit := false) -> v
|
||||
printerr("Player node not found")
|
||||
|
||||
|
||||
func release_player():
|
||||
func release_player(force_clear:=false):
|
||||
var player = get_player()
|
||||
if player:
|
||||
player.release_player()
|
||||
player.release_player(force_clear)
|
||||
else:
|
||||
printerr("Player node not found")
|
||||
|
||||
|
@ -62,8 +62,7 @@ signal animation_finished
|
||||
if is_node_ready():
|
||||
_check_character_runtime_status()
|
||||
if val > 3:
|
||||
freeze_player(0, val, true)
|
||||
release_player()
|
||||
freeze_player(1, val, true)
|
||||
|
||||
# 使用 new,方便在 editor 中刷新新值
|
||||
var current_animation_config: Dictionary
|
||||
@ -298,14 +297,14 @@ func player_action(action_code: int, auto_quit: bool):
|
||||
sprite.animation_finished.connect(_play_animation, CONNECT_ONE_SHOT)
|
||||
|
||||
|
||||
var lock_mutex = Mutex.new()
|
||||
var freeze_counter := 0
|
||||
var release_timer: SceneTreeTimer
|
||||
|
||||
|
||||
# 自动解除对应 animation 的 loop 状态
|
||||
# lock_time: the time to lock the player action. 0 means lock forever, thus the player will be locked until release_player is called.
|
||||
func freeze_player(lock_time: float, action_code: int, auto_quit: bool) -> void:
|
||||
lock_mutex.lock()
|
||||
freeze_counter += 1
|
||||
action_freezed = true
|
||||
player_action(action_code, auto_quit)
|
||||
if lock_time:
|
||||
@ -314,15 +313,24 @@ func freeze_player(lock_time: float, action_code: int, auto_quit: bool) -> void:
|
||||
else:
|
||||
release_timer = get_tree().create_timer(lock_time)
|
||||
release_timer.timeout.connect(release_player)
|
||||
lock_mutex.unlock()
|
||||
|
||||
|
||||
func release_player():
|
||||
# force_clear 强制清零计数器
|
||||
func release_player(force_clear := false):
|
||||
release_timer = null
|
||||
lock_mutex.lock()
|
||||
freeze_counter -= 1
|
||||
if force_clear:
|
||||
if freeze_counter != 0 and GlobalConfig.DEBUG:
|
||||
printerr(
|
||||
"release_player force_clear=True worked. freeze_counter before: %s" % freeze_counter
|
||||
)
|
||||
freeze_counter = 0
|
||||
if freeze_counter == 0:
|
||||
action_freezed = false
|
||||
elif freeze_counter < 0:
|
||||
action_freezed = false
|
||||
printerr("release_player called with freeze_counter < 0, this should not happen.")
|
||||
# velocity_ratio = 1.0
|
||||
lock_mutex.unlock()
|
||||
# _play_animation()
|
||||
|
||||
|
||||
|
@ -42,12 +42,13 @@ size = Vector2(15, 180)
|
||||
z_index = 5
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_3a78y")
|
||||
catty_light_energy = 0.3
|
||||
running_locked = true
|
||||
metadata/_edit_vertical_guides_ = [-15.0, -3.0]
|
||||
|
||||
[node name="PointLight2D" type="PointLight2D" parent="."]
|
||||
position = Vector2(0, -60)
|
||||
energy = 0.8
|
||||
energy = 1.2
|
||||
range_item_cull_mask = 15
|
||||
shadow_enabled = true
|
||||
texture = SubResource("GradientTexture2D_gk3xo")
|
||||
|
@ -45,7 +45,6 @@ shape = SubResource("RectangleShape2D_ogin7")
|
||||
[node name="SignSnapper" type="Marker2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("7_dnubm")
|
||||
release_player_on_arrived = false
|
||||
radius = 3.0
|
||||
delay_arrived = 0.1
|
||||
action_on_arrived = 4
|
||||
|
@ -181,7 +181,6 @@ shape = SubResource("RectangleShape2D_4fuic")
|
||||
[node name="SignSnapper" type="Marker2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("8_7lwt5")
|
||||
release_player_on_arrived = false
|
||||
radius = 20.0
|
||||
walk_to_edge = true
|
||||
delay_arrived = 0.1
|
||||
|
@ -85,6 +85,7 @@ packed_scene = ExtResource("7_fvlg0")
|
||||
first_interact_os_key = "c02_保卫科祭台os"
|
||||
|
||||
[node name="Closeup老鼠精" parent="Ground/DeployLayer" index="4" instance=ExtResource("6_66gue")]
|
||||
light_mask = 5
|
||||
position = Vector2(207.5, -40.5)
|
||||
texture = ExtResource("11_ffvrp")
|
||||
packed_scene = ExtResource("8_cm3g6")
|
||||
|
@ -252,8 +252,9 @@ animation = &"奇怪的肉被拖进去动画"
|
||||
visible = false
|
||||
position = Vector2(668, 85)
|
||||
texture = ExtResource("18_bk7rf")
|
||||
sign_mark_offset = Vector2(0, -9.86)
|
||||
sign_mark_offset = Vector2(-2.98, -9.86)
|
||||
enabled = false
|
||||
collision_width_and_x = Vector2(43.96, 0)
|
||||
prop_key = "prop_奇怪的肉"
|
||||
|
||||
[node name="小蜡烛" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="14"]
|
||||
|
@ -63,6 +63,14 @@ func _on_ground_ready() -> void:
|
||||
ball_game_boys_ambush.enabled = true
|
||||
ball_game_boys_ambush.visible = true
|
||||
|
||||
if $"../DeployLayer/Ambush小蝉偷看".played:
|
||||
$"../DeployLayer/Ambush小蝉偷看".visible = false
|
||||
|
||||
# 小蝉偷看
|
||||
func glimpse_hide_out():
|
||||
$"../DeployLayer/Ambush小蝉偷看".visible = false
|
||||
$"Sfx偷看关门".play()
|
||||
|
||||
|
||||
func _on_mice_hole_interacted():
|
||||
mice_hole.enabled = false
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=49 format=3 uid="uid://cootarwb44vvh"]
|
||||
[gd_scene load_steps=51 format=3 uid="uid://cootarwb44vvh"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_qkymk"]
|
||||
[ext_resource type="Script" uid="uid://cbt0ubygchxvv" path="res://scene/ground/scene/c02/s06_animation.gd" id="2_4dg6u"]
|
||||
@ -12,6 +12,7 @@
|
||||
[ext_resource type="AudioStream" uid="uid://cljr4g0sivpdh" path="res://asset/audio/sfx/交互/sfx_煤油灯点燃成功.wav" id="5_wywax"]
|
||||
[ext_resource type="Texture2D" uid="uid://b78jbthcfkod7" path="res://asset/art/scene/c02/s03_公寓一楼院子/地面物品反光/地反光3.png" id="6_vbvbc"]
|
||||
[ext_resource type="PackedScene" uid="uid://cw3q5pvciumil" path="res://scene/entity/interactable.tscn" id="7_0d746"]
|
||||
[ext_resource type="AudioStream" uid="uid://5jk88e0cncy8" path="res://asset/audio/sfx/交互/序章/04_书店内_关门.wav" id="7_7kxvk"]
|
||||
[ext_resource type="Texture2D" uid="uid://f7yd3xpr1utp" path="res://asset/art/scene/c02/s06_二楼楼道/e_楼梯杂物堆.png" id="7_v3hjg"]
|
||||
[ext_resource type="Texture2D" uid="uid://b7uo33bdiwpl3" path="res://asset/art/scene/c02/s03_公寓一楼院子/地面物品反光/地反光4.png" id="8_7x2h6"]
|
||||
[ext_resource type="SpriteFrames" uid="uid://blij4obvhb1vf" path="res://asset/art/gif/c02_公寓过道/c02_公寓过道_frames.tres" id="8_nh8we"]
|
||||
@ -36,6 +37,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://ci5anaxsa1apl" path="res://scene/entity/inspectable.tscn" id="32_4ndyv"]
|
||||
[ext_resource type="Texture2D" uid="uid://day38kany2gmr" path="res://asset/art/scene/c02/小蝉寻人启事/e_寻人启事完整.png" id="33_h3h1a"]
|
||||
[ext_resource type="Texture2D" uid="uid://ce3d785v5lxg2" path="res://asset/art/scene/c02/小蝉寻人启事/ux_寻人启事完整.png" id="34_3u30v"]
|
||||
[ext_resource type="Texture2D" uid="uid://ca3km2f6ncrqo" path="res://asset/art/scene/c02/s06_二楼楼道/e_小蝉偷看.png" id="37_osg51"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_k01ve"]
|
||||
length = 0.001
|
||||
@ -866,6 +868,12 @@ bus = &"game_sfx"
|
||||
script = ExtResource("4_2e08x")
|
||||
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
||||
|
||||
[node name="Sfx偷看关门" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="3"]
|
||||
stream = ExtResource("7_7kxvk")
|
||||
bus = &"game_sfx"
|
||||
script = ExtResource("4_2e08x")
|
||||
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
||||
|
||||
[node name="BGSprite2D" parent="Ground" index="1"]
|
||||
light_mask = 5
|
||||
position = Vector2(0, -2)
|
||||
@ -1129,8 +1137,14 @@ texture = ExtResource("33_h3h1a")
|
||||
texture_cover = ExtResource("34_3u30v")
|
||||
content_key = "c02_寻人启事_完整"
|
||||
|
||||
[node name="Ambush小蝉偷看" parent="Ground/DeployLayer" index="19" instance=ExtResource("14_k01ve")]
|
||||
position = Vector2(553, -5)
|
||||
texture = ExtResource("37_osg51")
|
||||
collision_width_and_x = Vector2(150, 0)
|
||||
hook_method = "glimpse_hide_out"
|
||||
|
||||
[node name="MainPlayer" parent="Ground" index="4"]
|
||||
position = Vector2(650, 98)
|
||||
position = Vector2(63, 95)
|
||||
catty_light_energy = 0.5
|
||||
facing_direction = Vector2(1, 0)
|
||||
|
||||
|
@ -18,14 +18,14 @@ func _ready() -> void:
|
||||
button.pressed.connect(_on_button_pressed)
|
||||
fail_time = Time.get_ticks_msec()
|
||||
button.disabled = true
|
||||
if not ArchiveManager.get_global_value("c02_meat_door_interacted", false):
|
||||
ArchiveManager.set_global_entry("c02_meat_door_interacted", true)
|
||||
DialogueManager.show_dialogue_balloon(dialogue, "c02_s03_敲门游戏intro")
|
||||
await DialogueManager.dialogue_ended
|
||||
if (
|
||||
if ArchiveManager.get_global_value("c02_meat_given", false):
|
||||
# not ArchiveManager.get_global_value("c02_eavesdrop_finished", false) or
|
||||
# ArchiveManager.get_global_value("c02_meat_dropping", false) or
|
||||
# 敲门成功,则禁用
|
||||
ArchiveManager.get_global_value("c02_meat_given", false)
|
||||
):
|
||||
button.disabled = true
|
||||
else:
|
||||
button.disabled = false
|
||||
|
@ -19,6 +19,7 @@ texture = ExtResource("2_eyynm")
|
||||
[node name="ContentInspector" parent="." instance=ExtResource("3_lpmq3")]
|
||||
|
||||
[node name="遮罩" type="TextureRect" parent="ContentInspector"]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
|
@ -40,9 +40,6 @@ gravity = Vector3(0, 98, 0)
|
||||
scale_min = 0.35
|
||||
scale_max = 0.4
|
||||
scale_over_velocity_curve = SubResource("CurveTexture_jw8nx")
|
||||
collision_mode = 1
|
||||
collision_friction = 0.5
|
||||
collision_bounce = 0.0
|
||||
|
||||
[node name="BallsFalling" type="Node2D"]
|
||||
y_sort_enabled = true
|
||||
|
@ -6,7 +6,6 @@ signal exit(success)
|
||||
@onready var pivot = $Pivot as Node2D
|
||||
@onready var hand_pivot = $Pivot/HandPivot as Node2D
|
||||
@onready var label = %RichTextLabel as RichTextLabel
|
||||
@onready var audio_player = %AudioStreamPlayer as AudioStreamPlayer
|
||||
|
||||
# ogg文件:丢球(drop 地面明显碰撞声)+球碰球(hit 响亮)+细碎滚动声(loop)三个部分
|
||||
@onready var sfx_hit = $SfxHit as Sfx
|
||||
@ -244,6 +243,7 @@ func game_win() -> void:
|
||||
print("game_win 弹珠游戏胜利")
|
||||
# 0:默认 1:寻找弹珠(老虎钳可以换弹珠) 2:给出弹珠 3:游戏结束
|
||||
ArchiveManager.set_global_entry("c02_ball_game_stage", 3)
|
||||
%"Sfx结尾小孩跑".play()
|
||||
# 弹珠雨
|
||||
$BallsFalling.emitting = true
|
||||
pivot.visible = false
|
||||
|
@ -1,6 +1,7 @@
|
||||
[gd_scene load_steps=24 format=3 uid="uid://cjx7o685ox8c1"]
|
||||
[gd_scene load_steps=25 format=3 uid="uid://cjx7o685ox8c1"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c5s4giu182isu" path="res://scene/little_game/弹珠游戏/弹珠游戏.gd" id="1_p2trd"]
|
||||
[ext_resource type="AudioStream" uid="uid://cra6rqbs6r1qd" path="res://asset/audio/sfx/旧版/child/小孩从近到远跑步.wav" id="2_aqxy0"]
|
||||
[ext_resource type="Texture2D" uid="uid://bvf8b057baglw" path="res://asset/art/little_game/弹珠/bg_弹珠游戏.png" id="2_bm1k0"]
|
||||
[ext_resource type="Texture2D" uid="uid://bs4tp4amd1kkm" path="res://asset/art/little_game/弹珠/抱手.png" id="3_3kvx4"]
|
||||
[ext_resource type="AudioStream" uid="uid://bb6njoaxi2hbx" path="res://asset/audio/sfx/game/弹珠游戏/hit.ogg" id="3_co06r"]
|
||||
@ -255,6 +256,13 @@ radius = 300.0
|
||||
[node name="弹珠游戏" type="CanvasLayer"]
|
||||
script = ExtResource("1_p2trd")
|
||||
|
||||
[node name="Sfx结尾小孩跑" type="AudioStreamPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("2_aqxy0")
|
||||
bus = &"game_sfx"
|
||||
script = ExtResource("4_co06r")
|
||||
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="."]
|
||||
z_index = -1
|
||||
offset_left = -4.0
|
||||
@ -292,9 +300,6 @@ text = "[wave amp=10.0 freq=5.0][shake rate=4.0 level=3] 弹珠拿出来"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="MarginContainer"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_fk3jp")
|
||||
|
@ -14,8 +14,27 @@ extends CanvasLayer
|
||||
@onready var gallery_btn = %GalleryBtn as Button
|
||||
|
||||
# 音量 DB 偏移
|
||||
var sfx_db_offset := 6.0
|
||||
var dialog_db_offset := -20.0
|
||||
const sfx_db_offset := 6.0
|
||||
const dialog_db_offset := -10.0
|
||||
|
||||
|
||||
static func _init() -> void:
|
||||
AudioServer.set_bus_volume_db(
|
||||
AudioServer.get_bus_index("Master"), GlobalConfigManager.config.db_master
|
||||
)
|
||||
AudioServer.set_bus_volume_db(
|
||||
AudioServer.get_bus_index("game_sfx"), GlobalConfigManager.config.db_game_sfx
|
||||
)
|
||||
AudioServer.set_bus_volume_db(
|
||||
AudioServer.get_bus_index("dialog"), GlobalConfigManager.config.db_dialog
|
||||
)
|
||||
if GlobalConfig.DEBUG:
|
||||
prints(
|
||||
"_init setup volume_db (master, sfx, dialog): ",
|
||||
GlobalConfigManager.config.db_master,
|
||||
GlobalConfigManager.config.db_game_sfx,
|
||||
GlobalConfigManager.config.db_dialog
|
||||
)
|
||||
|
||||
|
||||
func _ready():
|
||||
|