diff --git a/manager/scene/global_functor.gd b/manager/scene/global_functor.gd index 0763b75d..d4937f86 100644 --- a/manager/scene/global_functor.gd +++ b/manager/scene/global_functor.gd @@ -10,6 +10,7 @@ func _ready() -> void: # called from dialogue # 传送进入隧道 func transfer_to_tunnel(): + ArchiveManager.set_global_entry("c02_entered_the_splitted_space", true) SceneManager.get_ground_loader().transition_to_scene("c02_s09", "right") diff --git a/manager/scene/scene_manager.gd b/manager/scene/scene_manager.gd index 03511be9..3971155b 100644 --- a/manager/scene/scene_manager.gd +++ b/manager/scene/scene_manager.gd @@ -381,12 +381,15 @@ func show_settings() -> void: #### 游戏场景树暂停计数器,设置、memory、bag 等菜单都会导致 pause var pause_counter := 0 - +var pause_counter_mutex := Mutex.new() func toggle_pause_counter(plus := true) -> void: + # 若不 lock,会导致快速切换菜单时出现并发问题(pause_counter 成为负数) + pause_counter_mutex.lock() pause_counter += 1 if plus else -1 print("SceneTree pause_counter: ", pause_counter) get_tree().paused = pause_counter > 0 + pause_counter_mutex.unlock() func quit_game() -> void: diff --git a/scene/character/reenter_lock.gd b/scene/character/reenter_lock.gd index 3843190b..60505908 100644 --- a/scene/character/reenter_lock.gd +++ b/scene/character/reenter_lock.gd @@ -21,6 +21,8 @@ signal hold_changed(count: int, is_add: bool) # 实例级别的锁定请求追踪 var _freeze_requests: int = 0 var _hold_requests: int = 0 +# 处理 _freeze_requests / _hold_requests 增减时需要 _request_mutex lock +var _request_mutex := Mutex.new() func _ready() -> void: @@ -51,14 +53,18 @@ func _create_timer(duration: float, callable: Callable): func freeze(duration := 0.0) -> void: if duration > 0: _create_timer(duration, release) + _request_mutex.lock() _freeze_requests += 1 + var f_requests = _freeze_requests + _request_mutex.unlock() if GlobalConfig.DEBUG: print("[Lock] Freeze applied: ", _freeze_requests) print("freeze from: ", _get_stack_info()) - freeze_changed.emit(_freeze_requests, true) + freeze_changed.emit(f_requests, true) func release() -> void: + _request_mutex.lock() _freeze_requests -= 1 if _freeze_requests < 0: printerr( @@ -69,17 +75,21 @@ func release() -> void: " Reset to 0." ) _freeze_requests = 0 + var f_requests = _freeze_requests + _request_mutex.unlock() if GlobalConfig.DEBUG: print("[Lock] Release applied: ", _freeze_requests) print("release from: ", _get_stack_info()) - freeze_changed.emit(_freeze_requests, false) + freeze_changed.emit(f_requests, false) # Hold 相关方法 func hold(duration := 0.0) -> void: if duration > 0: _create_timer(duration, unhold) + _request_mutex.lock() _hold_requests += 1 + _request_mutex.unlock() if GlobalConfig.DEBUG: print("[Lock] Hold applied: ", _hold_requests) print("hold from: ", _get_stack_info()) @@ -87,6 +97,7 @@ func hold(duration := 0.0) -> void: func unhold() -> void: + _request_mutex.lock() _hold_requests -= 1 if _hold_requests < 0: printerr( @@ -97,10 +108,12 @@ func unhold() -> void: " Reset to 0." ) _hold_requests = 0 + var h_requests = _hold_requests + _request_mutex.unlock() if GlobalConfig.DEBUG: print("[Lock] Unhold applied: ", _hold_requests) print("unhold from: ", _get_stack_info()) - hold_changed.emit(_hold_requests, false) + hold_changed.emit(h_requests, true) # 静态方法:查询当前状态 @@ -124,16 +137,21 @@ func get_hold_count() -> int: func lock_all(duration := 0.0) -> void: if duration > 0: _create_timer(duration, unlock_all) + _request_mutex.lock() _hold_requests += 1 _freeze_requests += 1 + var h_requests = _hold_requests + var f_requests = _freeze_requests + _request_mutex.unlock() if GlobalConfig.DEBUG: prints("[Lock] LockAll applied (hold, freeze): ", _hold_requests, _freeze_requests) print("lock_all from: ", _get_stack_info()) - hold_changed.emit(_hold_requests, true) - freeze_changed.emit(_freeze_requests, true) + hold_changed.emit(h_requests, true) + freeze_changed.emit(f_requests, true) func unlock_all() -> void: + _request_mutex.lock() _freeze_requests -= 1 _hold_requests -= 1 if _freeze_requests < 0: @@ -154,8 +172,11 @@ func unlock_all() -> void: " Reset to 0." ) _hold_requests = 0 - freeze_changed.emit(_freeze_requests, false) - hold_changed.emit(_hold_requests, false) + var h_requests = _hold_requests + var f_requests = _freeze_requests + _request_mutex.unlock() + hold_changed.emit(h_requests, false) + freeze_changed.emit(f_requests, false) if GlobalConfig.DEBUG: prints("[Lock] UnlockAll applied (hold, freeze): ", _hold_requests, _freeze_requests) print("unlock_all from: ", _get_stack_info()) @@ -167,8 +188,8 @@ func _to_string() -> String: func _get_stack_info() -> String: var stack = get_stack() - # 0: [self] _get_stack_info(); - # 1: [caller] i.e. print("...", _get_stack_info()); + # 0: [self] _get_stack_info(); + # 1: [caller] i.e. print("...", _get_stack_info()); # 2: scene_manager.gd # 3: target caller # {function:bar, line:12, source:res://script.gd} diff --git a/scene/entity/inspectable.gd b/scene/entity/inspectable.gd index 09ec62b0..6f08c76f 100644 --- a/scene/entity/inspectable.gd +++ b/scene/entity/inspectable.gd @@ -187,10 +187,9 @@ func _blink_label(init := true): func _on_cancel(_body = null): - if STATUS_TRANSITIONING == status: + if STATUS_TRANSITIONING == status or status == STATUS_NORAML: return - if status != STATUS_NORAML: - quit_inspecting.emit() + quit_inspecting.emit() status = STATUS_TRANSITIONING var tween = create_tween() tween.tween_property(container, "modulate:a", 0.0, 0.15) diff --git a/scene/entity/note.gd b/scene/entity/note.gd index d425565f..a4220689 100644 --- a/scene/entity/note.gd +++ b/scene/entity/note.gd @@ -87,6 +87,7 @@ func _ready() -> void: ground_archive = ArchiveManager.archive.ground_archive() icount = ground_archive.get_value(name, "icount", 0) visibility_changed.connect(_visibility_changed) + _visibility_changed() func _visibility_changed(): diff --git a/scene/entity/portal.gd b/scene/entity/portal.gd index 57f84994..c45520ab 100644 --- a/scene/entity/portal.gd +++ b/scene/entity/portal.gd @@ -100,9 +100,14 @@ func _ready() -> void: _check_sign_mark_and_texture() area2d.body_entered.connect(_reset) area2d.body_exited.connect(_on_cancel) - sign_snapper.arrived.connect(_on_interacted) sign_mark.cancel.connect(_on_cancel) visibility_changed.connect(_visibility_changed) + # left / right 不使用 snapper,其他使用 + if portal_name == "left" or portal_name == "right": + sign_snapper.enabled = false + sign_mark.interacted.connect(_on_interacted) + else: + sign_snapper.arrived.connect(_on_interacted) func _visibility_changed(): diff --git a/scene/ground/scene/animation_root.gd b/scene/ground/scene/animation_root.gd index acf97694..ea469acc 100644 --- a/scene/ground/scene/animation_root.gd +++ b/scene/ground/scene/animation_root.gd @@ -208,8 +208,8 @@ func _reset_archive() -> void: debug_global_data[e] = 0 archive.event_stage[e] = debug_global_data[e] # 重置 props 状态 - var props = debug_global_data["enabled_items"] as Dictionary - if props == null: + var props = debug_global_data.get("enabled_items") + if props == null or not props is Dictionary: props = {} debug_global_data["enabled_items"] = props var prop_disabler_regx = RegEx.create_from_string(r'SceneManager.disable_prop_item\(.?"(.+)"') as RegEx diff --git a/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn b/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn index 0c805f1b..d86ae0d8 100644 --- a/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn +++ b/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn @@ -291,7 +291,7 @@ speed = 90.0 position = Vector2(1241, -1) sprite_frames = ExtResource("2_l4axy") animation = &"秋千" -frame = 1 +frame = 3 [node name="Sfx2D" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/秋千"] process_mode = 1 @@ -320,7 +320,8 @@ metadata/_custom_type_script = "uid://wapo47a1oddf" position = Vector2(1358, 0) sprite_frames = ExtResource("2_l4axy") animation = &"跷跷板" -frame = 1 +autoplay = "跷跷板" +frame = 5 [node name="Sfx2D" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/跷跷板"] process_mode = 1 @@ -369,7 +370,6 @@ action_configs = Array[Dictionary]([{ position = Vector2(43, -44.5) sprite_frames = ExtResource("7_dsj2r") animation = &"【画画男孩-1】呼吸" -frame = 1 action_configs = Array[Dictionary]([{ "animation_intro": "【画画男孩-1】呼吸", "animation_next": "【画画男孩-1】画画", @@ -425,7 +425,6 @@ one_shot = false position = Vector2(1558, -12) sprite_frames = ExtResource("7_dsj2r") animation = &"【站立小孩-3】呼吸" -frame = 1 action_configs = Array[Dictionary]([{ "animation_intro": &"【站立小孩-3】转身", "animation_next": "【站立小孩-3】走路", @@ -513,6 +512,7 @@ position = Vector2(1505, 19) sprite_frames = ExtResource("7_dsj2r") animation = &"【站立小孩-2】侧面呼吸" autoplay = "【站立小孩-2】侧面呼吸" +frame = 1 action_configs = Array[Dictionary]([{ "animation_intro": "【站立小孩-2】转身", "animation_next": "【站立小孩-2】走路", @@ -605,7 +605,7 @@ z_index = 1 position = Vector2(1733, 5) sprite_frames = ExtResource("7_dsj2r") animation = &"【胖小孩背着残疾小孩】画画" -frame = 7 +frame = 5 action_configs = Array[Dictionary]([{ "animation_intro": "【胖小孩背着残疾小孩】呼吸", "animation_next": "【胖小孩背着残疾小孩】画画", @@ -745,13 +745,11 @@ position = Vector2(377, 18) scale = Vector2(0.9, 0.9) sprite_frames = ExtResource("2_l4axy") animation = &"中蓝衣小孩呼吸" -frame = 2 [node name="门口_右绿衣男孩" parent="Ground/ParallaxForeground/BGParallaxLayer" index="3" instance=ExtResource("8_ouldg")] position = Vector2(408, 3) sprite_frames = ExtResource("2_l4axy") animation = &"右绿衣男孩呼吸" -frame = 1 [node name="门口_红衣姑娘" parent="Ground/ParallaxForeground/BGParallaxLayer" index="4" instance=ExtResource("8_ouldg")] light_mask = 2 @@ -779,7 +777,6 @@ texture_scale = 0.5 position = Vector2(301, 8.5) sprite_frames = ExtResource("2_l4axy") animation = &"院长呼吸" -frame = 2 action_configs = Array[Dictionary]([{ "animation_intro": "院长翻书", "animation_next": "院长呼吸", diff --git a/scene/ground/scene/c01/s10_公寓楼道.tscn b/scene/ground/scene/c01/s10_公寓楼道.tscn index 3a292d7b..d8195917 100644 --- a/scene/ground/scene/c01/s10_公寓楼道.tscn +++ b/scene/ground/scene/c01/s10_公寓楼道.tscn @@ -40,9 +40,6 @@ metadata/_custom_type_script = "uid://bbg4vopj4apl6" [node name="BGSprite2D" parent="Ground" index="2"] texture = ExtResource("3_slkid") -[node name="portal_right" parent="Ground/DeployLayer" index="1"] -target_scene = "c01_s11" - [node name="小小蝶探头" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="2"] position = Vector2(48, 7) sprite_frames = ExtResource("4_bhb7e") @@ -62,6 +59,13 @@ ambient_light_color = Color(0.895255, 0.473027, 0.312609, 1) [node name="MainPlayer" parent="Ground" index="5"] visible = false character = "小小蝶" +player_movement_rect = Rect2(18, -158, 653, 316) + +[node name="CameraFocusMarker" parent="Ground" index="6"] +limit_left = 0 +limit_top = -158 +limit_right = 701 +limit_bottom = 158 [node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"] points = PackedVector2Array(18, 150, 671, 150) diff --git a/scene/ground/scene/c01/s11_黄包车演出.gd b/scene/ground/scene/c01/s11_黄包车演出.gd index 1dbcd9d5..c8eba17f 100644 --- a/scene/ground/scene/c01/s11_黄包车演出.gd +++ b/scene/ground/scene/c01/s11_黄包车演出.gd @@ -33,7 +33,7 @@ func _on_ground_ready() -> void: # 相机抖动 camera.shake_camera() # 不显示玩家,锁定玩家移动 - SceneManager.freeze_player(0) + SceneManager.lock_player() main_character = $"../DeployLayer/车夫与吕萍" footstep_sfx = $"黄包车Sfx" # 注意第一段 dialog 在鬼差探头阶段播放 diff --git a/scene/ground/scene/c01/s11_黄包车演出.tscn b/scene/ground/scene/c01/s11_黄包车演出.tscn index 8065078b..6bf3ad1c 100644 --- a/scene/ground/scene/c01/s11_黄包车演出.tscn +++ b/scene/ground/scene/c01/s11_黄包车演出.tscn @@ -621,8 +621,13 @@ visible = false position = Vector2(26, 118) catty_light_energy = 1.0 character = "小小蝶" +player_movement_rect = Rect2(37, -158, 11313, 316) [node name="CameraFocusMarker" parent="Ground" index="6" node_paths=PackedStringArray("focusing_node")] +limit_left = 0 +limit_top = -384 +limit_right = 11377 +limit_bottom = 384 focusing_node = NodePath("../DeployLayer/车夫与吕萍") force_offset = Vector2(40, -30) diff --git a/scene/ground/scene/c02/s02_过道.tscn b/scene/ground/scene/c02/s02_过道.tscn index 5fde6e4e..fd33bd6e 100644 --- a/scene/ground/scene/c02/s02_过道.tscn +++ b/scene/ground/scene/c02/s02_过道.tscn @@ -294,8 +294,15 @@ texture = SubResource("GradientTexture2D_fvldj") [node name="MainPlayer" parent="Ground" index="5"] position = Vector2(53, 98) +player_movement_rect = Rect2(19, -158, 667, 316) facing_direction = Vector2(1, 0) +[node name="CameraFocusMarker" parent="Ground" index="6"] +limit_left = 0 +limit_top = -158 +limit_right = 700 +limit_bottom = 158 + [node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"] points = PackedVector2Array(19, 150, 686, 150) diff --git a/scene/ground/scene/c02/s04_保卫科.tscn b/scene/ground/scene/c02/s04_保卫科.tscn index 9a4903b5..c5049713 100644 --- a/scene/ground/scene/c02/s04_保卫科.tscn +++ b/scene/ground/scene/c02/s04_保卫科.tscn @@ -37,7 +37,9 @@ data = { } debug_global_data = Dictionary[String, Variant]({ "c02_tin_coin_taken": 0, -"enabled_items": ["prop_火柴", "prop_院长的信", "prop_银元"], +"enabled_items": { +"prop_锡箔元宝": true +}, "handnote_c02_list_namesAndGoal": 0, "player_x": 30.0 }) diff --git a/scene/ground/scene/c02/s06_二楼.tscn b/scene/ground/scene/c02/s06_二楼.tscn index 83389471..d83e106a 100644 --- a/scene/ground/scene/c02/s06_二楼.tscn +++ b/scene/ground/scene/c02/s06_二楼.tscn @@ -1357,6 +1357,7 @@ position = Vector2(269, 57) sprite_frames = ExtResource("40_7i4w0") animation = &"c00_头套小婵_idle" autoplay = "c00_头套小婵_idle" +frame = 1 flip_h = true move_configs = Array[Dictionary]([{ "animation": "c00_头套小婵_run", diff --git a/scene/ground/scene/c02/s07_二楼内侧楼道.tscn b/scene/ground/scene/c02/s07_二楼内侧楼道.tscn index cf00e8ce..341aa19d 100644 --- a/scene/ground/scene/c02/s07_二楼内侧楼道.tscn +++ b/scene/ground/scene/c02/s07_二楼内侧楼道.tscn @@ -32,7 +32,10 @@ data = { "oneshot_animation_played": false } debug_global_data = Dictionary[String, Variant]({ -"enabled_items": PackedStringArray("prop_火柴", "prop_院长的信", "prop_银元"), +"enabled_items": { +"prop_粘鼠板": true, +"prop_锡箔元宝": true +}, "player_x": 30.0 }) debug_ground_data = Dictionary[String, Variant]({ diff --git a/scene/ground/scene/c02/s08_瞎子卧室.tscn b/scene/ground/scene/c02/s08_瞎子卧室.tscn index b78e6fa5..b9eecefd 100644 --- a/scene/ground/scene/c02/s08_瞎子卧室.tscn +++ b/scene/ground/scene/c02/s08_瞎子卧室.tscn @@ -116,7 +116,30 @@ data = { "oneshot_animation_played": false } debug_global_data = Dictionary[String, Variant]({ -"enabled_items": ["prop_火柴", "prop_院长的信", "prop_银元"] +"c02_the_blind_room_unlocked": false, +"handnote_c02_split_illusionSpace": 0 +}) +debug_ground_data = Dictionary[String, Variant]({ +"Ambush偷听": { +"played": false +}, +"Ambush回看洞口": { +"played": false +}, +"AnimationPlayer": { +"first_entered": false, +"hole_interacted_times": 0, +"oneshot_animation_played": false +}, +"Closeup画": { +"interacted_times": 0 +}, +"Closeup讨厌他们": { +"interacted_times": 0 +}, +"煤油灯": { +"interacted_times": 0 +} }) oneshot_animation = "" diff --git a/scene/ground/scene/c02/s09_裂缝.gd b/scene/ground/scene/c02/s09_裂缝.gd index 1f694250..13a8b450 100644 --- a/scene/ground/scene/c02/s09_裂缝.gd +++ b/scene/ground/scene/c02/s09_裂缝.gd @@ -28,7 +28,7 @@ func _on_ground_ready() -> void: else: var default_counter_x = 364.0 var counter_x = ArchiveManager.get_global_value(&"c02_counter_x", default_counter_x) - var diff = counter_x - default_counter_x + var diff = float(counter_x) - default_counter_x counter.position.x += diff # rope_range rope = $"../DeployLayer/麻绳" diff --git a/scene/ground/scene/c02/s09_裂缝.tscn b/scene/ground/scene/c02/s09_裂缝.tscn index d3dbcd9e..94a49742 100644 --- a/scene/ground/scene/c02/s09_裂缝.tscn +++ b/scene/ground/scene/c02/s09_裂缝.tscn @@ -180,6 +180,23 @@ footstep_type = "crawling" [node name="AnimationPlayer" parent="Ground" index="0"] script = ExtResource("2_34a6f") +debug_global_data = Dictionary[String, Variant]({ +"c02_counter_pushed_out": false, +"c02_counter_x": 100.0, +"enabled_items": {}, +"player_x": 4500.0 +}) +debug_ground_data = Dictionary[String, Variant]({ +"Ambush剪影指天": { +"played": false +}, +"Ambush老鼠": { +"played": false +}, +"AnimationPlayer": { +"oneshot_animation_played": false +} +}) oneshot_animation = "" [node name="背景音效_通道" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"] @@ -714,6 +731,7 @@ texture = ExtResource("16_7mvsg") position = Vector2(637.5, -19) sprite_frames = ExtResource("21_kpfk1") animation = &"剪影人物床_呼吸" +frame = 3 action_configs = Array[Dictionary]([{ "animation_intro": "剪影人物床_指天", &"animation_next": "剪影人物床_指天呼吸", @@ -884,6 +902,7 @@ position = Vector2(2987, -12) position = Vector2(4461, 115) lock_move_right = true character = "吕萍爬行" +player_movement_rect = Rect2(80, -158, 4420.93, 316) facing_direction = Vector2(-1, 0) [node name="RemoteTransform2D" type="RemoteTransform2D" parent="Ground/MainPlayer" index="6"] @@ -891,6 +910,12 @@ remote_path = NodePath("../../DeployLayer/隆起碰撞") update_rotation = false update_scale = false +[node name="CameraFocusMarker" parent="Ground" index="6"] +limit_left = 0 +limit_top = -158 +limit_right = 4536 +limit_bottom = 158 + [node name="前景" type="Sprite2D" parent="Ground/ParallaxForeground/BGParallaxLayer" index="0"] position = Vector2(4295, 21) texture = ExtResource("6_nntqg") diff --git a/scene/ground/scene/c02/s10_空房间.gd b/scene/ground/scene/c02/s10_空房间.gd index e380c618..60579cf5 100644 --- a/scene/ground/scene/c02/s10_空房间.gd +++ b/scene/ground/scene/c02/s10_空房间.gd @@ -40,7 +40,7 @@ func _on_ground_ready() -> void: portal_note = $"../DeployLayer/Note进入隧道询问" # 进过瞎子卧室后,通道关闭 - if ArchiveManager.get_global_value(&"c02_the_blind_room_unlocked"): + if ArchiveManager.get_global_value(&"c02_entered_the_splitted_space"): # 遮挡的空房间 $"../BGSprite2D".texture = preload("uid://ba57knu57jp3u") @@ -198,8 +198,8 @@ func after_counter_moved(): catty_head.enabled = false return catty_head.enabled = true - # 进过瞎子卧室后,通道关闭 - var entered = ArchiveManager.get_global_value(&"c02_the_blind_room_unlocked", false) + # 通道关闭 + var entered = ArchiveManager.get_global_value(&"c02_entered_the_splitted_space") if not entered and catty_head.picked: portal_note.enabled = true @@ -226,5 +226,5 @@ func _on_pick_catty_head() -> void: SceneManager.pop_os_with_str("c02_获得小猫玩具") SceneManager.unlock_player() # 进过瞎子卧室后,通道关闭 - if not ArchiveManager.get_global_value(&"c02_the_blind_room_unlocked"): + if not ArchiveManager.get_global_value(&"c02_entered_the_splitted_space"): portal_note.enabled = true diff --git a/scene/ground/scene/c03/s01_三楼.tscn b/scene/ground/scene/c03/s01_三楼.tscn index 00254624..231ff4c5 100644 --- a/scene/ground/scene/c03/s01_三楼.tscn +++ b/scene/ground/scene/c03/s01_三楼.tscn @@ -235,6 +235,7 @@ note_key = "c03_s01_门口看病牌子" [node name="Interactable放肉处" parent="Ground/DeployLayer" index="4" instance=ExtResource("5_tutxu")] position = Vector2(567, 39) +disable_prop_after_interacted = true prop_key = "prop_奇怪的肉" [node name="EventBinder" type="Node" parent="Ground/DeployLayer/Interactable放肉处"] diff --git a/scene/ground/script/c02/小手讨东西.gd b/scene/ground/script/c02/小手讨东西.gd index 5fe8a763..4f7fabf2 100644 --- a/scene/ground/script/c02/小手讨东西.gd +++ b/scene/ground/script/c02/小手讨东西.gd @@ -156,10 +156,10 @@ func _on_interacted() -> void: return interacting = true interact_start.emit() + if icount == 0: + do_first_interact(false) await _increase_icount() - if icount == 1: - await do_first_interact(false) - elif holding_prop != "": + if holding_prop != "": # 手持物品时,交互直接给玩家物品 SceneManager.enable_prop_item(holding_prop) if holding_prop == "prop_老虎钳": diff --git a/scene/ground/script/c03/s01_closeup_demo公告.tscn b/scene/ground/script/c03/s01_closeup_demo公告.tscn index 8d84caac..423c3c27 100644 --- a/scene/ground/script/c03/s01_closeup_demo公告.tscn +++ b/scene/ground/script/c03/s01_closeup_demo公告.tscn @@ -56,7 +56,7 @@ size_flags_horizontal = 4 theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_fonts/font = ExtResource("3_emo0y") theme_override_font_sizes/font_size = 13 -text = "感谢试玩" +text = "c02_demo感谢试玩" horizontal_alignment = 1 vertical_alignment = 1 autowrap_mode = 3 @@ -71,10 +71,7 @@ size_flags_horizontal = 4 theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_fonts/font = ExtResource("3_qgsol") theme_override_font_sizes/font_size = 8 -text = "以上是《衔蝶》demo的全部内容啦,感谢你抽出宝贵的时间体验我们的游戏! -试玩虽然结束,但吕萍的旅程才刚刚开始,后面的故事将更加精彩!你在游戏中探索的每一步都是对我们的鼓励和支持! -在游戏上线前,我们将继续优化游戏内容,完善和打磨游戏设计、叙事流程,音效、画面表现等。 -最后,欢迎你对《衔蝶》的试玩提出反馈,这对我们非常重要!期待与你的下次相遇,再见!" +text = "c02_demo公告" vertical_alignment = 1 autowrap_mode = 3 script = ExtResource("5_emo0y")