音效配置

This commit is contained in:
cakipaul 2025-06-18 21:48:59 +08:00
parent 2f72f1bd92
commit bfa7fc40ac
97 changed files with 724 additions and 85 deletions

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cmi6fd68s1ukb"
path="res://.godot/imported/sfx_关闭设置.wav-daf18d6b41e6c9aae5284e1acf71ec6e.sample"
[deps]
source_file="res://asset/audio/sfx/交互/sfx_关闭设置.wav"
dest_files=["res://.godot/imported/sfx_关闭设置.wav-daf18d6b41e6c9aae5284e1acf71ec6e.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

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://dlt4nv6qjhlpy"
path="res://.godot/imported/sfx_打开设置.wav-739f5ac6ea5404f925e6f8293fb4a6f2.sample"
[deps]
source_file="res://asset/audio/sfx/交互/sfx_打开设置.wav"
dest_files=["res://.godot/imported/sfx_打开设置.wav-739f5ac6ea5404f925e6f8293fb4a6f2.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

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://c57eu0dnr821k"
path="res://.godot/imported/sfx_检阅道具.wav-7d4b83f5fd66b45373254fc1fcb22907.sample"
[deps]
source_file="res://asset/audio/sfx/交互/sfx_检阅道具.wav"
dest_files=["res://.godot/imported/sfx_检阅道具.wav-7d4b83f5fd66b45373254fc1fcb22907.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

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cljr4g0sivpdh"
path="res://.godot/imported/sfx_煤油灯点燃成功.wav-5ec82c68c35713786ea2a3d4a746b42e.sample"
[deps]
source_file="res://asset/audio/sfx/交互/sfx_煤油灯点燃成功.wav"
dest_files=["res://.godot/imported/sfx_煤油灯点燃成功.wav-5ec82c68c35713786ea2a3d4a746b42e.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

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://d0w4nxwj126pf"
path="res://.godot/imported/sfx_坍塌.wav-935812c1204d7020b52e369b3edcb036.sample"
[deps]
source_file="res://asset/audio/sfx/交互/第一章/sfx_坍塌.wav"
dest_files=["res://.godot/imported/sfx_坍塌.wav-935812c1204d7020b52e369b3edcb036.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

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://44slgncnt6sj"
path="res://.godot/imported/sfx_手交互成功.wav-4d532f5089b62707f0d65285531d74f7.sample"
[deps]
source_file="res://asset/audio/sfx/交互/第一章/sfx_手交互成功.wav"
dest_files=["res://.godot/imported/sfx_手交互成功.wav-4d532f5089b62707f0d65285531d74f7.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

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bomvnle4oh1ol"
path="res://.godot/imported/sfx_折纸.wav-149b4d9a386e4f2b35ba9f0b10ab601b.sample"
[deps]
source_file="res://asset/audio/sfx/交互/第一章/sfx_折纸.wav"
dest_files=["res://.godot/imported/sfx_折纸.wav-149b4d9a386e4f2b35ba9f0b10ab601b.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

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://7of24bqow07e"
path="res://.godot/imported/sfx_敲门1.wav-1c8265fc5da1dd78fdf657a9fa511d7b.sample"
[deps]
source_file="res://asset/audio/sfx/交互/第一章/sfx_敲门1.wav"
dest_files=["res://.godot/imported/sfx_敲门1.wav-1c8265fc5da1dd78fdf657a9fa511d7b.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

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://dw8dprxhvas85"
path="res://.godot/imported/sfx_敲门2.wav-f372a18cad0983ad8369afcad6836870.sample"
[deps]
source_file="res://asset/audio/sfx/交互/第一章/sfx_敲门2.wav"
dest_files=["res://.godot/imported/sfx_敲门2.wav-f372a18cad0983ad8369afcad6836870.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

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://b1kaqn1ewg2ly"
path="res://.godot/imported/sfx_肉落下.wav-2aa043e67d8246ba6216a36daaeb060d.sample"
[deps]
source_file="res://asset/audio/sfx/交互/第一章/sfx_肉落下.wav"
dest_files=["res://.godot/imported/sfx_肉落下.wav-2aa043e67d8246ba6216a36daaeb060d.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

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://civuwccn6v6yk"
path="res://.godot/imported/sfx_闷雷声.wav-8eaf27fcd5a94020964c338fc0c3a391.sample"
[deps]
source_file="res://asset/audio/sfx/交互/第一章/sfx_闷雷声.wav"
dest_files=["res://.godot/imported/sfx_闷雷声.wav-8eaf27fcd5a94020964c338fc0c3a391.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

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://3lgyj2wweska"
path="res://.godot/imported/猫咪走路1.wav-feb5141e944f1844e09a0f2e9b9e0b59.sample"
[deps]
source_file="res://asset/audio/sfx/脚步/猫咪走路1.wav"
dest_files=["res://.godot/imported/猫咪走路1.wav-feb5141e944f1844e09a0f2e9b9e0b59.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

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://dd2whbtg7ah8a"
path="res://.godot/imported/猫咪走路2.wav-d5be14a9881c2656a5f0832dee1c777c.sample"
[deps]
source_file="res://asset/audio/sfx/脚步/猫咪走路2.wav"
dest_files=["res://.godot/imported/猫咪走路2.wav-d5be14a9881c2656a5f0832dee1c777c.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

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cf5wdijp6o8oo"
path="res://.godot/imported/猫咪走路3.wav-a25b4b95825eb1c9dcb1d7ab53af8d0f.sample"
[deps]
source_file="res://asset/audio/sfx/脚步/猫咪走路3.wav"
dest_files=["res://.godot/imported/猫咪走路3.wav-a25b4b95825eb1c9dcb1d7ab53af8d0f.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

View File

@ -3445,7 +3445,7 @@ animations = [{
}],
"loop": true,
"name": &"c02_盒子猫_running_r",
"speed": 7.0
"speed": 9.0
}, {
"frames": [{
"duration": 1.0,
@ -3471,7 +3471,7 @@ animations = [{
}],
"loop": true,
"name": &"c02_盒子猫_walking_r",
"speed": 5.0
"speed": 6.0
}, {
"frames": [{
"duration": 1.0,

View File

@ -0,0 +1,11 @@
[gd_resource type="Resource" script_class="AudioStreamCollection" load_steps=5 format=3 uid="uid://cdf22t7bg2edp"]
[ext_resource type="AudioStream" uid="uid://3lgyj2wweska" path="res://asset/audio/sfx/脚步/猫咪走路1.wav" id="1_2gs13"]
[ext_resource type="Script" uid="uid://bgxi2pq6x5d88" path="res://config/audio/audio_stream_collection.gd" id="1_xb1uk"]
[ext_resource type="AudioStream" uid="uid://dd2whbtg7ah8a" path="res://asset/audio/sfx/脚步/猫咪走路2.wav" id="2_rf711"]
[ext_resource type="AudioStream" uid="uid://cf5wdijp6o8oo" path="res://asset/audio/sfx/脚步/猫咪走路3.wav" id="3_xgf5m"]
[resource]
script = ExtResource("1_xb1uk")
audios = Array[AudioStream]([ExtResource("1_2gs13"), ExtResource("2_rf711"), ExtResource("3_xgf5m")])
metadata/_custom_type_script = "uid://bgxi2pq6x5d88"

View File

@ -1,8 +1,11 @@
extends Node
# random players
var sfx_players = [] as Array[AudioStreamPlayer]
var idx = 0
# bgm player
var bgm_dict = {}
# vibe player
func _ready() -> void:
@ -12,6 +15,18 @@ func _ready() -> void:
sfx_player.bus = "game_sfx"
add_child(sfx_player)
# 初始化基础播放器
_base_player = AudioStreamPlayer.new()
_base_player.name = "BaseAmbiencePlayer"
add_child(_base_player)
# 初始化点缀音播放器池
for i in range(_EMBELLISHMENT_PLAYER_POOL_SIZE):
var player = AudioStreamPlayer.new()
player.name = "EmbellishmentPlayer_" + str(i)
add_child(player)
_embellishment_players.append(player)
func play_sfx(sfx: AudioStream, db := 1.0) -> void:
sfx_players[idx].stream = sfx
@ -41,7 +56,7 @@ func loop_bgm_music(music_name: StringName, stream: AudioStream, db := 0.0, loop
audio_player.finished.connect(audio_player.play)
func stop_bgm_music(music_name: StringName, ease_duration:= 3.0) -> void:
func stop_bgm_music(music_name: StringName, ease_duration := 3.0) -> void:
var audio_player = bgm_dict.get(music_name) as AudioStreamPlayer
if audio_player:
if ease_duration <= 0:
@ -54,3 +69,98 @@ func stop_bgm_music(music_name: StringName, ease_duration:= 3.0) -> void:
bgm_dict.erase(music_name)
else:
print("music bgm not found: ", music_name)
#### vibe management
## 负责实际创建 AudioStreamPlayer 节点并播放、管理 VibeGroup。
# 当前正在播放的音轨组资源
var current_vibe_group: VibeGroup = null
# 用于播放基础环境音的播放器
var _base_player: AudioStreamPlayer
# 用于播放点缀音的播放器池。使用池可以处理多个点缀音同时播放的情况。
var _embellishment_players: Array[AudioStreamPlayer] = []
# 用于管理点缀音播放间隔的计时器
var _embellishment_timers: Array[Timer] = []
const _EMBELLISHMENT_PLAYER_POOL_SIZE = 8 # 点缀音播放器池的大小,可根据需求调整
## 核心方法:播放一个指定的 VibeGroup
func play_group(group: VibeGroup):
if not is_instance_valid(group):
printerr("VibeManager: VibeGroup is not valid.")
stop_all()
return
# 如果请求播放的是当前已在播放的组,则忽略
if group == current_vibe_group:
return
stop_all()
current_vibe_group = group
# 播放基础环境音
if is_instance_valid(current_vibe_group.base_sound):
_base_player.stream = current_vibe_group.base_sound
# TODO 设置循环
if _base_player.stream is AudioStreamOggVorbis:
(_base_player.stream as AudioStreamOggVorbis).loop = true
# 注意WAV 默认导入设置中需要勾选 loop
_base_player.volume_db = current_vibe_group.group_db + current_vibe_group.base_sound_db
_base_player.play()
# 设置并启动所有点缀音的计时器
for embellishment in current_vibe_group.embellishments:
if not is_instance_valid(embellishment) or not is_instance_valid(embellishment.sound):
continue
var timer = Timer.new()
timer.one_shot = true
# 使用 lambda 函数或 bind 将点缀音数据传递给超时处理函数
timer.timeout.connect(_on_embellishment_timer_timeout.bind(embellishment, timer))
add_child(timer)
_embellishment_timers.append(timer)
# 首次启动计时器
var random_wait_time = randf_range(embellishment.min_interval, embellishment.max_interval)
timer.start(random_wait_time)
## 停止所有当前播放的音效和计时器
func stop_all():
_base_player.stop()
for player in _embellishment_players:
player.stop()
for timer in _embellishment_timers:
timer.queue_free()
_embellishment_timers.clear()
current_vibe_group = null
# 当某个点缀音的计时器到期时调用
func _on_embellishment_timer_timeout(embellishment: Embellishment, timer: Timer):
# 寻找一个空闲的点缀音播放器
var player = _get_available_embellishment_player()
if is_instance_valid(player):
player.stream = embellishment.sound
player.volume_db = current_vibe_group.group_db + embellishment.db
player.play()
# 重新启动计时器,实现循环随机播放
var random_wait_time = randf_range(embellishment.min_interval, embellishment.max_interval)
timer.start(random_wait_time)
# 从池中获取一个当前未在播放的播放器
func _get_available_embellishment_player() -> AudioStreamPlayer:
for player in _embellishment_players:
if not player.playing:
return player
# 如果所有播放器都在忙可以考虑返回null或者动态创建新的播放器不推荐可能导致节点泄漏
printerr("VibeManager: No available embellishment player in the pool.")
return null

View File

@ -0,0 +1,26 @@
@tool
class_name Embellishment
extends Resource
## Embellishment.gd
## 定义一个“点缀音”的数据结构。
## 作为一个可复用的资源,你可以在文件系统中创建多个点缀音配置,
## 比如 "cricket_sound.tres", "wind_gust.tres" 等。
# 点缀音的音源文件wav, ogg, mp3等
@export var sound: AudioStream
# 播放此点缀音时,相对于 VibeGroup 整体音量的分贝dB调整值。
# 0 表示不变, 负数表示减小音量, 正数表示增大音量。
@export_range(-60, 6, 0.1, "dB") var db: float = 0.0
# 播放此点缀音的最小随机间隔时间(秒)。
@export_range(0.1, 300.0, 0.1, "s") var min_interval: float = 5.0
# 播放此点缀音的最大随机间隔时间(秒)。
@export_range(0.1, 300.0, 0.1, "s") var max_interval: float = 10.0
func _init():
# 确保 min <= max
if min_interval > max_interval:
max_interval = min_interval

View File

@ -0,0 +1 @@
uid://eydkufjbf7n6

View File

@ -0,0 +1,26 @@
@tool
class_name VibeGroup
extends Resource
## VibeGroup.gd
## 定义一个“音轨组”的数据结构。
## 这是一个核心资源,包含了完整的环境音效配置方案。
## 你可以创建如 "forest_day.tres", "dungeon_terror.tres" 等资源文件。
@export var group_name := ""
# 该音轨组的全局音量调整dB。会影响到其下所有的声音。
@export_range(-60, 6, 0.1, "dB") var group_db: float = 0.0
@export_group("Base Ambience", "base_")
# 基础环境音(白噪音),要求是无缝循环的音频文件。
@export var base_sound: AudioStream
# 基础环境音的独立音量调整dB
@export_range(-60, 6, 0.1, "dB") var base_sound_db: float = 0.0
@export_group("Embellishments", "embellishment_")
# 点缀音效列表。可以从库中拖入预设好的 Embellishment.tres 资源。
# 你也可以直接在这里新建 Embellishment 资源实现“特制wav”的需求。
@export var embellishments: Array[Embellishment]

View File

@ -0,0 +1 @@
uid://cy1ngx5no67v

View File

@ -0,0 +1,53 @@
@tool
class_name VibeSfx
extends Node
## VibeSfx.gd
## 场景中的环境音效控制器节点(“遥控器”)。
## 你可以将此节点放置在任何场景中,用于配置和触发不同的 VibeGroup。
## 它通过调用全局的 VibeManager 来实现功能。
# VibeGroup 库。使用字典可以方便地通过名称(如 "default", "battle")来引用不同的音轨组。
# 你可以在 Inspector 中配置这个字典,将名称映射到 VibeGroup.tres 资源文件。
@export var vibe_groups: Dictionary[String, VibeGroup] = {"default": null}
# 当此节点进入场景树时,是否自动播放指定的 VibeGroup。
@export var autoplay: bool = true
const autoplay_group_name := &"default"
func _ready():
# 仅在游戏运行时执行
if Engine.is_editor_hint():
return
if autoplay:
if vibe_groups.has(autoplay_group_name):
switch_to(autoplay_group_name)
else:
printerr(
(
"VibeSfx: Autoplay group '%s' not found in vibe_groups dictionary."
% autoplay_group_name
)
)
## 公共方法:切换到指定的 VibeGroup。
## 可以在其他脚本(如过场动画控制器、区域触发器)中调用此方法。
## example: $VibeSfx.switch_to("event_1_vibe")
func switch_to(group_name: StringName):
if vibe_groups.has(group_name):
var group_resource: VibeGroup = vibe_groups[group_name]
if is_instance_valid(group_resource):
AudioManager.play_group(group_resource)
else:
printerr("VibeSfx: Resource for group '%s' is null or invalid." % group_name)
else:
printerr("VibeSfx: Group name '%s' not found." % group_name)
## 公共方法:停止所有由 VibeManager 控制的环境音。
func stop():
AudioManager.stop_all()

View File

@ -0,0 +1 @@
uid://cpejxlfni6n52

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=3 uid="uid://byj234hen4btr"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="1_ng32y"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="1_ng32y"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/UI/click.wav" id="1_xj6dy"]
[node name="Sfx" type="AudioStreamPlayer"]

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://bq1ngudr2hnkg"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/UI/click.wav" id="1_7vcpo"]
[ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/general/sfx2d.gd" id="1_k1qpr"]
[ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/audio/sfx2d.gd" id="1_k1qpr"]
[node name="Sfx2d" type="AudioStreamPlayer2D"]
stream = ExtResource("1_7vcpo")

View File

@ -5,7 +5,7 @@
[ext_resource type="Texture2D" uid="uid://bc8sn2v4t1yta" path="res://asset/art/ui/action_mark/UI开锁.png" id="3_dnubm"]
[ext_resource type="Texture2D" uid="uid://gui0ubwlwoi0" path="res://asset/art/ui/action_mark/UI手.png" id="4_18yy2"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_dnubm"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="5_dnubm"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="5_dnubm"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ogin7"]
resource_local_to_scene = true

View File

@ -2,7 +2,7 @@
[ext_resource type="Script" uid="uid://c5hjtm0kn3ig3" path="res://scene/entity/hd_entity.gd" id="1_fp2a8"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/UI/click.wav" id="2_eiqig"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="3_5dpvj"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_5dpvj"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="3_jupnr"]
[ext_resource type="Texture2D" uid="uid://bei1s1uucktso" path="res://asset/art/tool/neutral_point_light.webp" id="3_oxpta"]

View File

@ -3,7 +3,7 @@
[ext_resource type="Script" uid="uid://ctd1xlvqdcsg4" path="res://scene/entity/inspectable.gd" id="1_0pc4s"]
[ext_resource type="Texture2D" uid="uid://c0rw25jl762a1" path="res://asset/art/ui/action_mark/UI眼睛.png" id="2_ossmq"]
[ext_resource type="AudioStream" uid="uid://dky3j8lwcy5sk" path="res://asset/audio/sfx/UI/物品查看.mp3" id="3_kilnm"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="3_p1g2a"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_p1g2a"]
[ext_resource type="Texture2D" uid="uid://bei1s1uucktso" path="res://asset/art/tool/neutral_point_light.webp" id="3_vbivp"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_1yty8"]

View File

@ -7,7 +7,7 @@
[ext_resource type="AudioStream" uid="uid://inmdv5gqqius" path="res://asset/audio/sfx/UI/门锁互动.mp3" id="4_n1rbo"]
[ext_resource type="Texture2D" uid="uid://gui0ubwlwoi0" path="res://asset/art/ui/action_mark/UI手.png" id="4_njk43"]
[ext_resource type="AudioStream" uid="uid://ccng5y2fip6mc" path="res://asset/audio/sfx/UI/开锁声.mp3" id="5_exp6m"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="6_l2kr5"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="6_l2kr5"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_8d3b4"]
resource_local_to_scene = true

View File

@ -4,7 +4,7 @@
[ext_resource type="Texture2D" uid="uid://c0rw25jl762a1" path="res://asset/art/ui/action_mark/UI眼睛.png" id="2_3pauf"]
[ext_resource type="AudioStream" uid="uid://byjcmxy5crce5" path="res://asset/audio/sfx/UI/纸条.mp3" id="3_3ldx7"]
[ext_resource type="Texture2D" uid="uid://bei1s1uucktso" path="res://asset/art/tool/neutral_point_light.webp" id="3_o562w"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="3_q18ff"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_q18ff"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_do8tr"]
[ext_resource type="Texture2D" uid="uid://dwgxa5j6602vv" path="res://asset/art/ui/prop/inspect文本衬底蒙版.png" id="6_q18ff"]
[ext_resource type="FontVariation" uid="uid://1ryw42kej6lv" path="res://config/font_ui.tres" id="7_ianbs"]

View File

@ -4,7 +4,7 @@
[ext_resource type="Texture2D" uid="uid://c0rw25jl762a1" path="res://asset/art/ui/action_mark/UI眼睛.png" id="2_ycvi5"]
[ext_resource type="Texture2D" uid="uid://bei1s1uucktso" path="res://asset/art/tool/neutral_point_light.webp" id="3_xb81s"]
[ext_resource type="AudioStream" uid="uid://byjcmxy5crce5" path="res://asset/audio/sfx/UI/纸条.mp3" id="3_y3pwa"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_ycvi5"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_ycvi5"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="5_dhwp5"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_k6och"]

View File

@ -2,7 +2,7 @@
[ext_resource type="Script" uid="uid://cqd5dqafxnwl1" path="res://scene/entity/npc.gd" id="1_jegr2"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/UI/click.wav" id="3_7lwt5"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_j5svs"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_j5svs"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_nokx4"]
[ext_resource type="Texture2D" uid="uid://bwt5nxyncfuqu" path="res://asset/art/ui/action_mark/说话标识1.png" id="5_foitt"]
[ext_resource type="Texture2D" uid="uid://8bnn3s72o87y" path="res://asset/art/ui/action_mark/说话标识2.png" id="6_2n6ge"]

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=7 format=3 uid="uid://dsa6frlw6e6gg"]
[ext_resource type="Script" uid="uid://cd3tb2he77vv4" path="res://scene/entity/pickable.gd" id="1_jk1u0"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="3_1h8r3"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_1h8r3"]
[ext_resource type="AudioStream" uid="uid://dutk2d7nilv3m" path="res://asset/audio/sfx/UI/令牌道具获取.wav" id="3_dxdbj"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_44f4h"]
[ext_resource type="Texture2D" uid="uid://bei1s1uucktso" path="res://asset/art/tool/neutral_point_light.webp" id="5_yhysn"]

View File

@ -8,7 +8,7 @@
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_ty1ds"]
[ext_resource type="AudioStream" uid="uid://ccng5y2fip6mc" path="res://asset/audio/sfx/UI/开锁声.mp3" id="5_l48hy"]
[ext_resource type="AudioStream" uid="uid://dqdjxy04ge0r5" path="res://asset/audio/sfx/旧版/c02/场景转场.mp3" id="6_1sj6c"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="6_bxihn"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="6_bxihn"]
[ext_resource type="AudioStream" uid="uid://c1eftumrd4mgw" path="res://asset/audio/sfx/交互/开门.wav" id="6_p48ld"]
[ext_resource type="AudioStream" uid="uid://inmdv5gqqius" path="res://asset/audio/sfx/UI/门锁互动.mp3" id="7_bjcty"]

View File

@ -43,7 +43,7 @@ var footstep_type: String = "硬地面":
const FOOTSTEP_AUDIO = {
#"wood": preload("res://config/audio/footstep/footstep_wood.tres"),
#"carpet": preload("res://config/audio/footstep/footstep_carpet.tres"),
"concrete": preload("res://config/audio/footstep/footstep_concrete.tres"),
# "concrete": preload("res://config/audio/footstep/footstep_concrete.tres"),
#"grass": preload("res://config/audio/footstep/footstep_grass.tres"),
#"snow": preload("res://config/audio/footstep/footstep_snow.tres"),
"ghost": preload("res://config/audio/sfx/footstep_ghost.tres"),
@ -51,7 +51,7 @@ const FOOTSTEP_AUDIO = {
"室外": preload("res://config/audio/sfx/footstep_室外.tres"),
"crawling": preload("res://config/audio/sfx/footstep_crawling.tres"),
# 待替换
"盒子猫": preload("res://config/audio/footstep/footstep_concrete.tres"),
"盒子猫": preload("res://config/audio/sfx/footstep_meow.tres"),
}
var restarting = false

View File

@ -8,7 +8,7 @@
[ext_resource type="AudioStream" uid="uid://c45hu50ivpd42" path="res://asset/audio/sfx/交互/序章/01_院长房间_扶正相框.wav" id="3_jk3np"]
[ext_resource type="AudioStream" uid="uid://b5iv527ujwp0i" path="res://asset/audio/peiyin_new/c01_1小小蝶_开头阅读1.wav" id="3_sluu3"]
[ext_resource type="Texture2D" uid="uid://blv2ftjrmvlmh" path="res://asset/art/scene/c01/s05_院长房间/fg_前景.png" id="3_vmr0f"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_1jor4"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_1jor4"]
[ext_resource type="Texture2D" uid="uid://bh7l6ykoayvve" path="res://asset/art/scene/c01/s05_院长房间/e_门.png" id="4_gdhoy"]
[ext_resource type="AudioStream" uid="uid://c7k1gohcfiyg3" path="res://asset/audio/sfx/UI/开门.mp3" id="5_1jor4"]
[ext_resource type="AudioStream" uid="uid://c1obirjf802gc" path="res://asset/audio/sfx/交互/序章/01_院长房间_下床.wav" id="5_f33sv"]
@ -18,7 +18,7 @@
[ext_resource type="Texture2D" uid="uid://dihrl7mgckinx" path="res://asset/art/scene/c01/s05_院长房间/e_钢琴.png" id="8_mnduo"]
[ext_resource type="Texture2D" uid="uid://cmrpf3w0oetem" path="res://asset/art/scene/c01/s05_院长房间/e_桌椅.png" id="9_x837o"]
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="10_18v0g"]
[ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/general/sfx2d.gd" id="10_kyds0"]
[ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/audio/sfx2d.gd" id="10_kyds0"]
[ext_resource type="Texture2D" uid="uid://choqjery7hf58" path="res://asset/art/scene/c01/s05_院长房间/e_画框.png" id="11_6gq1s"]
[ext_resource type="Texture2D" uid="uid://dae5yrbb5llia" path="res://asset/art/scene/c01/s05_院长房间/e_鸡毛掸子.png" id="12_jtglg"]
[ext_resource type="SpriteFrames" uid="uid://b7fhheih1hbvf" path="res://config/animation/entity_sprite_frames.tres" id="14_e1bmq"]

View File

@ -9,7 +9,7 @@
[ext_resource type="Texture2D" uid="uid://c40gmvqw3vd88" path="res://asset/art/scene/c01/s06_孤儿院长廊围墙/l_长廊光.png" id="4_6ffae"]
[ext_resource type="Texture2D" uid="uid://bllt2wycchkp2" path="res://asset/art/scene/c01/s06_孤儿院长廊围墙/e_红柱子.png" id="4_dtycx"]
[ext_resource type="Texture2D" uid="uid://cc1jlm2e465um" path="res://asset/art/scene/c01/s06_孤儿院长廊围墙/bg_墙园门顶层.png" id="4_ga8xr"]
[ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/general/sfx2d.gd" id="4_qq2uh"]
[ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/audio/sfx2d.gd" id="4_qq2uh"]
[ext_resource type="AudioStream" uid="uid://dlsd8wrx3v31f" path="res://asset/audio/sfx/环境音/序章/02_孤儿院走廊.wav" id="5_6mww0"]
[ext_resource type="PackedScene" uid="uid://cpc5037mesjl7" path="res://scene/ground/script/c01/s06_踢球男孩.tscn" id="5_erliv"]
[ext_resource type="Texture2D" uid="uid://b08jrwtr3dpaq" path="res://asset/art/scene/c01/s06_孤儿院长廊围墙/bg_树干遮挡.png" id="5_rdmp5"]

View File

@ -7,7 +7,7 @@
[ext_resource type="AudioStream" uid="uid://cxwvfeuq4o71o" path="res://asset/audio/sfx/环境音/序章/03_书店外黄昏.wav" id="3_na2nu"]
[ext_resource type="Texture2D" uid="uid://dklacql2hdtwv" path="res://asset/art/scene/c01/s07_书店外/e_装饰 书店外黄昏.png" id="4_8do8y"]
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/shading/fog.tscn" id="4_62isb"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_c7jb6"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_c7jb6"]
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_ulvsd"]
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="5_3pha1"]
[ext_resource type="AudioStream" uid="uid://bdnqngprqadud" path="res://asset/audio/sfx/交互/序章/03_书店外黄昏_报童.wav" id="5_7sdrt"]
@ -21,7 +21,7 @@
[ext_resource type="PackedScene" uid="uid://b50n0hvs4yh75" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn" id="9_slaub"]
[ext_resource type="Texture2D" uid="uid://cxi0n7ra3blhr" path="res://asset/art/scene/c01/s07_书店外/书店外街道黄昏参考.png" id="12_vjih6"]
[ext_resource type="AudioStream" uid="uid://dwvpevfbtqbm1" path="res://asset/audio/sfx/环境音/序章/03_书店外黄昏_舞刀声音.wav" id="14_c7jb6"]
[ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/general/sfx2d.gd" id="19_sqlmr"]
[ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/audio/sfx2d.gd" id="19_sqlmr"]
[sub_resource type="AtlasTexture" id="AtlasTexture_amurr"]
atlas = ExtResource("3_l7171")

View File

@ -7,7 +7,7 @@
[ext_resource type="AudioStream" uid="uid://bnjyw5v85s6qe" path="res://asset/audio/sfx/交互/序章/04_书店内_主角摔倒.wav" id="3_b6wsl"]
[ext_resource type="AudioStream" uid="uid://vygcjwgo1j4a" path="res://asset/audio/sfx/环境音/序章/04_书店内_奶奶写字.wav" id="4_5j1ov"]
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="4_c4lg5"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_p6k3c"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_p6k3c"]
[ext_resource type="AudioStream" uid="uid://bfcamfnhqjrnp" path="res://asset/audio/sfx/环境音/序章/05_诡异通用.wav" id="5_eerhd"]
[ext_resource type="Texture2D" uid="uid://cqy0qfmko00rx" path="res://asset/art/scene/c01/s08_书店/e_梯子.png" id="5_tnrke"]
[ext_resource type="PackedScene" uid="uid://nwpbl5yuh280" path="res://scene/ground/script/c01/s00_自动跟随的老鼠.tscn" id="6_05do1"]

View File

@ -6,9 +6,9 @@
[ext_resource type="PackedScene" uid="uid://b68oedsmd0tof" path="res://scene/ground/script/c01/s01_公寓外_自动枯萎的花朵.tscn" id="3_52pqy"]
[ext_resource type="Texture2D" uid="uid://gpwul4tcu43h" path="res://asset/art/scene/c01/s09_公寓楼外/bg_黄包车裁剪场景.png" id="3_828bq"]
[ext_resource type="AudioStream" uid="uid://cyy88bgsvf3e2" path="res://asset/audio/sfx/环境音/序章/06_公寓楼道_花枯萎.wav" id="3_b5sdk"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_3f7n1"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_3f7n1"]
[ext_resource type="PackedScene" uid="uid://h0s5ms7r7d8g" path="res://scene/shading/ghost.tscn" id="4_wqm5r"]
[ext_resource type="Script" uid="uid://bbg4vopj4apl6" path="res://scene/entity/general/bgm_control.gd" id="5_hy0mc"]
[ext_resource type="Script" uid="uid://bbg4vopj4apl6" path="res://scene/entity/audio/bgm_control.gd" id="5_hy0mc"]
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="5_pssh2"]
[ext_resource type="AudioStream" uid="uid://c1orqd7uxh8iu" path="res://asset/audio/sfx/环境音/序章/05_诡异通用_2.wav" id="6_lrqbi"]
[ext_resource type="Texture2D" uid="uid://dol25yn3fixim" path="res://asset/art/fog_mask.png" id="7_828bq"]

View File

@ -5,8 +5,8 @@
[ext_resource type="AudioStream" uid="uid://d2sdgkatyat7i" path="res://asset/audio/sfx/环境音/序章/06_公寓楼道.wav" id="3_6prdo"]
[ext_resource type="Texture2D" uid="uid://clsj2fcth8ts3" path="res://asset/art/scene/c01/s10_公寓过道/bg_过道夜晚.png" id="3_slkid"]
[ext_resource type="SpriteFrames" uid="uid://dtwl5tgu7f4k5" path="res://asset/art/gif/c01_公寓过道/c01_公寓过道_frames.tres" id="4_bhb7e"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_qmc83"]
[ext_resource type="Script" uid="uid://bbg4vopj4apl6" path="res://scene/entity/general/bgm_control.gd" id="5_2jx0x"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_qmc83"]
[ext_resource type="Script" uid="uid://bbg4vopj4apl6" path="res://scene/entity/audio/bgm_control.gd" id="5_2jx0x"]
[ext_resource type="PackedScene" uid="uid://bf6oxxe2e6vxj" path="res://scene/ground/script/c01/s10_鬼差探头.tscn" id="5_dnd0r"]
[ext_resource type="PackedScene" uid="uid://svvlohuicvhf" path="res://scene/entity/ambient/light.tscn" id="5_rw4mf"]

View File

@ -5,7 +5,7 @@
[ext_resource type="Texture2D" uid="uid://cjllurf1ouxf" path="res://asset/art/scene/c01/s04_旧版序章/fg_前景1.png" id="3_fduds"]
[ext_resource type="SpriteFrames" uid="uid://b7fhheih1hbvf" path="res://config/animation/entity_sprite_frames.tres" id="3_hnnuc"]
[ext_resource type="AudioStream" uid="uid://qu38tv548jhj" path="res://asset/audio/sfx/旧版/c01/拉黄包车_loop.wav" id="3_ummkx"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="3_vx53v"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_vx53v"]
[ext_resource type="Texture2D" uid="uid://qbwh5si2owve" path="res://asset/art/scene/c01/s04_旧版序章/fg_前景3.png" id="4_1flr0"]
[ext_resource type="AudioStream" uid="uid://qku3yk82g364" path="res://asset/audio/sfx/交互/标题出现音效.wav" id="5_amglq"]
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="6_3k8jj"]

View File

@ -3,7 +3,7 @@
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_llw14"]
[ext_resource type="Script" uid="uid://bh4h0e158t1oj" path="res://scene/ground/scene/c01/s12_animation.gd" id="2_krdvw"]
[ext_resource type="Texture2D" uid="uid://bc64s5xfysrc3" path="res://asset/art/scene/c01/s07_书店外/bg_书店外_夜晚.png" id="3_npdxo"]
[ext_resource type="Script" uid="uid://bbg4vopj4apl6" path="res://scene/entity/general/bgm_control.gd" id="3_p7n7n"]
[ext_resource type="Script" uid="uid://bbg4vopj4apl6" path="res://scene/entity/audio/bgm_control.gd" id="3_p7n7n"]
[ext_resource type="Texture2D" uid="uid://ctukk7c8xo4uc" path="res://asset/art/scene/c01/s07_书店外/e_装饰 书店外夜晚.png" id="4_c1x3p"]
[ext_resource type="AudioStream" uid="uid://c1orqd7uxh8iu" path="res://asset/audio/sfx/环境音/序章/05_诡异通用_2.wav" id="4_mxf8g"]
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_o7hfk"]

View File

@ -5,7 +5,7 @@
[ext_resource type="AudioStream" uid="uid://c2wgvynhg3mec" path="res://asset/audio/sfx/环境音/第一章/室外院子1.wav" id="3_4jml0"]
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="3_6lnxd"]
[ext_resource type="Texture2D" uid="uid://d05pqud4yoxx3" path="res://asset/art/scene/c02/s01_公寓门口/bg_公寓门口.png" id="3_a5loe"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_gqpp0"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_gqpp0"]
[node name="S01" type="Node2D"]

View File

@ -2,7 +2,7 @@
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_wrr6r"]
[ext_resource type="Script" uid="uid://bfrgnmde3hjn0" path="res://scene/ground/scene/c02/s02_animation.gd" id="2_5p8ev"]
[ext_resource type="PackedScene" uid="uid://byj234hen4btr" path="res://scene/entity/general/sfx.tscn" id="3_fvldj"]
[ext_resource type="PackedScene" uid="uid://byj234hen4btr" path="res://scene/entity/audio/sfx.tscn" id="3_fvldj"]
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="3_fy0o1"]
[ext_resource type="Texture2D" uid="uid://5428j51dwarc" path="res://asset/art/scene/c02/s02_大门过道/bg_过道背景.png" id="3_gjwum"]
[ext_resource type="SpriteFrames" uid="uid://b7fhheih1hbvf" path="res://config/animation/entity_sprite_frames.tres" id="4_wbif8"]
@ -19,7 +19,7 @@
[ext_resource type="AudioStream" uid="uid://dq2ndg5yd3rps" path="res://asset/audio/sfx/旧版/c02/出现.mp3" id="11_u68d7"]
[ext_resource type="PackedScene" uid="uid://ci5anaxsa1apl" path="res://scene/entity/local_inspectable.tscn" id="12_0fckv"]
[ext_resource type="PackedScene" uid="uid://cw3q5pvciumil" path="res://scene/entity/interactable.tscn" id="13_ck13g"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="14_jg8g0"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="14_jg8g0"]
[ext_resource type="Texture2D" uid="uid://8otjg8gn0m6p" path="res://asset/art/gif/c02_公寓过道/眨眼睛/0.png" id="17_m1xet"]
[ext_resource type="PackedScene" uid="uid://cxw5rovg5mu1a" path="res://scene/ground/script/c02/s00_煤油灯.tscn" id="17_mpkj1"]
[ext_resource type="PackedScene" uid="uid://dqkxiqbq83cmq" path="res://scene/entity/closeup.tscn" id="19_6wwyd"]

View File

@ -16,6 +16,7 @@ func _ready() -> void:
if Engine.is_editor_hint():
return
var eavesdrop_window: AnimatedSprite2D
var madman_npc: Npc2D
var small_shoe: Pickable2D
@ -24,6 +25,7 @@ var burning_layer
var counter
var fg
func _on_ground_ready() -> void:
fg = $"../ParallaxForeground/FGParallaxLayer/FGSprite2D"
gate = $"../DeployLayer/Interactable铁门" as Interactable2D
@ -31,7 +33,7 @@ func _on_ground_ready() -> void:
gate.get_node("Wall/CollisionShape2D").disabled = true
else:
gate.interacted.connect(_on_gate_interacted)
eavesdrop_window = $"../DeployLayer/李氏赖子房间人影"
if ArchiveManager.get_global_value("c02_eavesdrop_finished"):
$"../DeployLayer/Ambush偷听对话".enabled = false
@ -71,7 +73,6 @@ func _on_ground_ready() -> void:
madman_npc.visible = false
madman_npc.get_node("StaticBody2D/CollisionShape2D").disabled = true
if ArchiveManager.get_global_value("c02_the_blind_room_unlocked"):
# 奠字 + 纸钱
$"../DeployLayer/新背景_奠".visible = true
@ -128,7 +129,8 @@ func _on_gate_interacted() -> void:
func shocking_lighting() -> void:
# 纸人闪现 惊悚闪电 闷雷声缓缓而来
pass
$"Sfx闷雷".play()
# TODO
func eavesdrop() -> void:

View File

@ -1,16 +1,17 @@
[gd_scene load_steps=73 format=3 uid="uid://djc2uaefhmu7"]
[gd_scene load_steps=74 format=3 uid="uid://djc2uaefhmu7"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_0dylx"]
[ext_resource type="Script" uid="uid://dsp5plrdkrsd7" path="res://scene/ground/scene/c02/s03_animation.gd" id="2_dt5aj"]
[ext_resource type="AudioStream" uid="uid://lp46utp018ac" path="res://asset/audio/sfx/环境音/第一章/03_一楼院子.wav" id="3_2y8cu"]
[ext_resource type="Texture2D" uid="uid://b3odt4ojsvu5n" path="res://asset/art/scene/c02/s03_公寓一楼院子/bg_一楼.png" id="3_sqv8l"]
[ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/c02_杂项_frames.tres" id="4_gd6xp"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_ygnci"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_ygnci"]
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="5_00b7a"]
[ext_resource type="AudioStream" uid="uid://s7uigovfp5g3" path="res://asset/audio/sfx/环境音/第一章/火灾演出.wav" id="5_ygnci"]
[ext_resource type="Texture2D" uid="uid://f8yjp5ggr8qw" path="res://asset/art/scene/c02/s03_公寓一楼院子/算卦布.png" id="6_1tart"]
[ext_resource type="Texture2D" uid="uid://0uh6qaalhqju" path="res://asset/art/scene/c02/s11_一楼火灾/总背景/bg_院子1楼火灾.png" id="6_d7h4s"]
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="6_t48d1"]
[ext_resource type="AudioStream" uid="uid://civuwccn6v6yk" path="res://asset/audio/sfx/交互/第一章/sfx_闷雷声.wav" id="6_vddfx"]
[ext_resource type="Texture2D" uid="uid://bxqetnlx0bpv4" path="res://asset/art/scene/c02/门_贴图/1012保卫科.png" id="6_ygnci"]
[ext_resource type="Texture2D" uid="uid://cmm6oxlbl2wps" path="res://asset/art/scene/c02/门_贴图/1013肉铺.png" id="7_c3f8o"]
[ext_resource type="PackedScene" uid="uid://dsa6frlw6e6gg" path="res://scene/entity/pickable.tscn" id="7_em2ma"]
@ -354,6 +355,12 @@ audio_dict = Dictionary[String, AudioStream]({
"感应玩家操作" = false
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="Sfx闷雷" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="1"]
stream = ExtResource("6_vddfx")
bus = &"game_sfx"
script = ExtResource("4_ygnci")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="BGSprite2D" parent="Ground" index="1"]
light_mask = 5
texture = ExtResource("3_sqv8l")

View File

@ -4,7 +4,7 @@
[ext_resource type="Script" uid="uid://dmhh4g47bdxxy" path="res://scene/ground/scene/c02/s04_animation.gd" id="2_jyere"]
[ext_resource type="Texture2D" uid="uid://7jvg2flkapj3" path="res://asset/art/scene/c02/s04_保卫科/bg_保卫科.png" id="3_66gue"]
[ext_resource type="AudioStream" uid="uid://6gttowdwmado" path="res://asset/audio/sfx/环境音/第一章/房间内部场景1.wav" id="3_dlq1i"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_ffvrp"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_ffvrp"]
[ext_resource type="SpriteFrames" uid="uid://c2sjavnptjn" path="res://asset/art/gif/c02_保卫科/c02_保卫科_frames.tres" id="4_svuj3"]
[ext_resource type="Texture2D" uid="uid://bnyf8m63ltgh0" path="res://asset/art/scene/c02/s04_保卫科/l_香.png" id="5_cy26p"]
[ext_resource type="PackedScene" uid="uid://dqkxiqbq83cmq" path="res://scene/entity/closeup.tscn" id="6_66gue"]
@ -28,7 +28,6 @@ size = Vector2(5, 70)
scene_name = "c02_s04"
default_portal = "right"
player_y = 60
main_scene = null
[node name="AnimationPlayer" parent="Ground" index="0"]
script = ExtResource("2_jyere")
@ -110,6 +109,10 @@ texture = ExtResource("10_svuj3")
[node name="灯座" parent="Ground/DeployLayer/煤油灯" index="6"]
visible = false
[node name="Sign" parent="Ground/DeployLayer/煤油灯" index="7"]
offset_top = -19.0
offset_bottom = -19.0
[node name="小手讨东西" parent="Ground/DeployLayer" index="7" instance=ExtResource("10_a43aq")]
position = Vector2(295, -6)

View File

@ -4,7 +4,7 @@
[ext_resource type="Script" uid="uid://dydpmjpcvt3v1" path="res://scene/ground/scene/c02/s05_animation.gd" id="2_70lf6"]
[ext_resource type="AudioStream" uid="uid://r5b8qi54asdk" path="res://asset/audio/sfx/环境音/第一章/楼道场景4.wav" id="3_kpaw8"]
[ext_resource type="Texture2D" uid="uid://dbtepltemtmy2" path="res://asset/art/scene/c02/s05_一楼内侧楼道/bg_楼道背景.png" id="3_rcuxq"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_20mbg"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_20mbg"]
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_tueh3"]
[ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/c02_杂项_frames.tres" id="7_mrltr"]
[ext_resource type="Texture2D" uid="uid://bn47plsx5coug" path="res://asset/art/scene/c02/s05_一楼内侧楼道/l_煤油灯光效.png" id="8_mrltr"]

View File

@ -4,7 +4,7 @@
[ext_resource type="Script" uid="uid://cbt0ubygchxvv" path="res://scene/ground/scene/c02/s06_animation.gd" id="2_4dg6u"]
[ext_resource type="Texture2D" uid="uid://6ol2om68cd1q" path="res://asset/art/scene/c02/s06_二楼楼道/bg_背景.png" id="3_och2w"]
[ext_resource type="AudioStream" uid="uid://blf1rtu71vy17" path="res://asset/audio/sfx/环境音/第一章/楼道场景1.wav" id="3_yolsv"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_2e08x"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_2e08x"]
[ext_resource type="AudioStream" uid="uid://ce3p55nnts4v5" path="res://asset/audio/effect/action/cloth2.ogg" id="4_58e26"]
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_haidv"]
[ext_resource type="PackedScene" uid="uid://cxw5rovg5mu1a" path="res://scene/ground/script/c02/s00_煤油灯.tscn" id="5_3p5ta"]
@ -19,7 +19,7 @@
[ext_resource type="PackedScene" uid="uid://b50n0hvs4yh75" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn" id="10_p6da7"]
[ext_resource type="PackedScene" uid="uid://dqkxiqbq83cmq" path="res://scene/entity/closeup.tscn" id="11_owxx3"]
[ext_resource type="PackedScene" uid="uid://cjx7o685ox8c1" path="res://scene/little_game/弹珠游戏/弹珠游戏.tscn" id="12_intre"]
[ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/general/sfx2d.gd" id="14_7x2h6"]
[ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/audio/sfx2d.gd" id="14_7x2h6"]
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="14_k01ve"]
[ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/c02_杂项_frames.tres" id="14_och2w"]
[ext_resource type="SpriteFrames" uid="uid://b0icyhxpj16tv" path="res://asset/art/gif/c02_谢幕演出/c02_谢幕演出_frames.tres" id="15_k01ve"]

View File

@ -5,7 +5,7 @@
[ext_resource type="AudioStream" uid="uid://m6av0abbhyco" path="res://asset/audio/sfx/环境音/第一章/楼道场景3.wav" id="3_s75vl"]
[ext_resource type="Texture2D" uid="uid://u7rp66mboqq4" path="res://asset/art/scene/c02/s07_二楼内侧楼道/bg_背景.png" id="3_t0s64"]
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_5krke"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_sv27p"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_sv27p"]
[ext_resource type="Texture2D" uid="uid://bim6w1xp1a4bg" path="res://asset/art/scene/c02/s07_二楼内侧楼道/锡箔墙面涂鸦提示.png" id="5_6ivku"]
[ext_resource type="PackedScene" uid="uid://cxw5rovg5mu1a" path="res://scene/ground/script/c02/s00_煤油灯.tscn" id="5_u2dyp"]
[ext_resource type="PackedScene" uid="uid://xovlfee503a4" path="res://scene/ground/script/c02/小手讨东西.tscn" id="6_5krke"]

View File

@ -3,7 +3,7 @@
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_judx3"]
[ext_resource type="Script" uid="uid://hbbgymjs5xte" path="res://scene/ground/scene/c02/s08_animation.gd" id="2_m4uw8"]
[ext_resource type="Texture2D" uid="uid://v3sj36aijq5b" path="res://asset/art/scene/c02/s08_瞎子卧室/bg_瞎子卧室.png" id="3_iares"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="3_t3h08"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_t3h08"]
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_1ws4i"]
[ext_resource type="Texture2D" uid="uid://vqyhgyka3sfo" path="res://asset/art/scene/c02/s08_瞎子卧室/瞎子卧室前景.png" id="4_gx8oy"]
[ext_resource type="AudioStream" uid="uid://dthm5gd1sc16" path="res://asset/audio/sfx/环境音/第一章/房间内部场景2.wav" id="4_vjjde"]

View File

@ -3,7 +3,7 @@
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_o0m5w"]
[ext_resource type="Script" uid="uid://beqnywn1dlnax" path="res://scene/ground/scene/c02/s09_animation.gd" id="2_34a6f"]
[ext_resource type="AudioStream" uid="uid://lel6wpfs2424" path="res://asset/audio/sfx/环境音/第一章/09_裂缝空间_地下通道.wav" id="3_qjenp"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_qjenp"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_qjenp"]
[ext_resource type="Shader" uid="uid://dyc16avypkkct" path="res://scene/ground/script/c02/s09_裂缝麻绳.gdshader" id="5_0fmdd"]
[ext_resource type="Texture2D" uid="uid://ddcburr57lb75" path="res://asset/art/scene/c02/旧版/s12_1014诡异版/bg_衔接阴影.png" id="5_5ow41"]
[ext_resource type="AudioStream" uid="uid://docu0vw8pwjow" path="res://asset/audio/sfx/环境音/第一章/09_裂缝空间_红色地道.wav" id="5_husb8"]
@ -687,7 +687,8 @@ position = Vector2(3064, 68)
position = Vector2(3362, 69)
[node name="坍塌11" parent="Ground/DeployLayer/坍塌" instance=ExtResource("15_87wfh")]
position = Vector2(3663, 69)
position = Vector2(3663, 68)
play_sfx = true
[node name="大老鼠" type="Sprite2D" parent="Ground/DeployLayer" index="10"]
position = Vector2(259, -42)

View File

@ -4,7 +4,7 @@
[ext_resource type="Script" uid="uid://dkkey7qillk15" path="res://scene/ground/scene/c02/s10_animation.gd" id="2_egtqi"]
[ext_resource type="AudioStream" uid="uid://6gttowdwmado" path="res://asset/audio/sfx/环境音/第一章/房间内部场景1.wav" id="3_chbaa"]
[ext_resource type="Texture2D" uid="uid://molvyfyy63ik" path="res://asset/art/scene/c02/s10_空房间/bg_空房间.png" id="3_ox8et"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_chbaa"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_chbaa"]
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_pde4i"]
[ext_resource type="PackedScene" uid="uid://cw3q5pvciumil" path="res://scene/entity/interactable.tscn" id="5_ylhfc"]
[ext_resource type="PackedScene" uid="uid://dsa6frlw6e6gg" path="res://scene/entity/pickable.tscn" id="6_27dvh"]

View File

@ -6,7 +6,7 @@
[ext_resource type="Texture2D" uid="uid://dweafdywxenu6" path="res://asset/art/scene/c02/s12_to_s17_盒子猫/bg_二楼楼道.png" id="3_miykx"]
[ext_resource type="Texture2D" uid="uid://b3ootg88b63rb" path="res://asset/art/scene/c02/旧版/s13_院子诡异版/fg_楼梯调色后.png" id="4_4adgb"]
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_u2fv1"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_yywsi"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_yywsi"]
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="5_gge8e"]
[ext_resource type="Texture2D" uid="uid://csrfyvaufo1wb" path="res://asset/art/scene/c02/s12_to_s17_盒子猫/l_瞎子理发店光.png" id="6_gge8e"]
[ext_resource type="PackedScene" uid="uid://khwxm5qbfj3k" path="res://scene/ground/script/c02/盒子猫canvas_layer.tscn" id="7_u2fv1"]

View File

@ -4,7 +4,7 @@
[ext_resource type="SpriteFrames" uid="uid://cc0ea1he2nfc2" path="res://asset/art/gif/c01_孤儿院长廊/c01_孤儿院长廊_frames.tres" id="2_wic0e"]
[ext_resource type="Texture2D" uid="uid://bmedw8l7ew067" path="res://asset/art/gif/c01_孤儿院长廊/男孩要踢的球.png" id="3_ofpb7"]
[ext_resource type="AudioStream" uid="uid://ds1vp1es76wyp" path="res://asset/audio/sfx/环境音/序章/02_孤儿院走廊_小孩踢球.wav" id="5_wjvcm"]
[ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/general/sfx2d.gd" id="6_q65up"]
[ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/audio/sfx2d.gd" id="6_q65up"]
[node name="踢球男孩" type="Node2D"]
script = ExtResource("1_itbib")

View File

@ -5,7 +5,7 @@
[ext_resource type="Texture2D" uid="uid://bqawq75la061h" path="res://asset/art/scene/c01/s03_旧版序章/ux_鬼差脸gaise.png" id="3_dxjux"]
[ext_resource type="Texture2D" uid="uid://bvxa5gejmlk4o" path="res://asset/art/scene/c01/s03_旧版序章/e_柱子有红纹gaise.png" id="4_beln2"]
[ext_resource type="AudioStream" uid="uid://cjyodjgrthtm" path="res://asset/audio/sfx/交互/序章/06_公寓楼道_鬼差偷看.wav" id="5_c13qq"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="5_ug335"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="5_ug335"]
[ext_resource type="AudioStream" uid="uid://b8rg7adnnkjll" path="res://asset/audio/BGM/戏曲声.wav" id="7_72vl6"]
[ext_resource type="AudioStream" uid="uid://bi6gm533oqsa" path="res://asset/audio/BGM/街道背景音.wav" id="8_vputk"]

View File

@ -127,6 +127,8 @@ func _gaslight_interacted():
else:
# 高位 5 号
SceneManager.freeze_player(2.0, 5)
await get_tree().create_timer(1.8).timeout
await get_tree().create_timer(0.8).timeout
sfx_success.play()
await get_tree().create_timer(1.0).timeout
_switch_gaslight(true, true)
lighted.emit()

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=13 format=3 uid="uid://cxw5rovg5mu1a"]
[gd_scene load_steps=14 format=3 uid="uid://cxw5rovg5mu1a"]
[ext_resource type="Script" uid="uid://c8vsfqoeu26gk" path="res://scene/ground/script/c02/s00_煤油灯.gd" id="1_0aa53"]
[ext_resource type="Texture2D" uid="uid://b3qgmrfslj135" path="res://asset/art/scene/c02/s03_公寓一楼院子/光晕/光晕1.png" id="2_uusov"]
@ -8,7 +8,8 @@
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_w1aco"]
[ext_resource type="Texture2D" uid="uid://xcmvfp72l061" path="res://asset/art/ui/action_mark/UI锁.png" id="5_l338h"]
[ext_resource type="Texture2D" uid="uid://gui0ubwlwoi0" path="res://asset/art/ui/action_mark/UI手.png" id="6_ivr1s"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="8_abb1f"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="8_abb1f"]
[ext_resource type="AudioStream" uid="uid://cljr4g0sivpdh" path="res://asset/audio/sfx/交互/sfx_煤油灯点燃成功.wav" id="9_abb1f"]
[ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/c02_杂项_frames.tres" id="9_h0ajm"]
[ext_resource type="Texture2D" uid="uid://djfn6ya63emu0" path="res://asset/art/scene/c02/s02_大门过道/e_煤油灯座.png" id="10_h0ajm"]
@ -25,7 +26,6 @@ unrevealed_sign_texture = ExtResource("4_abb1f")
unmatched_sign_texture = ExtResource("5_l338h")
matched_sign_texture = ExtResource("6_ivr1s")
mute_when_interacted = true
mute_when_invalid = true
prop_key = "prop_火柴"
prop_key2 = ""
prop_key3 = ""
@ -36,6 +36,7 @@ bus = &"game_sfx"
script = ExtResource("8_abb1f")
[node name="SfxSuccess" type="AudioStreamPlayer" parent="."]
stream = ExtResource("9_abb1f")
bus = &"game_sfx"
script = ExtResource("8_abb1f")

View File

@ -199,6 +199,7 @@ func _on_interacted() -> void:
# accept_tin_coin
if key == "prop_锡箔元宝":
interacted_success = true
sfx_success.play()
SceneManager.disable_prop_item("prop_锡箔元宝")
if id == 1:
# 叠成纸杯电话
@ -227,6 +228,7 @@ func _on_interacted() -> void:
var pliers_to_ball = ArchiveManager.get_global_value("c02_pliers_to_ball", false)
if id == 0 and key == "prop_老虎钳" and pliers_to_ball:
interacted_success = true
sfx_success.play()
SceneManager.disable_prop_item("prop_老虎钳")
animated_sprite.play("小手_老虎钳_hide")
SceneManager.pop_debug_dialog_info("美术", "小手_老虎钳_hide + 小手_弹珠_show + 小手_弹珠_idle")
@ -234,6 +236,7 @@ func _on_interacted() -> void:
holding_prop = "prop_弹珠"
elif id == 0 and key == "prop_弹珠" and not pliers_to_ball:
interacted_success = true
sfx_success.play()
SceneManager.disable_prop_item("prop_弹珠")
animated_sprite.play("小手_弹珠_hide")
SceneManager.pop_debug_dialog_info("美术", "小手_弹珠_hide + 小手_老虎钳_show + 小手_老虎钳_idle")
@ -241,7 +244,6 @@ func _on_interacted() -> void:
holding_prop = "prop_老虎钳"
if interacted_success:
# sfx_success.play()
EventManager.prop_interacted(name, key, 1)
_reset_sign_testure_to_prop()
else:

View File

@ -5,11 +5,11 @@
[ext_resource type="Texture2D" uid="uid://dtyg0nugb2tnf" path="res://asset/art/ui/action_mark/UI探索.png" id="3_lr23o"]
[ext_resource type="AudioStream" uid="uid://inmdv5gqqius" path="res://asset/audio/sfx/UI/门锁互动.mp3" id="3_n7thl"]
[ext_resource type="Texture2D" uid="uid://xcmvfp72l061" path="res://asset/art/ui/action_mark/UI锁.png" id="4_0tuif"]
[ext_resource type="AudioStream" uid="uid://ccng5y2fip6mc" path="res://asset/audio/sfx/UI/开锁声.mp3" id="4_brfob"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="5_3c204"]
[ext_resource type="Texture2D" uid="uid://gui0ubwlwoi0" path="res://asset/art/ui/action_mark/UI手.png" id="5_n2hq3"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="7_7dftu"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="7_7dftu"]
[ext_resource type="PackedScene" uid="uid://b50n0hvs4yh75" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn" id="7_brfob"]
[ext_resource type="AudioStream" uid="uid://44slgncnt6sj" path="res://asset/audio/sfx/交互/第一章/sfx_手交互成功.wav" id="8_7dftu"]
[ext_resource type="AudioStream" uid="uid://c5d6i2wp8xkay" path="res://asset/audio/sfx/bgm/第一章/童谣合并_FX.wav" id="9_7dftu"]
[ext_resource type="SpriteFrames" uid="uid://b6nvwset1hwbv" path="res://asset/art/gif/c02_小手/c02_小手_frames.tres" id="9_yatcw"]
[ext_resource type="Texture2D" uid="uid://2mjipesnigcr" path="res://asset/art/prop/c02/锡箔元宝.png" id="10_47cqy"]
@ -33,7 +33,7 @@ script = ExtResource("7_7dftu")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="SfxSuccess" type="AudioStreamPlayer" parent="."]
stream = ExtResource("4_brfob")
stream = ExtResource("8_7dftu")
bus = &"game_sfx"
script = ExtResource("7_7dftu")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
@ -59,28 +59,44 @@ animation = &"小手_show"
autostart = false
action_configs = Array[Dictionary]([{
"animation_intro": &"小手_弹珠_show",
&"animation_next": "小手_弹珠_idle"
&"animation_next": "小手_弹珠_idle",
"animation_wait_time": 0.0,
"intro_loop": 1
}, {
"animation_intro": &"小手_纸杯_show",
&"animation_next": "小手_纸杯_idle"
&"animation_next": "小手_纸杯_idle",
"animation_wait_time": 0.0,
"intro_loop": 1
}, {
"animation_intro": "小手_老虎钳_show",
&"animation_next": "小手_老虎钳_idle"
&"animation_next": "小手_老虎钳_idle",
"animation_wait_time": 0.0,
"intro_loop": 1
}, {
"animation_intro": "小手_锡箔_hide",
&"animation_next": "小手_纸杯_show"
&"animation_next": "小手_纸杯_show",
"animation_wait_time": 0.0,
"intro_loop": 1
}, {
"animation_intro": &"小手_老虎钳_hide",
&"animation_next": "小手_弹珠_show"
&"animation_next": "小手_弹珠_show",
"animation_wait_time": 0.0,
"intro_loop": 1
}, {
"animation_intro": &"小手_弹珠_hide",
&"animation_next": "小手_老虎钳_show"
&"animation_next": "小手_老虎钳_show",
"animation_wait_time": 0.0,
"intro_loop": 1
}, {
"animation_intro": &"小手_锡箔_drop",
&"animation_next": "小手_idle"
&"animation_next": "小手_idle",
"animation_wait_time": 0.0,
"intro_loop": 1
}, {
"animation_intro": "小手_show",
&"animation_next": "小手_idle"
&"animation_next": "小手_idle",
"animation_wait_time": 0.0,
"intro_loop": 1
}])
[node name="Sign" parent="." instance=ExtResource("5_3c204")]

View File

@ -38,7 +38,9 @@ func _on_button_pressed() -> void:
return
elif current_texture == 0:
$"遮罩".visible = true
$"Sfx抽纸".play()
replace_bg()
$"Sfx折纸".play()
current_texture += 1
button.texture_normal = texture_dict[str(current_texture)]
button.texture_hover = null

View File

@ -1,8 +1,11 @@
[gd_scene load_steps=8 format=3 uid="uid://b454ap241bshk"]
[gd_scene load_steps=11 format=3 uid="uid://b454ap241bshk"]
[ext_resource type="Script" uid="uid://cb851rw5n6lu3" path="res://scene/ground/script/c02/折锡纸.gd" id="1_7tphw"]
[ext_resource type="AudioStream" uid="uid://byjcmxy5crce5" path="res://asset/audio/sfx/UI/纸条.mp3" id="2_0pjjb"]
[ext_resource type="Texture2D" uid="uid://cp8ofa0qmrsch" path="res://asset/art/scene/c02/s04_保卫科/保卫科祭台_before.png" id="2_l0cj4"]
[ext_resource type="SpriteFrames" uid="uid://c2sjavnptjn" path="res://asset/art/gif/c02_保卫科/c02_保卫科_frames.tres" id="3_ckoix"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_ftr7c"]
[ext_resource type="AudioStream" uid="uid://bomvnle4oh1ol" path="res://asset/audio/sfx/交互/第一章/sfx_折纸.wav" id="4_g2p6p"]
[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/prop/inspect背景遮罩.png" id="4_qu4ce"]
[ext_resource type="Texture2D" uid="uid://bygsskp1cr0y8" path="res://asset/art/scene/c02/s04_保卫科/锡纸.png" id="4_uslgh"]
[ext_resource type="Texture2D" uid="uid://dcubpjb5qgfl2" path="res://asset/art/scene/c02/s04_保卫科/锡纸_hover.png" id="5_6lb1j"]
@ -11,6 +14,18 @@
[node name="折锡纸" type="CanvasLayer"]
script = ExtResource("1_7tphw")
[node name="Sfx抽纸" type="AudioStreamPlayer" parent="."]
stream = ExtResource("2_0pjjb")
bus = &"game_sfx"
script = ExtResource("3_ftr7c")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="Sfx折纸" type="AudioStreamPlayer" parent="."]
stream = ExtResource("4_g2p6p")
bus = &"game_sfx"
script = ExtResource("3_ftr7c")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="TextureRect" type="TextureRect" parent="."]
anchors_preset = 15
anchor_right = 1.0

View File

@ -1,21 +1,21 @@
[gd_scene load_steps=7 format=3 uid="uid://bxpexbk7f3rax"]
[ext_resource type="Script" uid="uid://chap3ifmyg20c" path="res://scene/ground/script/c02/敲门游戏.gd" id="1_dnsvv"]
[ext_resource type="AudioStream" uid="uid://c0tml2l2726fu" path="res://asset/audio/effect/impact/impactWood_heavy_000.ogg" id="2_trx50"]
[ext_resource type="AudioStream" uid="uid://cx3dugjvb4142" path="res://asset/audio/effect/impact/impactWood_light_001.ogg" id="3_hgfqc"]
[ext_resource type="AudioStream" uid="uid://dw8dprxhvas85" path="res://asset/audio/sfx/交互/第一章/sfx_敲门2.wav" id="2_hgfqc"]
[ext_resource type="Texture2D" uid="uid://dkvuc5llqax6d" path="res://asset/art/scene/c02/s03_公寓一楼院子/肉铺门板.png" id="3_n5c57"]
[ext_resource type="AudioStream" uid="uid://7of24bqow07e" path="res://asset/audio/sfx/交互/第一章/sfx_敲门1.wav" id="3_ue6qj"]
[ext_resource type="AudioStream" uid="uid://sjanwwtxggtq" path="res://asset/audio/effect/impact/impactWood_medium_002.ogg" id="4_hgfqc"]
[ext_resource type="AudioStream" uid="uid://cv6aivf1jcvd3" path="res://asset/audio/mixkit/mixkit-meat-hit.wav" id="5_hgfqc"]
[ext_resource type="AudioStream" uid="uid://b1kaqn1ewg2ly" path="res://asset/audio/sfx/交互/第一章/sfx_肉落下.wav" id="5_t58cl"]
[node name="敲门游戏" type="CanvasLayer"]
script = ExtResource("1_dnsvv")
[node name="KnockHeavy" type="AudioStreamPlayer" parent="."]
stream = ExtResource("2_trx50")
stream = ExtResource("2_hgfqc")
bus = &"game_sfx"
[node name="KnockLight" type="AudioStreamPlayer" parent="."]
stream = ExtResource("3_hgfqc")
stream = ExtResource("3_ue6qj")
bus = &"game_sfx"
[node name="KnockWrong" type="AudioStreamPlayer" parent="."]
@ -23,7 +23,7 @@ stream = ExtResource("4_hgfqc")
bus = &"game_sfx"
[node name="DropMeat" type="AudioStreamPlayer" parent="."]
stream = ExtResource("5_hgfqc")
stream = ExtResource("5_t58cl")
bus = &"game_sfx"
[node name="TextureButton" type="TextureButton" parent="."]

View File

@ -1,11 +1,13 @@
extends AnimatedSprite2D
@export var play_sfx := false
func _ready() -> void:
$Area2D.body_entered.connect(_on_area_entered)
func _on_area_entered(_body):
if get_parent().is_node_ready():
if get_parent().is_node_ready() and play_sfx:
$"Sfx坍塌".play()
play()

View File

@ -1,8 +1,9 @@
[gd_scene load_steps=5 format=3 uid="uid://cl64mhryf4wkx"]
[gd_scene load_steps=6 format=3 uid="uid://cl64mhryf4wkx"]
[ext_resource type="SpriteFrames" uid="uid://ckpe1xevbgr6h" path="res://asset/art/gif/c02_裂缝过道/c02_裂缝过道_frames.tres" id="1_5qtbw"]
[ext_resource type="Script" uid="uid://bibfu8acvmifc" path="res://scene/ground/script/c02/裂缝坍塌.gd" id="2_ctxbt"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="3_fbmk8"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_fbmk8"]
[ext_resource type="AudioStream" uid="uid://d0w4nxwj126pf" path="res://asset/audio/sfx/交互/第一章/sfx_坍塌.wav" id="3_sn20u"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_sn20u"]
size = Vector2(300, 20)
@ -13,6 +14,7 @@ animation = &"石头下坠"
script = ExtResource("2_ctxbt")
[node name="Sfx坍塌" type="AudioStreamPlayer" parent="."]
stream = ExtResource("3_sn20u")
bus = &"game_sfx"
script = ExtResource("3_fbmk8")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"

View File

@ -3,7 +3,7 @@
[ext_resource type="Script" uid="uid://b4rw4hk7ns4m8" path="res://scene/index_page.gd" id="1_c7y7r"]
[ext_resource type="Texture2D" uid="uid://bcc0bk34l5gbc" path="res://asset/art/ui/index_menu/菜单背景1.png" id="1_jxn4k"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/UI/click.wav" id="2_te6ya"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="3_5oc6i"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_5oc6i"]
[ext_resource type="PackedScene" uid="uid://beok2r6fgburn" path="res://scene/settings/settings.tscn" id="4_5m37n"]
[sub_resource type="Animation" id="Animation_8kiap"]

View File

@ -2,7 +2,7 @@
[ext_resource type="Script" uid="uid://b7iavnqno6e3s" path="res://scene/little_game/书架/书架.gd" id="1_8af23"]
[ext_resource type="AudioStream" uid="uid://6v8oqjaj01nj" path="res://asset/audio/sfx/交互/序章/04_书店内_书本掉落.wav" id="2_c6xiu"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="3_5brf2"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_5brf2"]
[ext_resource type="AudioStream" uid="uid://duxo1jopqqf0q" path="res://asset/audio/sfx/交互/序章/04_书店内_移动书本.wav" id="3_c6xiu"]
[ext_resource type="AudioStream" uid="uid://d1bto7ggjf76k" path="res://asset/audio/sfx/交互/序章/04_书店内_扶正书本.wav" id="3_o6bsw"]
[ext_resource type="AudioStream" uid="uid://gxoubqjqpuks" path="res://asset/audio/sfx/交互/序章/04_书店内_点击书本.wav" id="3_pfav2"]

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=45 format=3 uid="uid://bl5pohc77hi43"]
[ext_resource type="Script" uid="uid://cyyku6caspu01" path="res://scene/little_game/书架/生死簿.gd" id="1_wipr2"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="3_40hbj"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_40hbj"]
[ext_resource type="AudioStream" uid="uid://b283udh1xm7bw" path="res://asset/audio/sfx/交互/序章/04_书店内_生死簿翻页.wav" id="3_adstd"]
[ext_resource type="Script" uid="uid://cowyllqinju6n" path="res://scene/little_game/书架/陆小蝶名字.gd" id="4_dssaj"]
[ext_resource type="Texture2D" uid="uid://ci1iuxsvpy6qn" path="res://asset/art/little_game/书架_生死簿/生死簿摊开特写 书底.png" id="4_ghblq"]

View File

@ -6,7 +6,7 @@
[ext_resource type="AudioStream" uid="uid://bb6njoaxi2hbx" path="res://asset/audio/sfx/game/弹珠游戏/hit.ogg" id="3_co06r"]
[ext_resource type="FontVariation" uid="uid://1ryw42kej6lv" path="res://config/font_ui.tres" id="3_ctokx"]
[ext_resource type="PackedScene" uid="uid://bbcfjksjlyfx5" path="res://scene/little_game/弹珠游戏/ball.tscn" id="4_bm1k0"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_co06r"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_co06r"]
[ext_resource type="Texture2D" uid="uid://btplp6xvmc6sx" path="res://asset/art/little_game/弹珠/手屈伸/0.png" id="4_fk3jp"]
[ext_resource type="Texture2D" uid="uid://cny2ovcg2ry7c" path="res://asset/art/little_game/弹珠/瞄准线.png" id="4_plt4v"]
[ext_resource type="AudioStream" uid="uid://dcef4son60cs7" path="res://asset/audio/sfx/game/弹珠游戏/drop.ogg" id="5_co06r"]

View File

@ -3,7 +3,7 @@
[ext_resource type="Script" uid="uid://b1t12jgy6whsc" path="res://scene/little_game/拼凑信件.gd" id="1_cifku"]
[ext_resource type="Texture2D" uid="uid://c2y4mpkygrmaf" path="res://asset/art/little_game/拼凑信件/桌面.png" id="2_0fxwt"]
[ext_resource type="AudioStream" uid="uid://cxs1p014bq3bn" path="res://asset/audio/sfx/交互/序章/04_书店内_旋转信纸.wav" id="3_eph5y"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="3_ifhby"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_ifhby"]
[ext_resource type="Texture2D" uid="uid://duxdnw1uhlpm5" path="res://asset/art/little_game/拼凑信件/信件碎片.png" id="3_mjf3s"]
[sub_resource type="AtlasTexture" id="AtlasTexture_4e0jv"]

View File

@ -12,7 +12,7 @@
[ext_resource type="Texture2D" uid="uid://b1car0t5b7pg6" path="res://asset/art/little_game/旋转锁/钥匙.png" id="9_2tu7h"]
[ext_resource type="AudioStream" uid="uid://bqaxy1emtbc04" path="res://asset/audio/sfx/game/旋转锁/转轮声.mp3" id="10_4iyuf"]
[ext_resource type="AudioStream" uid="uid://1khahqvfjckk" path="res://asset/audio/sfx/game/旋转锁/插销声.mp3" id="11_h2ycu"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="12_a8doy"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="12_a8doy"]
[ext_resource type="AudioStream" uid="uid://inmdv5gqqius" path="res://asset/audio/sfx/UI/门锁互动.mp3" id="14_owvcm"]
[node name="旋转锁" type="Control"]

View File

@ -54,7 +54,7 @@ texture = SubResource("GradientTexture2D_gk3xo")
height = 10.0
[node name="CattyPointLight2D" type="PointLight2D" parent="."]
position = Vector2(0, -53)
position = Vector2(0, -60)
energy = 0.0
range_item_cull_mask = 15
shadow_enabled = true

View File

@ -148,7 +148,7 @@ var ANIMATION_CONFIG = {
"can_run": true,
"speed_runnig": 100.0,
"walk_footstep": 0.5,
"run_footstep": 7.0 / 10.0 / 2.0,
"run_footstep": 7.0 / 9.0 / 2.0,
"os_height": 70.0,
"light_height": 20.0,
# 如果使用 auto就会自动以最低点为基准

View File

@ -4,7 +4,7 @@
[ext_resource type="Texture2D" uid="uid://dok08tovej18w" path="res://asset/art/ui/hud/normal_left.png" id="2_bjc2b"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/UI/click.wav" id="2_lom38"]
[ext_resource type="AudioStream" uid="uid://bjh1761jeu3hy" path="res://asset/audio/sfx/交互/通用发现音效.wav" id="3_bn186"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="3_d7vso"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_d7vso"]
[ext_resource type="Texture2D" uid="uid://c45k7ncg6xhpv" path="res://asset/art/ui/hud/pressed_left.png" id="3_fca7p"]
[ext_resource type="Texture2D" uid="uid://c2jq2neda32ix" path="res://asset/art/ui/hud/Prop.png" id="5_6tt77"]
[ext_resource type="Texture2D" uid="uid://0uwun1mo726u" path="res://asset/art/prop/c02/绳子物品.png" id="6_0m706"]

View File

@ -58,9 +58,11 @@ func _ready():
func _on_visibility_changed() -> void:
if visible:
$"Sfx打开".play()
get_tree().paused = true
SceneManager.lock_player()
else:
$"Sfx关闭".play()
get_tree().paused = false
SceneManager.unlock_player()

View File

@ -1,12 +1,29 @@
[gd_scene load_steps=2 format=3 uid="uid://beok2r6fgburn"]
[gd_scene load_steps=5 format=3 uid="uid://beok2r6fgburn"]
[ext_resource type="Script" uid="uid://ciloxu1k8a1ll" path="res://scene/settings/settings.gd" id="1_7u4nq"]
[ext_resource type="AudioStream" uid="uid://dlt4nv6qjhlpy" path="res://asset/audio/sfx/交互/sfx_打开设置.wav" id="2_6hxkf"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_kn03d"]
[ext_resource type="AudioStream" uid="uid://cmi6fd68s1ukb" path="res://asset/audio/sfx/交互/sfx_关闭设置.wav" id="4_n2b1f"]
[node name="Settings" type="CanvasLayer"]
process_mode = 3
layer = 30
script = ExtResource("1_7u4nq")
[node name="Sfx打开" type="AudioStreamPlayer" parent="."]
stream = ExtResource("2_6hxkf")
volume_db = -5.0
bus = &"game_sfx"
script = ExtResource("3_kn03d")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="Sfx关闭" type="AudioStreamPlayer" parent="."]
stream = ExtResource("4_n2b1f")
volume_db = -5.0
bus = &"game_sfx"
script = ExtResource("3_kn03d")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="PanelContainer" type="PanelContainer" parent="."]
anchors_preset = 8
anchor_left = 0.5