书架点击时锁定+只打乱一次

This commit is contained in:
cakipaul 2025-07-05 08:28:18 +08:00
parent 49f204ab0a
commit 2ae1063f22
11 changed files with 69 additions and 70 deletions

View File

@ -64,21 +64,22 @@ func _ready() -> void:
if light_energy != 0.0: if light_energy != 0.0:
add_child(light2d) add_child(light2d)
frame_changed.connect(_on_frame_changed) frame_changed.connect(_on_frame_changed)
if Engine.is_editor_hint():
_debug_mov_projection()
else:
debug_mov_onion_sprite2d.queue_free()
_load_config() _load_config()
if autostart and animation: if autostart and animation and not Engine.is_editor_hint():
# 制造一点错差 # 制造一点错差
frame = randi() % sprite_frames.get_frame_count(animation) frame = randi() % sprite_frames.get_frame_count(animation)
if not Engine.is_editor_hint() or debug_playing: play()
play()
animation_changed.connect(_on_animation_start) animation_changed.connect(_on_animation_start)
animation_looped.connect(_on_animation_start) animation_looped.connect(_on_animation_start)
animation_finished.connect(_on_animation_finished) animation_finished.connect(_on_animation_finished)
animation_looped.connect(_on_animation_finished) animation_looped.connect(_on_animation_finished)
if Engine.is_editor_hint():
# stop()
# frame = 0
debug_playing = false
_debug_mov_projection()
else:
debug_mov_onion_sprite2d.queue_free()
func _debug_mov_projection(): func _debug_mov_projection():
_load_config() _load_config()

View File

@ -81,7 +81,7 @@ script = ExtResource("1_0bbao")
group_name = &"氛围_不受欢迎的存在" group_name = &"氛围_不受欢迎的存在"
group_db = 0.0 group_db = 0.0
base_sound = ExtResource("11_scrw7") base_sound = ExtResource("11_scrw7")
base_sound_db = -9.0 base_sound_db = -12.0
embellishments = Array[ExtResource("3_scrw7")]([]) embellishments = Array[ExtResource("3_scrw7")]([])
metadata/_custom_type_script = "uid://cy1ngx5no67v" metadata/_custom_type_script = "uid://cy1ngx5no67v"

View File

@ -30,8 +30,7 @@ signal sign_mark_offset_updated
@export var interacted_sign_texture: Texture2D @export var interacted_sign_texture: Texture2D
@export var one_shot := true @export var one_shot := true
@export var hide_if_one_shot_played := false @export var hide_if_one_shot_played := false
# 首次进入 tree 就直接启用 @export var on_ground_ready := false
@export var on_first_enter_tree := false
@export var cooldown_time := 0.5 @export var cooldown_time := 0.5
@export var lock_player_on_playing_dialogue = true @export var lock_player_on_playing_dialogue = true
@export var global_method := "" @export var global_method := ""
@ -100,12 +99,11 @@ func _ready() -> void:
animation_player.animation_libraries_updated.connect(notify_property_list_changed) animation_player.animation_libraries_updated.connect(notify_property_list_changed)
_check_sign_status() _check_sign_status()
return return
SceneManager.ground_ready.connect(_on_ground_ready, CONNECT_ONE_SHOT)
# setup default value # setup default value
ground_archive = ArchiveManager.archive.ground_archive() ground_archive = ArchiveManager.archive.ground_archive()
played = ground_archive.get_value(name, "played", false) played = ground_archive.get_value(name, "played", false)
played_time = 0.0 played_time = 0.0
if on_first_enter_tree:
_do_trigger.call_deferred()
if played: if played:
if GlobalConfig.DEBUG: if GlobalConfig.DEBUG:
print("Ambush has played, name=", name, " one_shot=", one_shot) print("Ambush has played, name=", name, " one_shot=", one_shot)
@ -127,6 +125,11 @@ func _check_sign_status():
sign_mark.display_sign = trigger_mode == "interact" sign_mark.display_sign = trigger_mode == "interact"
func _on_ground_ready(_g):
if on_ground_ready:
_do_trigger.call_deferred()
func _get_animation_player() -> AnimationPlayer: func _get_animation_player() -> AnimationPlayer:
var node = get_parent() var node = get_parent()
while node and not node is Ground2D: while node and not node is Ground2D:

View File

@ -16,7 +16,7 @@ var speed := 2.0
var _tweeked_position := Vector2.ZERO var _tweeked_position := Vector2.ZERO
var zoom_tween: Tween var zoom_tween: Tween
var focus_offset := Vector2.ZERO var _focus_offset := Vector2.ZERO
var shake_ignore_boundary := false var shake_ignore_boundary := false
@ -134,13 +134,13 @@ func focus_node(node: Node2D, duration := 0.0) -> void:
focusing_node = null focusing_node = null
return return
if duration > 0.0: if duration > 0.0:
focus_offset = global_position - node.global_position _focus_offset = global_position - node.global_position
if tween_focus and tween_focus.is_running(): if tween_focus and tween_focus.is_running():
tween_focus.kill() tween_focus.kill()
tween_focus = create_tween() tween_focus = create_tween()
( (
tween_focus tween_focus
. tween_property(self, "focus_offset", Vector2.ZERO, duration) . tween_property(self, "_focus_offset", Vector2.ZERO, duration)
. set_trans(Tween.TRANS_SINE) . set_trans(Tween.TRANS_SINE)
. set_ease(Tween.EASE_IN_OUT) . set_ease(Tween.EASE_IN_OUT)
) )

View File

@ -99,14 +99,14 @@ func _on_interactable_bowl_interacted() -> void:
await Util.wait(1) await Util.wait(1)
DialogueManager.show_dialogue_balloon(dialogue_c01, "c01_s12_鬼差来了") DialogueManager.show_dialogue_balloon(dialogue_c01, "c01_s12_鬼差来了")
var tween = create_tween() var tween = create_tween()
var camera = SceneManager.get_camera_marker() var camera = SceneManager.get_camera_marker() as CameraFocusMarker
tween.tween_interval(1.5) tween.tween_interval(1.5)
tween.tween_property(camera, "focus_offset", Vector2(-100, 0), 2.0) tween.tween_property(camera, "force_offset", Vector2(-100, 0), 2.0)
SceneManager.get_player().set_facing_direction(Vector2.LEFT) SceneManager.get_player().set_facing_direction(Vector2.LEFT)
await DialogueManager.dialogue_ended await DialogueManager.dialogue_ended
SceneManager.release_player() SceneManager.release_player()
tween = create_tween() tween = create_tween()
tween.tween_property(camera, "focus_offset", Vector2(0, 0), 2.0) tween.tween_property(camera, "force_offset", Vector2(0, 0), 2.0)
var ghost_move_tween var ghost_move_tween

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=36 format=3 uid="uid://bol5hl68pbpgq"] [gd_scene load_steps=35 format=3 uid="uid://bol5hl68pbpgq"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_llw14"] [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_书店外_诡异版.gd" id="2_krdvw"] [ext_resource type="Script" uid="uid://bh4h0e158t1oj" path="res://scene/ground/scene/c01/s12_书店外_诡异版.gd" id="2_krdvw"]
@ -29,27 +29,7 @@
[ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="17_nta2f"] [ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="17_nta2f"]
[ext_resource type="Texture2D" uid="uid://dol25yn3fixim" path="res://asset/art/fog_mask.png" id="19_7jjl5"] [ext_resource type="Texture2D" uid="uid://dol25yn3fixim" path="res://asset/art/fog_mask.png" id="19_7jjl5"]
[sub_resource type="Animation" id="Animation_48eje"]
resource_name = "intro"
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(0.0333333),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"intro"
}]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_38lx7"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_38lx7"]
_data = {
&"intro": SubResource("Animation_48eje")
}
[sub_resource type="AudioStreamSynchronized" id="AudioStreamSynchronized_mxf8g"] [sub_resource type="AudioStreamSynchronized" id="AudioStreamSynchronized_mxf8g"]
stream_count = 1 stream_count = 1
@ -104,6 +84,9 @@ debug_global_data = Dictionary[String, Variant]({
"player_x": 1500.0 "player_x": 1500.0
}) })
debug_ground_data = Dictionary[String, Variant]({ debug_ground_data = Dictionary[String, Variant]({
"AmbushIntro": {
"played": false
},
"AmbushSuccess": { "AmbushSuccess": {
"played": false "played": false
}, },
@ -120,7 +103,7 @@ debug_ground_data = Dictionary[String, Variant]({
"interacted_times": 0 "interacted_times": 0
} }
}) })
oneshot_animation = "intro" oneshot_animation = ""
[node name="BgmControl" type="Node" parent="Ground/AnimationPlayer" index="0"] [node name="BgmControl" type="Node" parent="Ground/AnimationPlayer" index="0"]
script = ExtResource("3_p7n7n") script = ExtResource("3_p7n7n")
@ -161,7 +144,11 @@ target_scene = "c01_s09"
position = Vector2(1, 0) position = Vector2(1, 0)
target_scene = "c01_s08" target_scene = "c01_s08"
[node name="portal_2" parent="Ground/DeployLayer" index="2" instance=ExtResource("4_o7hfk")] [node name="AmbushIntro" parent="Ground/DeployLayer" index="2" instance=ExtResource("9_nqlku")]
on_ground_ready = true
hook_method = "intro"
[node name="portal_2" parent="Ground/DeployLayer" index="3" instance=ExtResource("4_o7hfk")]
position = Vector2(995, 28) position = Vector2(995, 28)
debug_note = "c01_s12 的 2 号门通往书店" debug_note = "c01_s12 的 2 号门通往书店"
portal_name = "2" portal_name = "2"
@ -169,11 +156,11 @@ target_scene = "c01_s08"
target_portal = "left" target_portal = "left"
status = "opened" status = "opened"
[node name="背景" type="Sprite2D" parent="Ground/DeployLayer" index="3"] [node name="背景" type="Sprite2D" parent="Ground/DeployLayer" index="4"]
position = Vector2(1786, 5) position = Vector2(1786, 5)
texture = ExtResource("4_c1x3p") texture = ExtResource("4_c1x3p")
[node name="自动枯萎的花朵" parent="Ground/DeployLayer" index="4" node_paths=PackedStringArray("focus_node") instance=ExtResource("7_aq8vg")] [node name="自动枯萎的花朵" parent="Ground/DeployLayer" index="5" node_paths=PackedStringArray("focus_node") instance=ExtResource("7_aq8vg")]
position = Vector2(-9, 87) position = Vector2(-9, 87)
focus_node = NodePath("../Ghost") focus_node = NodePath("../Ghost")
total_num = 350 total_num = 350
@ -186,7 +173,7 @@ action_area = Vector2(3100, 40)
move_speed = 100.0 move_speed = 100.0
scatter_on_start = true scatter_on_start = true
[node name="Ghost" parent="Ground/DeployLayer" index="5" instance=ExtResource("8_gk0gq")] [node name="Ghost" parent="Ground/DeployLayer" index="6" instance=ExtResource("8_gk0gq")]
visible = false visible = false
z_index = 10 z_index = 10
position = Vector2(1127, 28) position = Vector2(1127, 28)
@ -202,11 +189,11 @@ max_distance = 1500.0
bus = &"game_sfx" 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="7" instance=ExtResource("11_pwu7i")]
z_index = 6 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="8" instance=ExtResource("14_ct084")]
position = Vector2(1748, 6) position = Vector2(1748, 6)
sprite_frames = ExtResource("13_lucm6") sprite_frames = ExtResource("13_lucm6")
animation = &"陆仁擦刀" animation = &"陆仁擦刀"
@ -218,12 +205,12 @@ action_configs = Array[Dictionary]([{
"intro_loop": 1 "intro_loop": 1
}]) }])
[node name="其余小孩" parent="Ground/DeployLayer" index="8" instance=ExtResource("14_ct084")] [node name="其余小孩" parent="Ground/DeployLayer" index="9" instance=ExtResource("14_ct084")]
position = Vector2(1911, 12) position = Vector2(1911, 12)
sprite_frames = ExtResource("14_7jjl5") sprite_frames = ExtResource("14_7jjl5")
animation = &"夜晚其余小孩杂耍" animation = &"夜晚其余小孩杂耍"
autoplay = "夜晚其余小孩杂耍" autoplay = "夜晚其余小孩杂耍"
frame = 2 frame = 1
action_configs = Array[Dictionary]([{ action_configs = Array[Dictionary]([{
"animation_intro": "夜晚其余小孩杂耍到害怕过渡", "animation_intro": "夜晚其余小孩杂耍到害怕过渡",
&"animation_next": "夜晚其余小孩害怕", &"animation_next": "夜晚其余小孩害怕",
@ -231,12 +218,11 @@ action_configs = Array[Dictionary]([{
"intro_loop": 1 "intro_loop": 1
}]) }])
[node name="举腿小孩" parent="Ground/DeployLayer" index="9" instance=ExtResource("14_ct084")] [node name="举腿小孩" parent="Ground/DeployLayer" index="10" instance=ExtResource("14_ct084")]
position = Vector2(1822, 6) position = Vector2(1822, 6)
sprite_frames = ExtResource("14_7jjl5") sprite_frames = ExtResource("14_7jjl5")
animation = &"夜晚举腿小孩杂耍" animation = &"夜晚举腿小孩杂耍"
autoplay = "夜晚举腿小孩杂耍" autoplay = "夜晚举腿小孩杂耍"
frame = 1
action_configs = Array[Dictionary]([{ action_configs = Array[Dictionary]([{
"animation_intro": "夜晚举腿小孩杂耍到害怕过渡", "animation_intro": "夜晚举腿小孩杂耍到害怕过渡",
"animation_next": "夜晚举腿小孩害怕", "animation_next": "夜晚举腿小孩害怕",
@ -244,7 +230,7 @@ action_configs = Array[Dictionary]([{
"intro_loop": 1 "intro_loop": 1
}]) }])
[node name="举碗小孩" parent="Ground/DeployLayer" index="10" instance=ExtResource("14_ct084")] [node name="举碗小孩" parent="Ground/DeployLayer" index="11" instance=ExtResource("14_ct084")]
position = Vector2(1792, 9) position = Vector2(1792, 9)
sprite_frames = ExtResource("13_lucm6") sprite_frames = ExtResource("13_lucm6")
animation = &"杂戏团夜晚_小孩举碗呼吸" animation = &"杂戏团夜晚_小孩举碗呼吸"
@ -273,7 +259,7 @@ enabled = false
disable_prop_after_interacted = true disable_prop_after_interacted = true
prop_key = "prop_银元" prop_key = "prop_银元"
[node name="Fog" parent="Ground/DeployLayer" index="11" instance=ExtResource("15_pvvjq")] [node name="Fog" parent="Ground/DeployLayer" index="12" instance=ExtResource("15_pvvjq")]
z_index = 10 z_index = 10
material = SubResource("ShaderMaterial_7jjl5") material = SubResource("ShaderMaterial_7jjl5")
position = Vector2(3131, -50) position = Vector2(3131, -50)

View File

@ -793,7 +793,7 @@ position = Vector2(29, -3)
sprite_frames = ExtResource("34_1tart") sprite_frames = ExtResource("34_1tart")
animation = &"小婵_被霸凌" animation = &"小婵_被霸凌"
autoplay = "小婵_被霸凌" autoplay = "小婵_被霸凌"
frame = 1 frame = 4
[node name="f1" parent="Ground/DeployLayer/霸凌" instance=ExtResource("33_ycojw")] [node name="f1" parent="Ground/DeployLayer/霸凌" instance=ExtResource("33_ycojw")]
z_index = 10 z_index = 10
@ -801,7 +801,6 @@ position = Vector2(-11, 1)
sprite_frames = ExtResource("34_1tart") sprite_frames = ExtResource("34_1tart")
animation = &"霸凌1" animation = &"霸凌1"
autoplay = "霸凌1" autoplay = "霸凌1"
frame = 9
[node name="Sfx2D霸凌童谣" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/霸凌/f1"] [node name="Sfx2D霸凌童谣" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/霸凌/f1"]
stream = ExtResource("46_qqdxs") stream = ExtResource("46_qqdxs")
@ -818,7 +817,6 @@ position = Vector2(23, 11)
sprite_frames = ExtResource("34_1tart") sprite_frames = ExtResource("34_1tart")
animation = &"霸凌2" animation = &"霸凌2"
autoplay = "霸凌2" autoplay = "霸凌2"
frame = 9
[node name="f3" parent="Ground/DeployLayer/霸凌" instance=ExtResource("33_ycojw")] [node name="f3" parent="Ground/DeployLayer/霸凌" instance=ExtResource("33_ycojw")]
z_index = 10 z_index = 10
@ -826,7 +824,6 @@ position = Vector2(57, 7)
sprite_frames = ExtResource("34_1tart") sprite_frames = ExtResource("34_1tart")
animation = &"霸凌3" animation = &"霸凌3"
autoplay = "霸凌3" autoplay = "霸凌3"
frame = 2
[node name="Ambush点火游戏阻挡右移" parent="Ground/DeployLayer/霸凌" instance=ExtResource("25_iyaiw")] [node name="Ambush点火游戏阻挡右移" parent="Ground/DeployLayer/霸凌" instance=ExtResource("25_iyaiw")]
position = Vector2(-116, -13) position = Vector2(-116, -13)
@ -1015,7 +1012,6 @@ position = Vector2(2229, 41)
sprite_frames = ExtResource("34_1tart") sprite_frames = ExtResource("34_1tart")
animation = &"霸凌3-发抖" animation = &"霸凌3-发抖"
autoplay = "霸凌3-发抖" autoplay = "霸凌3-发抖"
frame = 1
[node name="Pro小孩喊着火啦3" parent="Ground/DeployLayer/火灾" instance=ExtResource("33_ycojw")] [node name="Pro小孩喊着火啦3" parent="Ground/DeployLayer/火灾" instance=ExtResource("33_ycojw")]
z_index = 9 z_index = 9
@ -1074,7 +1070,7 @@ z_index = 5
position = Vector2(17, -11) position = Vector2(17, -11)
sprite_frames = ExtResource("39_rnk1v") sprite_frames = ExtResource("39_rnk1v")
animation = &"吕萍牵手动作" animation = &"吕萍牵手动作"
frame = 5 frame = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="Ground/DeployLayer/火灾/牵手跑"] [node name="CollisionShape2D" type="CollisionShape2D" parent="Ground/DeployLayer/火灾/牵手跑"]
shape = SubResource("RectangleShape2D_vddfx") shape = SubResource("RectangleShape2D_vddfx")

View File

@ -264,7 +264,7 @@ range_item_cull_mask = 4
texture = ExtResource("8_mrltr") texture = ExtResource("8_mrltr")
[node name="Closeup戏台" parent="Ground/DeployLayer" index="7" instance=ExtResource("10_2yvhw")] [node name="Closeup戏台" parent="Ground/DeployLayer" index="7" instance=ExtResource("10_2yvhw")]
position = Vector2(320, 23) position = Vector2(305, -249)
packed_scene = ExtResource("11_2yvhw") packed_scene = ExtResource("11_2yvhw")
first_interact_os_key = "c02_一楼戏台" first_interact_os_key = "c02_一楼戏台"
@ -358,7 +358,7 @@ position = Vector2(-180, 5)
sprite_frames = ExtResource("7_mrltr") sprite_frames = ExtResource("7_mrltr")
animation = &"小蝉背对转头" animation = &"小蝉背对转头"
autoplay = "小蝉背对呼吸帧" autoplay = "小蝉背对呼吸帧"
frame = 3 frame = 5
flip_h = true flip_h = true
[node name="Event2D小蝉哼歌" type="Node2D" parent="Ground/DeployLayer" index="18"] [node name="Event2D小蝉哼歌" type="Node2D" parent="Ground/DeployLayer" index="18"]

View File

@ -59,12 +59,23 @@ func _on_button_pressed() -> void:
button.disabled = true button.disabled = true
# 肉落下的声音,然后自动退出界面 # 肉落下的声音,然后自动退出界面
SceneManager.pop_debug_dialog_info("音效", "肉落下的声音(敲门游戏成功)") SceneManager.pop_debug_dialog_info("音效", "肉落下的声音(敲门游戏成功)")
quitting = true
await Util.wait(2) await Util.wait(2)
exit.emit(true) exit.emit(true)
else: else:
SceneManager.pop_debug_dialog_info("音效", "敲门:" + str(current_id)) SceneManager.pop_debug_dialog_info("音效", "敲门:" + str(current_id))
var quitting = false
func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed("escape") or event.is_action_pressed("cancel"):
if quitting:
# 禁止手动退出,需要 exit.emit(true)
get_viewport().set_input_as_handled()
func failed(): func failed():
current_id = 0 current_id = 0
knock_wrong_sfx.play() knock_wrong_sfx.play()

View File

@ -90,8 +90,8 @@ func _shuffle_books() -> void:
selected_book = NON_SELECTED selected_book = NON_SELECTED
suffling = true suffling = true
rand_from_seed(Time.get_ticks_usec()) rand_from_seed(Time.get_ticks_usec())
# 猫 2 # 打乱偶数次有可能复原,需要打乱奇数次;为降低难度,仅打乱一
var shuffle_times = 2 var shuffle_times = 1
var r_size = current_answer[0].size() var r_size = current_answer[0].size()
for _i in range(shuffle_times): for _i in range(shuffle_times):
var col_1 = randi() % r_size var col_1 = randi() % r_size
@ -99,8 +99,6 @@ func _shuffle_books() -> void:
selected_book = [0, col_1] selected_book = [0, col_1]
_interchange_book(0, col_2, false) _interchange_book(0, col_2, false)
_relocate_books(0) _relocate_books(0)
# 其他 2 次
shuffle_times = 2
r_size = current_answer[1].size() r_size = current_answer[1].size()
for _i in range(shuffle_times): for _i in range(shuffle_times):
var col_1 = randi() % r_size var col_1 = randi() % r_size
@ -120,9 +118,13 @@ func _shuffle_books() -> void:
suffling = false suffling = false
var press_mutex := Mutex.new()
func _on_book_pressed(row: int, id: int) -> void: func _on_book_pressed(row: int, id: int) -> void:
if gameover or row_correct_status[row]: if gameover or row_correct_status[row]:
return return
press_mutex.lock()
var col = current_answer[row].find(id) var col = current_answer[row].find(id)
if selected_book == NON_SELECTED: if selected_book == NON_SELECTED:
selected_book = [row, col] selected_book = [row, col]
@ -133,6 +135,7 @@ func _on_book_pressed(row: int, id: int) -> void:
_interchange_book(row, col) _interchange_book(row, col)
else: else:
selected_book = [row, col] selected_book = [row, col]
press_mutex.unlock()
func _on_book_hover(hover: bool, row: int, btn: TextureButton) -> void: func _on_book_hover(hover: bool, row: int, btn: TextureButton) -> void:

View File

@ -220,7 +220,7 @@ scale = Vector2(1.18271, 1.36673)
texture = ExtResource("11_dohnv") texture = ExtResource("11_dohnv")
[node name="Event_handnote_c02_二楼地图" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"] [node name="Event_handnote_c02_二楼地图" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
position = Vector2(313.333, -143.333) position = Vector2(409, -175.5)
texture = ExtResource("20_0me01") texture = ExtResource("20_0me01")
script = ExtResource("7_nfxph") script = ExtResource("7_nfxph")
event = &"handnote_c02_map_2" event = &"handnote_c02_map_2"
@ -228,7 +228,7 @@ hide_if_on_stage = Array[int]([0, 3])
metadata/_custom_type_script = "uid://c5woj7mivdxrh" metadata/_custom_type_script = "uid://c5woj7mivdxrh"
[node name="Event_handnote_c02_hand_requireCoin" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"] [node name="Event_handnote_c02_hand_requireCoin" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
position = Vector2(590, -95) position = Vector2(685.667, -127.167)
scale = Vector2(0.7, 0.7) scale = Vector2(0.7, 0.7)
texture = ExtResource("21_x45ak") texture = ExtResource("21_x45ak")
script = ExtResource("7_nfxph") script = ExtResource("7_nfxph")
@ -242,7 +242,7 @@ scale = Vector2(1.03957, 1.62217)
texture = ExtResource("11_dohnv") texture = ExtResource("11_dohnv")
[node name="Event_handnote_c02_shoe_giveToMouce" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"] [node name="Event_handnote_c02_shoe_giveToMouce" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
position = Vector2(220, -160) position = Vector2(315.667, -192.167)
scale = Vector2(0.7, 0.7) scale = Vector2(0.7, 0.7)
texture = ExtResource("15_60qdw") texture = ExtResource("15_60qdw")
script = ExtResource("7_nfxph") script = ExtResource("7_nfxph")
@ -256,7 +256,6 @@ scale = Vector2(1.19114, 1.20576)
texture = ExtResource("11_dohnv") texture = ExtResource("11_dohnv")
[node name="Event_handnote_chapter_stage2" type="Sprite2D" parent="Bag/Book"] [node name="Event_handnote_chapter_stage2" type="Sprite2D" parent="Bag/Book"]
visible = false
position = Vector2(340, 137) position = Vector2(340, 137)
scale = Vector2(0.2, 0.2) scale = Vector2(0.2, 0.2)
script = ExtResource("5_nk0pj") script = ExtResource("5_nk0pj")
@ -339,7 +338,7 @@ hide_if_on_stage = Array[int]([0, 3])
metadata/_custom_type_script = "uid://c5woj7mivdxrh" metadata/_custom_type_script = "uid://c5woj7mivdxrh"
[node name="Event_handnote_c02_二楼地图" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage2"] [node name="Event_handnote_c02_二楼地图" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage2"]
position = Vector2(313.333, -143.333) position = Vector2(409, -175.5)
texture = ExtResource("20_0me01") texture = ExtResource("20_0me01")
script = ExtResource("7_nfxph") script = ExtResource("7_nfxph")
event = &"handnote_c02_map_2" event = &"handnote_c02_map_2"