更新疯子撞墙与瞎子房间演出等

This commit is contained in:
cakipaul 2025-06-08 22:20:26 +08:00
parent b78d2c80ce
commit 5912cdc6cc
25 changed files with 288 additions and 159 deletions

View File

@ -1,4 +1,4 @@
[gd_resource type="SpriteFrames" load_steps=19 format=3 uid="uid://c8dl7c68f1yb0"] [gd_resource type="SpriteFrames" load_steps=17 format=3 uid="uid://c8dl7c68f1yb0"]
[ext_resource type="Texture2D" uid="uid://c0a8gd6jo2ov3" path="res://asset/art/gif/c02_二楼/疯子跑动/0.png" id="1_63k7g"] [ext_resource type="Texture2D" uid="uid://c0a8gd6jo2ov3" path="res://asset/art/gif/c02_二楼/疯子跑动/0.png" id="1_63k7g"]
[ext_resource type="Texture2D" uid="uid://b1c1c3i0yw2ec" path="res://asset/art/gif/c02_二楼/疯子撞墙/0.png" id="1_hj708"] [ext_resource type="Texture2D" uid="uid://b1c1c3i0yw2ec" path="res://asset/art/gif/c02_二楼/疯子撞墙/0.png" id="1_hj708"]
@ -14,8 +14,6 @@
[ext_resource type="Texture2D" uid="uid://cni6i40kn1b8b" path="res://asset/art/gif/c02_二楼/疯子撞墙/7.png" id="8_mvc2t"] [ext_resource type="Texture2D" uid="uid://cni6i40kn1b8b" path="res://asset/art/gif/c02_二楼/疯子撞墙/7.png" id="8_mvc2t"]
[ext_resource type="Texture2D" uid="uid://ci2r63i3a6l6h" path="res://asset/art/gif/c02_二楼/疯子撞墙/8.png" id="9_dko4h"] [ext_resource type="Texture2D" uid="uid://ci2r63i3a6l6h" path="res://asset/art/gif/c02_二楼/疯子撞墙/8.png" id="9_dko4h"]
[ext_resource type="Texture2D" uid="uid://blcgp2qwfjn3b" path="res://asset/art/gif/c02_二楼/疯子撞墙/9.png" id="10_rxt3q"] [ext_resource type="Texture2D" uid="uid://blcgp2qwfjn3b" path="res://asset/art/gif/c02_二楼/疯子撞墙/9.png" id="10_rxt3q"]
[ext_resource type="Texture2D" uid="uid://ctw3thae0tvfw" path="res://asset/art/gif/c02_二楼/疯子跪下/0.png" id="15_dko4h"]
[ext_resource type="Texture2D" uid="uid://djgrd7y0vvvh4" path="res://asset/art/gif/c02_二楼/疯子跪下/1.png" id="16_rxt3q"]
[ext_resource type="Texture2D" uid="uid://ccdpsykfnhik8" path="res://asset/art/gif/c02_二楼/疯子跪下/2.png" id="17_7v1rg"] [ext_resource type="Texture2D" uid="uid://ccdpsykfnhik8" path="res://asset/art/gif/c02_二楼/疯子跪下/2.png" id="17_7v1rg"]
[ext_resource type="Texture2D" uid="uid://8g5rukqap3w8" path="res://asset/art/gif/c02_二楼/疯子跪下/3.png" id="18_ox23s"] [ext_resource type="Texture2D" uid="uid://8g5rukqap3w8" path="res://asset/art/gif/c02_二楼/疯子跪下/3.png" id="18_ox23s"]
@ -75,12 +73,6 @@ animations = [{
}, { }, {
"frames": [{ "frames": [{
"duration": 3.0, "duration": 3.0,
"texture": ExtResource("15_dko4h")
}, {
"duration": 3.0,
"texture": ExtResource("16_rxt3q")
}, {
"duration": 3.0,
"texture": ExtResource("17_7v1rg") "texture": ExtResource("17_7v1rg")
}, { }, {
"duration": 3.0, "duration": 3.0,

View File

@ -0,0 +1,11 @@
~ this_is_a_node_title
Nathan: [[Hi|Hello|Howdy]], this is some dialogue.
Nathan: Here are some choices.
- First one
Nathan: You picked the first one.
- Second one
Nathan: You picked the second one.
- Start again => this_is_a_node_title
- End the conversation => END
Nathan: For more information see the online documentation.
=> END

View File

@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_14"
type="Resource"
uid="uid://c1bkhblw88ls0"
path="res://.godot/imported/c06.dialogue-f47fb4a55575ee069ed7231cadcef83f.tres"
[deps]
source_file="res://asset/dialogue/c06.dialogue"
dest_files=["res://.godot/imported/c06.dialogue-f47fb4a55575ee069ed7231cadcef83f.tres"]
[params]
defaults=true

View File

@ -5,10 +5,16 @@ c01_信件全文,"小蝶:
t89c0f4a8de,x年,,,, t89c0f4a8de,x年,,,,
t356af5308e,下午一点,,,, t356af5308e,下午一点,,,,
t344c97cf2c,据闻奉贤县分水墩又有七人染受鼠疫,病状可怖,闻医官药治无用,免职。,,,, t344c97cf2c,据闻奉贤县分水墩又有七人染受鼠疫,病状可怖,闻医官药治无用,免职。,,,,
tdb119a3714,有地方人称鼠疫为妖邪作祟,甚为惊骇,一时人心惶惶,竟有聚众滋闹之事,政府以防疫事宜关系紧要,拟赴分水墩一带调查防疫事宜云。,,,, 公寓告示正文_1,公寓告示正文,,,,
c02_保卫科花名册,花名册内容,,,,
c01_飘落的寻人启事1,"【飘落的寻人启事文案】
...",,,,
tdb119a3714,据闻奉贤县分水墩有两人染受鼠疫毙命,医官拟将死者尸骸解剖以观受病之原因及其情状,竟未得死者家属之同意,以该处风气闭塞,闻解剖之说,地方人民甚为惊骇,闻已有聚众滋闹之事,并闻医官已被人殴打,政府以防疫事宜关系紧要拟改令赴沪南区一带调查防疫事宜云。,,,,
ta750647b12,《申报》,,,, ta750647b12,《申报》,,,,
t736cca4563,民国五年一月十三日,,,, t736cca4563,民国五年一月十三日,,,,
公寓告示正文_1,公寓告示正文,,,, c02_海报1,战胜北方鼠疫之二杰,,,,
c02_海报1,海报1内容,,,, c02_海报2,剪辮懸樑上偵探奇聞,,,,
c02_海报2,海报2内容,,,, c02_海报3,大舞台,,,,
c02_保卫科花名册,花名册内容,,,, c02_海报4,二月初三夜,二等正厅,三等包厢,,,,
c02_保卫科花名册1,芦昌公寓居民登记簿(黄国栋记),,,,
c02_保卫科花名册2,...,,,,

1 keys zh_CN _character _notes _tags en
5 t344c97cf2c 据闻奉贤县分水墩又有七人染受鼠疫,病状可怖,闻医官药治无用,免职。
6 tdb119a3714 公寓告示正文_1 有地方人称鼠疫为妖邪作祟,甚为惊骇,一时人心惶惶,竟有聚众滋闹之事,政府以防疫事宜关系紧要,拟赴分水墩一带调查防疫事宜云。 公寓告示正文
7 ta750647b12 c02_保卫科花名册 《申报》 花名册内容
8 t736cca4563 c01_飘落的寻人启事1 民国五年一月十三日 【飘落的寻人启事文案】 ...
9 tdb119a3714 据闻奉贤县分水墩有两人染受鼠疫毙命,医官拟将死者尸骸解剖以观受病之原因及其情状,竟未得死者家属之同意,以该处风气闭塞,闻解剖之说,地方人民甚为惊骇,闻已有聚众滋闹之事,并闻医官已被人殴打,政府以防疫事宜关系紧要拟改令赴沪南区一带调查防疫事宜云。
10 ta750647b12 《申报》
11 t736cca4563 民国五年一月十三日
12 c02_海报1 战胜北方鼠疫之二杰
13 公寓告示正文_1 c02_海报2 公寓告示正文 剪辮懸樑上偵探奇聞
14 c02_海报1 c02_海报3 海报1内容 大舞台
15 c02_海报2 c02_海报4 海报2内容 二月初三夜,二等正厅,三等包厢
16 c02_保卫科花名册 c02_保卫科花名册1 花名册内容 芦昌公寓居民登记簿(黄国栋记)
17 c02_保卫科花名册2 ...
18
19
20

View File

@ -1,5 +1,5 @@
~ c01_飘落的寻人启事 ~ c01_飘落的寻人启事
寻人启事 [ID:c01_飘落的寻人启事1] 【飘落的寻人启事文案】\n... [ID:c01_飘落的寻人启事1]
=> END => END
~ c02_鼠疫海报 ~ c02_鼠疫海报

View File

@ -2450,7 +2450,7 @@ animations = [{
"duration": 1.0, "duration": 1.0,
"texture": ExtResource("141_7m3gv") "texture": ExtResource("141_7m3gv")
}], }],
"loop": true, "loop": false,
"name": &"c02_吕萍_匍匐起身蹲着窥视", "name": &"c02_吕萍_匍匐起身蹲着窥视",
"speed": 7.0 "speed": 7.0
}, { }, {

View File

@ -175,7 +175,7 @@ space={
[internationalization] [internationalization]
locale/translations=PackedStringArray("res://asset/dialogue/c01.en.translation", "res://asset/dialogue/c02.en.translation", "res://asset/dialogue/item_description.en.translation", "res://asset/dialogue/names.en.translation", "res://asset/dialogue/inspect_content.en.translation", "res://asset/dialogue/npc.en.translation", "res://asset/dialogue/c01.zh_CN.translation", "res://asset/dialogue/c02.zh_CN.translation", "res://asset/dialogue/inspect_content.zh_CN.translation", "res://asset/dialogue/item_description.zh_CN.translation", "res://asset/dialogue/names.zh_CN.translation", "res://asset/dialogue/npc.zh_CN.translation") locale/translations=PackedStringArray("res://asset/dialogue/c01.en.translation", "res://asset/dialogue/c02.en.translation", "res://asset/dialogue/item_description.en.translation", "res://asset/dialogue/names.en.translation", "res://asset/dialogue/inspect_content.en.translation", "res://asset/dialogue/npc.en.translation", "res://asset/dialogue/c01.zh_CN.translation", "res://asset/dialogue/c02.zh_CN.translation", "res://asset/dialogue/inspect_content.zh_CN.translation", "res://asset/dialogue/item_description.zh_CN.translation", "res://asset/dialogue/names.zh_CN.translation", "res://asset/dialogue/npc.zh_CN.translation")
locale/translations_pot_files=PackedStringArray("res://asset/dialogue/item_description.dialogue", "res://asset/dialogue/c01.dialogue", "res://asset/dialogue/c02.dialogue", "res://asset/dialogue/inspect_content.dialogue", "res://asset/dialogue/npc.dialogue", "res://asset/dialogue/c03.dialogue", "res://asset/dialogue/c04.dialogue", "res://asset/dialogue/c05.dialogue") locale/translations_pot_files=PackedStringArray("res://asset/dialogue/item_description.dialogue", "res://asset/dialogue/c01.dialogue", "res://asset/dialogue/c02.dialogue", "res://asset/dialogue/inspect_content.dialogue", "res://asset/dialogue/npc.dialogue", "res://asset/dialogue/c03.dialogue", "res://asset/dialogue/c04.dialogue", "res://asset/dialogue/c05.dialogue", "res://asset/dialogue/c06.dialogue")
locale/test="zh-Hans" locale/test="zh-Hans"
locale/fallback="zh" locale/fallback="zh"
@ -199,6 +199,7 @@ locale/fallback="zh"
[rendering] [rendering]
textures/canvas_textures/default_texture_filter=0 textures/canvas_textures/default_texture_filter=0
viewport/transparent_background=true
[statistics] [statistics]

View File

@ -21,7 +21,7 @@ signal triggered
var hook_animation = "" var hook_animation = ""
@export var lock_player_on_playing_dialogue = true @export var lock_player_on_playing_dialogue = true
@export var hook_os_key := "" @export var hook_os_key := ""
@export_enum("c01", "c02", "c03", "c04", "c05") var hook_dialogue_res = "c01": @export_enum("c01", "c02", "c03", "c04", "c05", "c06") var hook_dialogue_res = "c01":
set(val): set(val):
hook_dialogue_res = val hook_dialogue_res = val
match val: match val:
@ -35,6 +35,8 @@ var hook_animation = ""
dialogue_res = dialogue_c04 dialogue_res = dialogue_c04
"c05": "c05":
dialogue_res = dialogue_c05 dialogue_res = dialogue_c05
"c06":
dialogue_res = dialogue_c06
if is_node_ready() and Engine.is_editor_hint(): if is_node_ready() and Engine.is_editor_hint():
notify_property_list_changed() notify_property_list_changed()
var hook_dialogue_title := "" var hook_dialogue_title := ""
@ -45,6 +47,7 @@ var dialogue_c02 = preload("res://asset/dialogue/c02.dialogue")
var dialogue_c03 = preload("res://asset/dialogue/c03.dialogue") var dialogue_c03 = preload("res://asset/dialogue/c03.dialogue")
var dialogue_c04 = preload("res://asset/dialogue/c04.dialogue") var dialogue_c04 = preload("res://asset/dialogue/c04.dialogue")
var dialogue_c05 = preload("res://asset/dialogue/c05.dialogue") var dialogue_c05 = preload("res://asset/dialogue/c05.dialogue")
var dialogue_c06 = preload("res://asset/dialogue/c06.dialogue")
var dialogue_res = dialogue_c01 var dialogue_res = dialogue_c01
var played_time := 0.0 var played_time := 0.0

View File

@ -13,7 +13,7 @@ enum { STATUS_NORAML, STATUS_TRANSITIONING, STATUS_INSPECTING_COVER, STATUS_INSP
# @export var entity_name: String = "" # @export var entity_name: String = ""
@export var content_centered: bool = false @export var content_centered: bool = false
@export var texture_cover: Texture2D @export var texture_cover: Texture2D
@export_enum("none", "c01", "c02", "c03", "c04", "c05") var editor_filter := "none": @export_enum("none", "c01", "c02", "c03", "c04", "c05", "c06") var editor_filter := "none":
set(val): set(val):
editor_filter = val editor_filter = val
if is_node_ready() and Engine.is_editor_hint(): if is_node_ready() and Engine.is_editor_hint():

View File

@ -10,7 +10,7 @@ signal read_note
sign_mark.enabled = val sign_mark.enabled = val
@export var action := 4 #3为none; 4为lookup_wall; 之后为其他动作,请参考 PlayerAnimationConfig @export var action := 4 #3为none; 4为lookup_wall; 之后为其他动作,请参考 PlayerAnimationConfig
@export_enum("os", "ballon") var mode = "os" @export_enum("os", "ballon") var mode = "os"
@export_enum("items", "c01", "c02", "c03", "c04", "c05") var dialogue := "items": @export_enum("items", "c01", "c02", "c03", "c04", "c05", "c06") var dialogue := "items":
set(val): set(val):
dialogue = val dialogue = val
match dialogue: match dialogue:
@ -26,6 +26,8 @@ signal read_note
dialogue_res = dialogue_c04 dialogue_res = dialogue_c04
"c05": "c05":
dialogue_res = dialogue_c05 dialogue_res = dialogue_c05
"c06":
dialogue_res = dialogue_c06
if is_node_ready() and Engine.is_editor_hint(): if is_node_ready() and Engine.is_editor_hint():
notify_property_list_changed() notify_property_list_changed()
var note_key := "" var note_key := ""
@ -45,6 +47,7 @@ var dialogue_c02 = preload("res://asset/dialogue/c02.dialogue")
var dialogue_c03 = preload("res://asset/dialogue/c03.dialogue") var dialogue_c03 = preload("res://asset/dialogue/c03.dialogue")
var dialogue_c04 = preload("res://asset/dialogue/c04.dialogue") var dialogue_c04 = preload("res://asset/dialogue/c04.dialogue")
var dialogue_c05 = preload("res://asset/dialogue/c05.dialogue") var dialogue_c05 = preload("res://asset/dialogue/c05.dialogue")
var dialogue_c06 = preload("res://asset/dialogue/c06.dialogue")
var dialogue_res = dialogue_items var dialogue_res = dialogue_items
var interacting = false var interacting = false

View File

@ -3,8 +3,7 @@
[ext_resource type="Texture2D" uid="uid://6vh5m2p3v0t3" path="res://asset/art/scene/c01/s07_书店外/e_纸钱.png" id="1_hsa64"] [ext_resource type="Texture2D" uid="uid://6vh5m2p3v0t3" path="res://asset/art/scene/c01/s07_书店外/e_纸钱.png" id="1_hsa64"]
[sub_resource type="Gradient" id="Gradient_rwi0m"] [sub_resource type="Gradient" id="Gradient_rwi0m"]
offsets = PackedFloat32Array(0, 0.99, 1) colors = PackedColorArray(0.856067, 0.856067, 0.856067, 1, 1, 1, 1, 1)
colors = PackedColorArray(1, 1, 1, 0.466667, 1, 1, 1, 0.965333, 1, 1, 1, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_5cty7"] [sub_resource type="GradientTexture1D" id="GradientTexture1D_5cty7"]
gradient = SubResource("Gradient_rwi0m") gradient = SubResource("Gradient_rwi0m")

View File

@ -8,6 +8,7 @@ var dialogue_c02 := preload("res://asset/dialogue/c02.dialogue") as DialogueReso
var dialogue_c03 := preload("res://asset/dialogue/c03.dialogue") as DialogueResource var dialogue_c03 := preload("res://asset/dialogue/c03.dialogue") as DialogueResource
var dialogue_c04 := preload("res://asset/dialogue/c04.dialogue") as DialogueResource var dialogue_c04 := preload("res://asset/dialogue/c04.dialogue") as DialogueResource
var dialogue_c05 := preload("res://asset/dialogue/c05.dialogue") as DialogueResource var dialogue_c05 := preload("res://asset/dialogue/c05.dialogue") as DialogueResource
var dialogue_c06 := preload("res://asset/dialogue/c06.dialogue") as DialogueResource
@export var data = { @export var data = {
# 首次进入场景时触发 # 首次进入场景时触发

View File

@ -144,7 +144,7 @@ bus = &"game_sfx"
script = ExtResource("10_1tspp") script = ExtResource("10_1tspp")
[node name="飘动的寻人启事" parent="Ground/DeployLayer" index="6" instance=ExtResource("11_pwu7i")] [node name="飘动的寻人启事" parent="Ground/DeployLayer" index="6" instance=ExtResource("11_pwu7i")]
z_index = 1 z_index = 6
position = Vector2(1021, -48) position = Vector2(1021, -48)
[node name="陆仁舞刀" parent="Ground/DeployLayer" index="7" instance=ExtResource("14_ct084")] [node name="陆仁舞刀" parent="Ground/DeployLayer" index="7" instance=ExtResource("14_ct084")]

View File

@ -62,6 +62,9 @@ func _on_ground_ready() -> void:
madman_npc.visible = true madman_npc.visible = true
madman_npc.get_node("StaticBody2D/CollisionShape2D").disabled = false madman_npc.get_node("StaticBody2D/CollisionShape2D").disabled = false
if ArchiveManager.get_global_value("c02_the_blind_room_entered"):
_setup_mourning_couplet()
bully_layer = $"../DeployLayer/霸凌" bully_layer = $"../DeployLayer/霸凌"
burning_layer = $"../DeployLayer/火灾" burning_layer = $"../DeployLayer/火灾"
@ -109,6 +112,9 @@ func cg_end() -> void:
func _on_gate_interacted() -> void: func _on_gate_interacted() -> void:
gate.get_node("Wall/CollisionShape2D").disabled = true gate.get_node("Wall/CollisionShape2D").disabled = true
func _setup_mourning_couplet() -> void:
# TODO 奠字
pass
func eavesdrop() -> void: func eavesdrop() -> void:
if ArchiveManager.get_global_value("c02_eavesdrop_finished", false): if ArchiveManager.get_global_value("c02_eavesdrop_finished", false):

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=67 format=3 uid="uid://djc2uaefhmu7"] [gd_scene load_steps=65 format=3 uid="uid://djc2uaefhmu7"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_0dylx"] [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="Script" uid="uid://dsp5plrdkrsd7" path="res://scene/ground/scene/c02/s03_animation.gd" id="2_dt5aj"]
@ -12,7 +12,6 @@
[ext_resource type="Texture2D" uid="uid://bs8bdad5ak0m0" path="res://asset/art/scene/c02/s03_公寓一楼院子/铁门/关闭状态.png" id="7_gd6xp"] [ext_resource type="Texture2D" uid="uid://bs8bdad5ak0m0" path="res://asset/art/scene/c02/s03_公寓一楼院子/铁门/关闭状态.png" id="7_gd6xp"]
[ext_resource type="Texture2D" uid="uid://cjmsn0saowwbo" path="res://asset/art/scene/c02/s03_公寓一楼院子/小鞋子2特写.png" id="8_plfv5"] [ext_resource type="Texture2D" uid="uid://cjmsn0saowwbo" path="res://asset/art/scene/c02/s03_公寓一楼院子/小鞋子2特写.png" id="8_plfv5"]
[ext_resource type="PackedScene" uid="uid://cw3q5pvciumil" path="res://scene/entity/interactable.tscn" id="8_xt8j0"] [ext_resource type="PackedScene" uid="uid://cw3q5pvciumil" path="res://scene/entity/interactable.tscn" id="8_xt8j0"]
[ext_resource type="Texture2D" uid="uid://b343nvvbtpglb" path="res://asset/art/ui/互动提示符/ui 像素版_纯白.png" id="9_c36u3"]
[ext_resource type="Texture2D" uid="uid://bgpf35bhrkl86" path="res://asset/art/scene/c02/s03_公寓一楼院子/铁门/打开 底层.png" id="9_liq0c"] [ext_resource type="Texture2D" uid="uid://bgpf35bhrkl86" path="res://asset/art/scene/c02/s03_公寓一楼院子/铁门/打开 底层.png" id="9_liq0c"]
[ext_resource type="PackedScene" uid="uid://cxw5rovg5mu1a" path="res://scene/ground/script/c02/s00_煤油灯.tscn" id="10_jme4f"] [ext_resource type="PackedScene" uid="uid://cxw5rovg5mu1a" path="res://scene/ground/script/c02/s00_煤油灯.tscn" id="10_jme4f"]
[ext_resource type="Texture2D" uid="uid://dooaferyy44rs" path="res://asset/art/scene/c02/s03_公寓一楼院子/e_前侧楼梯.png" id="10_ud2jg"] [ext_resource type="Texture2D" uid="uid://dooaferyy44rs" path="res://asset/art/scene/c02/s03_公寓一楼院子/e_前侧楼梯.png" id="10_ud2jg"]
@ -228,10 +227,6 @@ _data = {
&"镜头上下运动": SubResource("Animation_7ey5t") &"镜头上下运动": SubResource("Animation_7ey5t")
} }
[sub_resource type="AtlasTexture" id="AtlasTexture_0o4rt"]
atlas = ExtResource("9_c36u3")
region = Rect2(498, 555, 51, 54)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_er6ob"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_er6ob"]
resource_local_to_scene = true resource_local_to_scene = true
size = Vector2(40, 70) size = Vector2(40, 70)
@ -389,7 +384,6 @@ texture = ExtResource("6_1tart")
[node name="Interactable铁门" parent="Ground/DeployLayer" index="8" instance=ExtResource("8_xt8j0")] [node name="Interactable铁门" parent="Ground/DeployLayer" index="8" instance=ExtResource("8_xt8j0")]
position = Vector2(1212, 28) position = Vector2(1212, 28)
texture = ExtResource("7_gd6xp") texture = ExtResource("7_gd6xp")
matched_sign_texture = SubResource("AtlasTexture_0o4rt")
interacted_texture = ExtResource("9_liq0c") interacted_texture = ExtResource("9_liq0c")
prop_key = "prop_老虎钳" prop_key = "prop_老虎钳"

View File

@ -61,16 +61,13 @@ func _on_mice_hole_interacted():
ArchiveManager.set_global_entry("c02_mouse_follow_player", false) ArchiveManager.set_global_entry("c02_mouse_follow_player", false)
$"../DeployLayer/自动跟随的老鼠".flush_right_and_disable() $"../DeployLayer/自动跟随的老鼠".flush_right_and_disable()
SceneManager.pop_debug_dialog_info("美术", "疯子从左侧过来撞墙")
var sprite = $"../DeployLayer/疯子撞墙" var sprite = $"../DeployLayer/疯子撞墙"
sprite.visible = true sprite.play("疯子跑动")
sprite.play("疯子撞墙") play("疯子撞墙")
await get_tree().create_timer(5.0).timeout SceneManager.pop_debug_dialog_info("音效", "待补充撞墙音效")
SceneManager.release_player() SceneManager.release_player()
func boys_ball_game() -> void: func boys_ball_game() -> void:
# 0:默认 1:寻找弹珠(老虎钳可以换弹珠) 2:给出弹珠 3:游戏结束 # 0:默认 1:寻找弹珠(老虎钳可以换弹珠) 2:给出弹珠 3:游戏结束
var stage = ArchiveManager.get_global_value("c02_ball_game_stage", 0) var stage = ArchiveManager.get_global_value("c02_ball_game_stage", 0)

View File

@ -1,8 +1,10 @@
[gd_scene load_steps=24 format=3 uid="uid://cootarwb44vvh"] [gd_scene load_steps=27 format=3 uid="uid://cootarwb44vvh"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_qkymk"] [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"] [ext_resource type="Script" uid="uid://cbt0ubygchxvv" path="res://scene/ground/scene/c02/s06_animation.gd" id="2_4dg6u"]
[ext_resource type="PackedScene" uid="uid://c85t6stvytvjn" path="res://scene/entity/general/sfx.tscn" id="3_djvme"]
[ext_resource type="Texture2D" uid="uid://6ol2om68cd1q" path="res://asset/art/scene/c02/s06_二楼楼道/bg_背景.png" id="3_och2w"] [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://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://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"] [ext_resource type="PackedScene" uid="uid://cxw5rovg5mu1a" path="res://scene/ground/script/c02/s00_煤油灯.tscn" id="5_3p5ta"]
[ext_resource type="Texture2D" uid="uid://crev0svowqla" path="res://asset/art/scene/c02/s06_二楼楼道/前景.png" id="5_26mqt"] [ext_resource type="Texture2D" uid="uid://crev0svowqla" path="res://asset/art/scene/c02/s06_二楼楼道/前景.png" id="5_26mqt"]
@ -93,6 +95,54 @@ tracks/5/keys = {
"update": 0, "update": 0,
"values": [2.0] "values": [2.0]
} }
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("DeployLayer/疯子撞墙:visible")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("DeployLayer/疯子撞墙:position")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(221, 4)]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("DeployLayer/疯子撞墙:animation")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [&"疯子跑动"]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("AnimationPlayer/疯子撞墙Sfx:playing")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_ciatp"] [sub_resource type="Animation" id="Animation_ciatp"]
resource_name = "c02_final_show" resource_name = "c02_final_show"
@ -184,10 +234,63 @@ tracks/6/keys = {
"values": [0.0, 2.0] "values": [0.0, 2.0]
} }
[sub_resource type="Animation" id="Animation_p6da7"]
resource_name = "疯子撞墙"
length = 6.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("DeployLayer/疯子撞墙:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("DeployLayer/疯子撞墙:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 3.66667),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(221, 0), Vector2(600, 0)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("DeployLayer/疯子撞墙:animation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(3.66667),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [&"疯子跪下"]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("AnimationPlayer/疯子撞墙Sfx:playing")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(3.46667),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
_data = { _data = {
&"RESET": SubResource("Animation_k01ve"), &"RESET": SubResource("Animation_k01ve"),
&"c02_final_show": SubResource("Animation_ciatp") &"c02_final_show": SubResource("Animation_ciatp"),
&"疯子撞墙": SubResource("Animation_p6da7")
} }
[sub_resource type="Gradient" id="Gradient_och2w"] [sub_resource type="Gradient" id="Gradient_och2w"]
@ -219,6 +322,10 @@ data = {
} }
oneshot_animation = "" oneshot_animation = ""
[node name="疯子撞墙Sfx" parent="Ground/AnimationPlayer" index="0" instance=ExtResource("3_djvme")]
stream = ExtResource("4_58e26")
file = ""
[node name="BGSprite2D" parent="Ground" index="2"] [node name="BGSprite2D" parent="Ground" index="2"]
light_mask = 5 light_mask = 5
position = Vector2(0, -2) position = Vector2(0, -2)
@ -284,17 +391,9 @@ sprite_frames = ExtResource("10_och2w")
animation = &"疯子跑动" animation = &"疯子跑动"
autostart = false autostart = false
action_configs = Array[Dictionary]([{ action_configs = Array[Dictionary]([{
"animation_intro": &"疯子跑动",
&"animation_next": "疯子跪下",
&"intro_loop": 9
}, {
"animation_intro": "疯子跪下", "animation_intro": "疯子跪下",
&"animation_next": "疯子撞墙" &"animation_next": "疯子撞墙"
}]) }])
move_configs = Array[Dictionary]([{
"animation": "疯子跑动",
"velocity": Vector2(120, 0)
}])
[node name="Ambush三男孩" parent="Ground/DeployLayer" index="9" instance=ExtResource("14_k01ve")] [node name="Ambush三男孩" parent="Ground/DeployLayer" index="9" instance=ExtResource("14_k01ve")]
visible = false visible = false
@ -361,8 +460,9 @@ texture = ExtResource("5_26mqt")
points = PackedVector2Array(37, 150, 900, 150) points = PackedVector2Array(37, 150, 900, 150)
[node name="DirectionalLight2D" parent="Ground" index="9"] [node name="DirectionalLight2D" parent="Ground" index="9"]
visible = false
energy = 0.9 energy = 0.9
blend_mode = 1 blend_mode = 1
[connection signal="finished" from="Ground/AnimationPlayer/疯子撞墙Sfx" to="Ground/AnimationPlayer/疯子撞墙Sfx" method="play"]
[editable path="Ground"] [editable path="Ground"]

View File

@ -4,7 +4,7 @@ extends AnimationRoot
# 覆盖该方法 # 覆盖该方法
func _default_data() -> Dictionary: func _default_data() -> Dictionary:
return {} return {"hole_interacted_times": 0}
func _ready() -> void: func _ready() -> void:
@ -13,26 +13,65 @@ func _ready() -> void:
return return
var light: DirectionalLight2D var color_mask: ColorRect
func _on_ground_ready() -> void: func _on_ground_ready() -> void:
light = $"../DirectionalLight2D" color_mask = $"../BGSprite2D/ColorMask"
if $"../DeployLayer/Ambush出隧道".played: # 0默认 1拿了麻将 2偷听结束 3已爬出
if data.hole_interacted_times >= 3:
setup_rect_after_entered() setup_rect_after_entered()
else: else:
# 如果没有出隧道,则设置镜头右侧 limit + 500 color_mask.color.a = 1.0
SceneManager.get_camera_marker().limit_right += 500 # # 如果没有出隧道,则设置镜头右侧 limit + 500
# SceneManager.get_camera_marker().limit_right += 500
var interacting = false
func hole_interacted():
if interacting:
return
interacting = true
# 第一次获得麻将,第二次偷听,第三次出去
var times = data["hole_interacted_times"]
set_data("hole_interacted_times", times + 1)
if GlobalConfig.DEBUG:
print("hole_interacted_times=", times)
interacting = false
if times == 0:
SceneManager.enable_prop_item("prop_麻将")
elif times == 1:
eavesdrop_start()
else:
enter_room()
func eavesdrop_start() -> void: func eavesdrop_start() -> void:
play("偷听瞎子小蝉对话") SceneManager.freeze_player(0, 5)
SceneManager.freeze_player(0) var sprite = $"../DeployLayer/瞎子小蝉对话" as AnimatedSprite2D
DialogueManager.show_dialogue_balloon(dialogue_c02, "c02_05_瞎子与小蝉") sprite.visible = true
sprite.play()
# 偷听动作
func eavesdrop_end() -> void: await get_tree().create_timer(2.0).timeout
# 动作后先出声音
DialogueManager.show_dialogue_balloon(
dialogue_c02, "c02_05_瞎子与小蝉"
)
var tween = create_tween()
tween.tween_property(color_mask, "color:a", 0.0, 6.0)
# 运镜查看
var camera = SceneManager.get_camera_marker()
tween.parallel().tween_property(camera, "force_offset", Vector2(-450, 0), 4.0)
await DialogueManager.dialogue_ended
tween = create_tween()
tween.tween_property(camera, "force_offset", Vector2(0, 0), 4.0)
tween.parallel().tween_property(color_mask, "color:a", 1.0, 2.0)
await tween.finished
sprite.visible = false
SceneManager.release_player() SceneManager.release_player()
interacting = false
var room_camera_r_limit = 550 var room_camera_r_limit = 550
@ -40,32 +79,33 @@ var room_camera_r_limit = 550
# 钻出隧道,进入房间 # 钻出隧道,进入房间
func enter_room() -> void: func enter_room() -> void:
ArchiveManager.set_global_entry("c02_the_blind_room_entered", true)
var player = SceneManager.get_player() as MainPlayer
var player_x = 513.0
SceneManager.freeze_player(0)
var camera = SceneManager.get_camera_marker() var camera = SceneManager.get_camera_marker()
var tween = create_tween() var tween = create_tween()
# 镜头右侧 limit 设置到 room_camera_r_limit # 镜头右侧 limit 设置到 room_camera_r_limit
tween.tween_property(camera, "limit_right", room_camera_r_limit, 1.5) tween.tween_property(camera, "limit_right", room_camera_r_limit, 1.5)
# 关闭黑暗效果 # 关闭黑暗效果
tween.parallel().tween_property(light, "energy", 0.0, 2.0) tween.parallel().tween_property(color_mask, "color:a", 0.0, 2.0)
# 光源跟随丝滑移动
SceneManager.freeze_player(0) tween.parallel().tween_property(player, "position:x", player_x, 2.0)
var player = SceneManager.get_player() as MainPlayer player.hide_sprite = true
player.visible = false
var sprite = $"../DeployLayer/吕萍钻出" as AnimatedSprite2D var sprite = $"../DeployLayer/吕萍钻出" as AnimatedSprite2D
sprite.visible = true sprite.visible = true
sprite.frame = 0 sprite.frame = 0
sprite.play() sprite.play()
await sprite.animation_finished await tween.finished
sprite.visible = false player.position.x = player_x
player.position.x = 513.0
setup_rect_after_entered() setup_rect_after_entered()
player.visible = true sprite.visible = false
player.hide_sprite = false
SceneManager.release_player() SceneManager.release_player()
# interacting = false
ArchiveManager.set_global_entry("c02_the_blind_room_entered", true)
func setup_rect_after_entered() -> void: func setup_rect_after_entered() -> void:
light.energy = 0.0
var player = SceneManager.get_player() as MainPlayer var player = SceneManager.get_player() as MainPlayer
player.character = "吕萍" player.character = "吕萍"
SceneManager.get_ground().player_y = 70 SceneManager.get_ground().player_y = 70

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=21 format=3 uid="uid://ce2vyyg2reg52"] [gd_scene load_steps=15 format=3 uid="uid://ce2vyyg2reg52"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_judx3"] [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="Script" uid="uid://hbbgymjs5xte" path="res://scene/ground/scene/c02/s08_animation.gd" id="2_m4uw8"]
@ -6,11 +6,6 @@
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_1ws4i"] [ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_1ws4i"]
[ext_resource type="Texture2D" uid="uid://b2o75ahjqq0yg" path="res://asset/art/临时草稿/瞎子小蝉谈话.png" id="4_f7817"] [ext_resource type="Texture2D" uid="uid://b2o75ahjqq0yg" path="res://asset/art/临时草稿/瞎子小蝉谈话.png" id="4_f7817"]
[ext_resource type="Texture2D" uid="uid://vqyhgyka3sfo" path="res://asset/art/scene/c02/s08_瞎子卧室/瞎子卧室前景.png" id="4_gx8oy"] [ext_resource type="Texture2D" uid="uid://vqyhgyka3sfo" path="res://asset/art/scene/c02/s08_瞎子卧室/瞎子卧室前景.png" id="4_gx8oy"]
[ext_resource type="PackedScene" uid="uid://dsa6frlw6e6gg" path="res://scene/entity/pickable.tscn" id="5_f7817"]
[ext_resource type="Texture2D" uid="uid://b86f85kunqpeb" path="res://asset/art/prop/c02/麻将.png" id="6_u7aew"]
[ext_resource type="PackedScene" uid="uid://cxw5rovg5mu1a" path="res://scene/ground/script/c02/s00_煤油灯.tscn" id="7_rn30l"]
[ext_resource type="Texture2D" uid="uid://ch6uf4qi1i0h2" path="res://asset/art/scene/c02/s03_公寓一楼院子/光晕/光晕3.png" id="8_f6mma"]
[ext_resource type="Texture2D" uid="uid://dtmd13ktss5hk" path="res://asset/art/scene/c02/s03_公寓一楼院子/地面物品反光/地反光5.png" id="9_bp5fr"]
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="10_f6mma"] [ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="10_f6mma"]
[ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="11_kwj7c"] [ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="11_kwj7c"]
[ext_resource type="SpriteFrames" uid="uid://j5lpwxe8woew" path="res://asset/art/scene/c02/s02_大门过道/火苗.gif" id="12_t3h08"] [ext_resource type="SpriteFrames" uid="uid://j5lpwxe8woew" path="res://asset/art/scene/c02/s02_大门过道/火苗.gif" id="12_t3h08"]
@ -42,53 +37,22 @@ tracks/1/keys = {
"update": 0, "update": 0,
"values": [Vector2(0, 0)] "values": [Vector2(0, 0)]
} }
[sub_resource type="Animation" id="Animation_gx8oy"]
resource_name = "偷听瞎子小蝉对话"
length = 15.0
tracks/0/type = "method"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("AnimationPlayer")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(9.03333),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"eavesdrop_end"
}]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("DeployLayer/瞎子小蝉对话:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.166667, 10.8),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/2/type = "value" tracks/2/type = "value"
tracks/2/imported = false tracks/2/imported = false
tracks/2/enabled = true tracks/2/enabled = true
tracks/2/path = NodePath("CameraFocusMarker:force_offset") tracks/2/path = NodePath("BGSprite2D/ColorMask:color")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0, 2.3, 7.6, 9.86667), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1, 1, 1, 1), "transitions": PackedFloat32Array(1),
"update": 0, "update": 0,
"values": [Vector2(0, 0), Vector2(-500, 0), Vector2(-500, 0), Vector2(0, 0)] "values": [Color(0, 0, 0, 0)]
} }
[sub_resource type="AnimationLibrary" id="AnimationLibrary_f7817"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_f7817"]
_data = { _data = {
&"RESET": SubResource("Animation_f6mma"), &"RESET": SubResource("Animation_f6mma")
&"偷听瞎子小蝉对话": SubResource("Animation_gx8oy")
} }
[sub_resource type="SpriteFrames" id="SpriteFrames_u7aew"] [sub_resource type="SpriteFrames" id="SpriteFrames_u7aew"]
@ -102,7 +66,7 @@ animations = [{
"speed": 5.0 "speed": 5.0
}] }]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_t3h08"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_kwj7c"]
resource_local_to_scene = true resource_local_to_scene = true
size = Vector2(10, 70) size = Vector2(10, 70)
@ -111,17 +75,30 @@ size = Vector2(10, 70)
[node name="Ground" parent="." instance=ExtResource("1_judx3")] [node name="Ground" parent="." instance=ExtResource("1_judx3")]
scene_name = "c02_s08" scene_name = "c02_s08"
default_portal = "right" default_portal = "right"
footstep_type = "crawling"
[node name="AnimationPlayer" parent="Ground" index="0"] [node name="AnimationPlayer" parent="Ground" index="0"]
libraries = { libraries = {
&"": SubResource("AnimationLibrary_f7817") &"": SubResource("AnimationLibrary_f7817")
} }
script = ExtResource("2_m4uw8") script = ExtResource("2_m4uw8")
data = {
"hole_interacted_times": 0,
"oneshot_animation_played": false
}
oneshot_animation = "" oneshot_animation = ""
[node name="BGSprite2D" parent="Ground" index="2"] [node name="BGSprite2D" parent="Ground" index="2"]
texture = ExtResource("3_iares") texture = ExtResource("3_iares")
[node name="ColorMask" type="ColorRect" parent="Ground/BGSprite2D" index="0"]
z_index = 10
offset_left = -63.0
offset_top = -135.0
offset_right = 537.0
offset_bottom = 165.0
color = Color(0, 0, 0, 0)
[node name="portal_left" parent="Ground/DeployLayer" index="0"] [node name="portal_left" parent="Ground/DeployLayer" index="0"]
position = Vector2(66, 17) position = Vector2(66, 17)
target_scene = "c02_s06" target_scene = "c02_s06"
@ -162,40 +139,23 @@ scale = Vector2(0.3, 0.3)
sprite_frames = ExtResource("12_t3h08") sprite_frames = ExtResource("12_t3h08")
animation = &"gif" animation = &"gif"
[node name="Pickable麻将" parent="Ground/DeployLayer" index="4" instance=ExtResource("5_f7817")] [node name="Ambush偷听" parent="Ground/DeployLayer" index="4" instance=ExtResource("10_f6mma")]
position = Vector2(442, 78) position = Vector2(571, 28)
prop_key = "prop_麻将"
[node name="Sprite2D" type="Sprite2D" parent="Ground/DeployLayer/Pickable麻将"]
rotation = -0.862373
scale = Vector2(0.2, 0.2)
texture = ExtResource("6_u7aew")
[node name="煤油灯" parent="Ground/DeployLayer" index="5" instance=ExtResource("7_rn30l")]
position = Vector2(168, 34)
hide_texture = true
gaslight_texture = ExtResource("8_f6mma")
ground_light_texture = ExtResource("9_bp5fr")
[node name="Ambush出隧道" parent="Ground/DeployLayer" index="6" instance=ExtResource("10_f6mma")]
position = Vector2(555, 55)
trigger_mode = "interact" trigger_mode = "interact"
hook_method = "enter_room" one_shot = false
hook_method = "hole_interacted"
[node name="Sign" parent="Ground/DeployLayer/Ambush出隧道" index="0"] [node name="Sign" parent="Ground/DeployLayer/Ambush偷听" index="0"]
light_mask = 5 offset_left = -17.0
offset_top = 5.0
offset_right = -17.0
offset_bottom = 5.0
display_sign = true
[node name="Sprite2D" parent="Ground/DeployLayer/Ambush出隧道/Sign/TextureContainer" index="0"] [node name="CollisionShape2D" parent="Ground/DeployLayer/Ambush偷听/Area2D" index="0"]
light_mask = 0 shape = SubResource("RectangleShape2D_kwj7c")
[node name="CollisionShape2D" parent="Ground/DeployLayer/Ambush出隧道/Area2D" index="0"] [node name="吕萍钻出" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="5"]
shape = SubResource("RectangleShape2D_t3h08")
[node name="Ambush偷听" parent="Ground/DeployLayer" index="7" instance=ExtResource("10_f6mma")]
position = Vector2(619, 59)
hook_method = "eavesdrop_start"
[node name="吕萍钻出" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="8"]
visible = false visible = false
position = Vector2(534, 0) position = Vector2(534, 0)
sprite_frames = ExtResource("13_t3h08") sprite_frames = ExtResource("13_t3h08")
@ -213,12 +173,11 @@ position = Vector2(11, 148)
texture = ExtResource("4_gx8oy") texture = ExtResource("4_gx8oy")
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"] [node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(560, 150, 690, 150) points = PackedVector2Array(580, 150, 690, 150)
[node name="DirectionalLight2D" parent="Ground" index="9"] [node name="DirectionalLight2D" parent="Ground" index="9"]
energy = 0.9 energy = 0.9
blend_mode = 1 blend_mode = 1
[editable path="Ground"] [editable path="Ground"]
[editable path="Ground/DeployLayer/Ambush出隧道"] [editable path="Ground/DeployLayer/Ambush偷听"]
[editable path="Ground/DeployLayer/Ambush出隧道/Sign"]

View File

@ -1,8 +1,9 @@
[gd_scene load_steps=15 format=3 uid="uid://ryups1dnwdto"] [gd_scene load_steps=16 format=3 uid="uid://ryups1dnwdto"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_o0m5w"] [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="Script" uid="uid://beqnywn1dlnax" path="res://scene/ground/scene/c02/s09_animation.gd" id="2_34a6f"]
[ext_resource type="Texture2D" uid="uid://rfhf4usybjdc" path="res://asset/art/scene/c02/s09_裂缝/红色场景/背景.png" id="3_6xql4"] [ext_resource type="Texture2D" uid="uid://rfhf4usybjdc" path="res://asset/art/scene/c02/s09_裂缝/红色场景/背景.png" id="3_6xql4"]
[ext_resource type="Resource" uid="uid://c1bkhblw88ls0" path="res://asset/dialogue/c06.dialogue" id="3_bio82"]
[ext_resource type="Texture2D" uid="uid://cbvf6bfjprl8t" path="res://asset/art/scene/c02/s09_裂缝/红色场景/大麻绳.png" id="4_34a6f"] [ext_resource type="Texture2D" uid="uid://cbvf6bfjprl8t" path="res://asset/art/scene/c02/s09_裂缝/红色场景/大麻绳.png" id="4_34a6f"]
[ext_resource type="Texture2D" uid="uid://ddcburr57lb75" path="res://asset/art/scene/c02/旧版/s12_1014诡异版/bg_衔接阴影.png" id="5_5ow41"] [ext_resource type="Texture2D" uid="uid://ddcburr57lb75" path="res://asset/art/scene/c02/旧版/s12_1014诡异版/bg_衔接阴影.png" id="5_5ow41"]
[ext_resource type="Texture2D" uid="uid://cufmquyduq804" path="res://asset/art/scene/c02/s09_裂缝/红色场景/小床上.png" id="5_nmucy"] [ext_resource type="Texture2D" uid="uid://cufmquyduq804" path="res://asset/art/scene/c02/s09_裂缝/红色场景/小床上.png" id="5_nmucy"]
@ -40,9 +41,11 @@ animations = [{
[node name="Ground" parent="." instance=ExtResource("1_o0m5w")] [node name="Ground" parent="." instance=ExtResource("1_o0m5w")]
scene_name = "c02_s09" scene_name = "c02_s09"
default_portal = "right" default_portal = "right"
footstep_type = "crawling"
[node name="AnimationPlayer" parent="Ground" index="0"] [node name="AnimationPlayer" parent="Ground" index="0"]
script = ExtResource("2_34a6f") script = ExtResource("2_34a6f")
data = ExtResource("3_bio82")
oneshot_animation = "" oneshot_animation = ""
[node name="BGSprite2D" parent="Ground" index="2"] [node name="BGSprite2D" parent="Ground" index="2"]

View File

@ -36,7 +36,7 @@ func _ready() -> void:
continue continue
flowers.append(f) flowers.append(f)
if f.global_position.y > 98: #98 玩家 if f.global_position.y > 98: #98 玩家
f.z_index = 6 f.z_index = 7
elif f.global_position.y > 88: # 背景小孩 elif f.global_position.y > 88: # 背景小孩
f.z_index = 1 f.z_index = 1

View File

@ -69,7 +69,9 @@ func _on_interacted() -> void:
_set_current_x_as_interacted_x() _set_current_x_as_interacted_x()
$SfxOpen.play() $SfxOpen.play()
var inspect_texture = preload("res://asset/art/scene/c01/s07_书店外/纸片_正面.png") var inspect_texture = preload("res://asset/art/scene/c01/s07_书店外/纸片_正面.png")
SceneManager.get_inspector().pop_prop_inspection("", inspect_texture, true) # SceneManager.get_inspector().pop_prop_inspection("", inspect_texture, true)
var note = tr("c01_飘落的寻人启事1")
SceneManager.get_inspector().pop_standard_inspection(inspect_texture, null, note, true)
func _set_current_x_as_interacted_x() -> void: func _set_current_x_as_interacted_x() -> void:

View File

@ -1,11 +1,11 @@
[gd_scene load_steps=10 format=3 uid="uid://cn1ypquvs07wx"] [gd_scene load_steps=9 format=3 uid="uid://cn1ypquvs07wx"]
[ext_resource type="Script" uid="uid://bm5qxyu84rd3e" path="res://scene/ground/script/c01/s12_飘动的寻人启事.gd" id="1_like6"] [ext_resource type="Script" uid="uid://bm5qxyu84rd3e" path="res://scene/ground/script/c01/s12_飘动的寻人启事.gd" id="1_like6"]
[ext_resource type="Shader" uid="uid://dksa483a8v7g4" path="res://asset/shader/rotation_displacement_vertex.gdshader" id="2_2w1m2"] [ext_resource type="Shader" uid="uid://dksa483a8v7g4" path="res://asset/shader/rotation_displacement_vertex.gdshader" id="2_2w1m2"]
[ext_resource type="AudioStream" uid="uid://duxo1jopqqf0q" path="res://asset/audio/sfx/交互/序章/04_书店内_移动书本.wav" id="2_ycl7d"] [ext_resource type="AudioStream" uid="uid://duxo1jopqqf0q" path="res://asset/audio/sfx/交互/序章/04_书店内_移动书本.wav" id="2_ycl7d"]
[ext_resource type="Texture2D" uid="uid://bul7j3lqvlxp7" path="res://asset/art/scene/c01/s07_书店外/纸片_正面.png" id="3_dl751"] [ext_resource type="Texture2D" uid="uid://bul7j3lqvlxp7" path="res://asset/art/scene/c01/s07_书店外/纸片_正面.png" id="3_dl751"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_5dshd"] [ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_5dshd"]
[ext_resource type="Texture2D" uid="uid://b343nvvbtpglb" path="res://asset/art/ui/互动提示符/ui 像素版_纯白.png" id="5_tf5lq"] [ext_resource type="Texture2D" uid="uid://gui0ubwlwoi0" path="res://asset/art/ui/action_mark/UI手.png" id="6_ycl7d"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_q4vn8"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_q4vn8"]
shader = ExtResource("2_2w1m2") shader = ExtResource("2_2w1m2")
@ -13,10 +13,6 @@ shader_parameter/center = Vector2(25, 25)
shader_parameter/amplitude = 0.15 shader_parameter/amplitude = 0.15
shader_parameter/frequency = 1.5 shader_parameter/frequency = 1.5
[sub_resource type="AtlasTexture" id="AtlasTexture_lhyxr"]
atlas = ExtResource("5_tf5lq")
region = Rect2(498, 555, 51, 54)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_btxl6"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_btxl6"]
size = Vector2(20, 10) size = Vector2(20, 10)
@ -43,8 +39,8 @@ offset_right = 4.0
offset_bottom = 11.0 offset_bottom = 11.0
[node name="Sprite2D" parent="Node2D/Sign/TextureContainer" index="0"] [node name="Sprite2D" parent="Node2D/Sign/TextureContainer" index="0"]
position = Vector2(-25, -162.5) position = Vector2(-50, -250)
texture = SubResource("AtlasTexture_lhyxr") texture = ExtResource("6_ycl7d")
[node name="Area2D" type="Area2D" parent="Node2D"] [node name="Area2D" type="Area2D" parent="Node2D"]

View File

@ -53,6 +53,7 @@ var ANIMATION_CONFIG = {
MOVEMENT_IDLE: [&"c02_吕萍_爬行_idle_l", &"c02_吕萍_爬行_idle_r"], MOVEMENT_IDLE: [&"c02_吕萍_爬行_idle_l", &"c02_吕萍_爬行_idle_r"],
MOVEMENT_WALKING: [&"c02_吕萍_爬行_left", &"c02_吕萍_爬行_right"], MOVEMENT_WALKING: [&"c02_吕萍_爬行_left", &"c02_吕萍_爬行_right"],
MOVEMENT_RUNNING: [&"c02_吕萍_爬行_left", &"c02_吕萍_爬行_right"], MOVEMENT_RUNNING: [&"c02_吕萍_爬行_left", &"c02_吕萍_爬行_right"],
5: [&"c02_吕萍_匍匐起身蹲着窥视", Vector2.ONE, Vector2(0, -37)],
}, },
"吕萍带小猫": "吕萍带小猫":
{ {

View File

@ -72,7 +72,7 @@ func _blink_label(init := true):
blinking_tween.tween_property(tip_label, "modulate:a", 0.5, 1.0) blinking_tween.tween_property(tip_label, "modulate:a", 0.5, 1.0)
blinking_tween.tween_callback(_blink_label.bind(true)) blinking_tween.tween_callback(_blink_label.bind(true))
# 如果没有 notes_texture自动使用黑色遮罩
func pop_standard_inspection(cover_texture, notes_texture, inspection_note, centered := false): func pop_standard_inspection(cover_texture, notes_texture, inspection_note, centered := false):
if centered: if centered:
content_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER content_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER