生死簿音效全局播放;书店诡异版鬼差出现节奏调整

This commit is contained in:
cakipaul 2025-07-11 16:37:43 +08:00
parent 7e96461648
commit 36c45eb0aa
7 changed files with 31 additions and 19 deletions

View File

@ -147,8 +147,8 @@ func _on_shelf_game_success() -> void:
fall_off.visible = true fall_off.visible = true
fall_off.play() fall_off.play()
fall_off.animation_finished.connect(_on_fall_off_finished) fall_off.animation_finished.connect(_on_fall_off_finished)
# 从 sfx_生死簿演出 中退出时播放不出来,需要在此处播放 # 从 sfx_生死簿演出 中退出时播放不出来,需要在此处播放 (global_play)
Util.timer(0.5, $"摔倒音效".play) # Util.timer(0.5, $"摔倒音效".play)
_check_portal() _check_portal()

View File

@ -26,7 +26,8 @@ func _on_ground_ready() -> void:
flower = $"../DeployLayer/自动枯萎的花朵" flower = $"../DeployLayer/自动枯萎的花朵"
mice = $"../DeployLayer/自动枯萎的花朵/自动跟随的老鼠" mice = $"../DeployLayer/自动枯萎的花朵/自动跟随的老鼠"
ghost = $"../DeployLayer/Ghost" ghost = $"../DeployLayer/Ghost"
ghost_start_x = ghost.global_position.x # 被抓后重置位置靠右一些,直接开始追逐
ghost_start_x = ghost.global_position.x + 200
begger = $"../DeployLayer/举碗小孩" begger = $"../DeployLayer/举碗小孩"
ambush_begger = $"../DeployLayer/举碗小孩/Ambush举碗小孩" ambush_begger = $"../DeployLayer/举碗小孩/Ambush举碗小孩"
interactable_bowl = $"../DeployLayer/举碗小孩/Interactable碗" interactable_bowl = $"../DeployLayer/举碗小孩/Interactable碗"
@ -65,10 +66,12 @@ func _on_triggered_ghost_disappear() -> void:
var dark_light = $"../DeployLayer/花朵黑影" var dark_light = $"../DeployLayer/花朵黑影"
var diasppearing_ghost_sprite = $"../DeployLayer/门口鬼差" as AnimatedSprite2D var diasppearing_ghost_sprite = $"../DeployLayer/门口鬼差" as AnimatedSprite2D
$"Sfx鬼差出场".play(2.2) $"Sfx鬼差出场".play(2.2)
$"Sfx鬼差擦肩而过".play()
flower.focus_node = diasppearing_ghost_sprite flower.focus_node = diasppearing_ghost_sprite
var tween = create_tween() var tween = create_tween()
tween.tween_property(diasppearing_ghost_sprite, "modulate:a", 0.0, 1.0) tween.tween_property(diasppearing_ghost_sprite, "modulate:a", 0.0, 2.0)
tween.parallel().tween_property(dark_light, "energy", 0.8, 1.0) tween.parallel().tween_property(dark_light, "energy", 2.0, 1.0)
tween.parallel().tween_property(dark_light, "energy", 1.0, 1.0)
# 从中间只播放一下铃声 # 从中间只播放一下铃声
tween.tween_callback(func(): flower.focus_node = ghost) tween.tween_callback(func(): flower.focus_node = ghost)
@ -115,15 +118,17 @@ func _on_interactable_bowl_interacted() -> void:
_ghost_appear_sfx() _ghost_appear_sfx()
await Util.wait(1) await Util.wait(1)
SceneManager.get_player().set_facing_direction(Vector2.LEFT) SceneManager.get_player().set_facing_direction(Vector2.LEFT)
DialogueManager.show_dialogue_balloon(dialogue_c01, "c01_s12_鬼差来了")
var tween = create_tween() var tween = create_tween()
var camera = SceneManager.get_camera_marker() as CameraFocusMarker var camera = SceneManager.get_camera_marker() as CameraFocusMarker
tween.tween_interval(0.5) tween.tween_interval(0.5)
tween.tween_property(camera, "force_offset", Vector2(-100, 0), 2.0) tween.tween_property(camera, "force_offset", Vector2(-100, 0), 1.5)
tween.tween_interval(1.0) tween.tween_interval(2.0)
tween.tween_callback(DialogueManager.show_dialogue_balloon.bind(dialogue_c01, "c01_s12_鬼差来了"))
tween.tween_interval(3.0)
tween.tween_callback(SceneManager.unlock_player) tween.tween_callback(SceneManager.unlock_player)
tween.tween_interval(1.0)
tween.tween_property(camera, "force_offset", Vector2(0, 0), 2.0) tween.tween_property(camera, "force_offset", Vector2(0, 0), 2.0)
await tween.finished
var ghost_move_tween var ghost_move_tween
@ -181,7 +186,7 @@ func player_been_catched(transition := true) -> void:
SceneManager.get_player().global_position.x = player_start_x SceneManager.get_player().global_position.x = player_start_x
_ghost_appear_sfx() _ghost_appear_sfx()
DialogueManager.show_dialogue_balloon(dialogue_c01, "c01_s12_鬼差来了") DialogueManager.show_dialogue_balloon(dialogue_c01, "c01_s12_鬼差来了")
await DialogueManager.dialogue_ended # await DialogueManager.dialogue_ended
SceneManager.unlock_player() SceneManager.unlock_player()
ghost_move_tween = create_tween() ghost_move_tween = create_tween()

View File

@ -132,7 +132,7 @@ on_ground_ready = true
hook_method = "intro" hook_method = "intro"
[node name="Ambush鬼差消失" parent="Ground/DeployLayer" index="4" instance=ExtResource("9_nqlku")] [node name="Ambush鬼差消失" parent="Ground/DeployLayer" index="4" instance=ExtResource("9_nqlku")]
position = Vector2(1083, 72) position = Vector2(1048, 73)
[node name="门口鬼差" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="5"] [node name="门口鬼差" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="5"]
modulate = Color(1, 1, 1, 0.509804) modulate = Color(1, 1, 1, 0.509804)

View File

@ -185,9 +185,7 @@ func shocking_lighting() -> void:
func eavesdrop() -> void: func eavesdrop() -> void:
$"../DeployLayer/Ambush偷听对话".enabled = false $"../DeployLayer/Ambush偷听对话".enabled = false
# 12 c00_吕萍_蹲下 13 c00_吕萍_蹲下呼吸 14 c00_吕萍_起立 # 12 c00_吕萍_蹲下 13 c00_吕萍_蹲下呼吸 14 c00_吕萍_起立
SceneManager.lock_player(0, 12) await SceneManager.lock_player(0, 12)
# play("eavesdrop")
await SceneManager.get_player().animation_finished
SceneManager.player_action(13) SceneManager.player_action(13)
# 对话 # 对话
DialogueManager.show_dialogue_balloon(dialogue_c02, "c02_04_李氏癞子") DialogueManager.show_dialogue_balloon(dialogue_c02, "c02_04_李氏癞子")

View File

@ -879,8 +879,8 @@ colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_0k27j"] [sub_resource type="GradientTexture2D" id="GradientTexture2D_0k27j"]
gradient = SubResource("Gradient_lipxo") gradient = SubResource("Gradient_lipxo")
width = 30 width = 35
height = 30 height = 35
fill = 1 fill = 1
fill_from = Vector2(0.5, 0.5) fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(1, 1) fill_to = Vector2(1, 1)
@ -1066,6 +1066,9 @@ shape = SubResource("RectangleShape2D_lh55k")
position = Vector2(0, 15) position = Vector2(0, 15)
texture = ExtResource("8_7x2h6") texture = ExtResource("8_7x2h6")
[node name="灯光" parent="Ground/DeployLayer/煤油灯" index="5"]
animation = &"小蝉背对呼吸帧"
[node name="煤油灯2" type="Sprite2D" parent="Ground/DeployLayer" index="9"] [node name="煤油灯2" type="Sprite2D" parent="Ground/DeployLayer" index="9"]
position = Vector2(321, 1) position = Vector2(321, 1)
texture = ExtResource("16_osg51") texture = ExtResource("16_osg51")

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=18 format=3 uid="uid://xovlfee503a4"] [gd_scene load_steps=19 format=3 uid="uid://xovlfee503a4"]
[ext_resource type="Texture2D" uid="uid://cawpq7rnho5px" path="res://asset/art/gif/c02_小手/洞.png" id="1_47cqy"] [ext_resource type="Texture2D" uid="uid://cawpq7rnho5px" path="res://asset/art/gif/c02_小手/洞.png" id="1_47cqy"]
[ext_resource type="Script" uid="uid://my5xqi3bkka6" path="res://scene/ground/script/c02/小手讨东西.gd" id="1_n7thl"] [ext_resource type="Script" uid="uid://my5xqi3bkka6" path="res://scene/ground/script/c02/小手讨东西.gd" id="1_n7thl"]
@ -17,6 +17,12 @@
[ext_resource type="PackedScene" uid="uid://dsa6frlw6e6gg" path="res://scene/entity/pickable.tscn" id="12_6lwlv"] [ext_resource type="PackedScene" uid="uid://dsa6frlw6e6gg" path="res://scene/entity/pickable.tscn" id="12_6lwlv"]
[ext_resource type="Script" uid="uid://cnt01hiw52bmn" path="res://scene/entity/ux/sign_snapper.gd" id="15_lr23o"] [ext_resource type="Script" uid="uid://cnt01hiw52bmn" path="res://scene/entity/ux/sign_snapper.gd" id="15_lr23o"]
[sub_resource type="AudioStreamInteractive" id="AudioStreamInteractive_0tuif"]
clip_count = 1
clip_0/name = &"撞到柜子"
clip_0/stream = ExtResource("10_0tuif")
clip_0/auto_advance = 0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_yatcw"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_yatcw"]
resource_local_to_scene = true resource_local_to_scene = true
size = Vector2(20, 70) size = Vector2(20, 70)
@ -47,7 +53,7 @@ script = ExtResource("7_7dftu")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m" metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="Sfx摔倒" type="AudioStreamPlayer" parent="."] [node name="Sfx摔倒" type="AudioStreamPlayer" parent="."]
stream = ExtResource("10_0tuif") stream = SubResource("AudioStreamInteractive_0tuif")
bus = &"game_sfx" bus = &"game_sfx"
script = ExtResource("7_7dftu") script = ExtResource("7_7dftu")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m" metadata/_custom_type_script = "uid://rq6w1vuhuq1m"

View File

@ -16,7 +16,7 @@ func play() -> void:
tween = create_tween() tween = create_tween()
# 在小蝶名字消失的末尾(还没完全消失),开始盖章 # 在小蝶名字消失的末尾(还没完全消失),开始盖章
tween.tween_interval(1.5) tween.tween_interval(1.5)
tween.tween_callback($"Sfx生死簿演出".play) tween.tween_callback($"Sfx生死簿演出".global_play)
tween.tween_interval(3) tween.tween_interval(3)
# 小蝶名字消失后再显示其他名字 # 小蝶名字消失后再显示其他名字
var interval = 1.0 var interval = 1.0