Compare commits

...

10 Commits

21 changed files with 380 additions and 156 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -241,6 +241,8 @@ locale/country_filter=["CN", "DE", "ES", "EU", "FR", "GB", "HK", "IT", "JP", "KR
2d_render/layer_4="玩家角色"
2d_render/layer_5="UI提示"
2d_render/layer_6="临时界面"
2d_render/layer_7="RigidDraggableSprite"
2d_render/layer_8="DraggableSprite"
2d_physics/layer_1="player"
2d_physics/layer_2="wall"
2d_physics/layer_3="interactable"

View File

@ -58,6 +58,8 @@ points = PackedVector2Array(346, 200, 500, 200)
[node name="counter" parent="Ground/DeployLayer" index="3" instance=ExtResource("5_6747o")]
position = Vector2(466, 43)
texture = ExtResource("6_wsqdn")
mute_when_interacted = true
mute_when_invalid = true
one_shot = false
[node name="Closeup柜子后的洞" parent="Ground/DeployLayer" index="4" instance=ExtResource("7_wsqdn")]

View File

@ -32,6 +32,7 @@ func _on_ground_ready() -> void:
if grinder_stage == 1:
_transport_to_the_fatty_story()
func _on_grinder_exited(_arg) -> void:
var stage = EventManager.get_stage("c03_meat_grinder")
if stage == 1:
@ -44,16 +45,16 @@ func _transport_to_the_fatty_story() -> void:
await Util.wait(1.0)
SceneManager.dizzy_effect(3.0)
SceneManager.player_action(17, true)
Util.timer(1.0, _setup_monster)
Util.timer(1.0, _setup_monster_chopping)
await SceneManager.get_player().animation_finished
await Util.wait(2.0)
SceneManager.unlock_player()
SceneManager.get_ground_loader().transition_to_scene("c03_s10", "left")
func _setup_monster() -> void:
func _setup_monster_chopping() -> void:
monster.show()
monster.play()
monster.play("砍桌子")
func _on_monster_chopping_animation_looped() -> void:

View File

@ -124,11 +124,13 @@ original_texture = ExtResource("9_jfgnj")
metadata/_custom_type_script = "uid://dt8cfnm2og4h"
[node name="棺材怪切肉" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="6"]
visible = false
position = Vector2(311, -4.5)
sprite_frames = ExtResource("8_isumy")
animation = &"地下呼吸帧_准备走路"
animation = &"砍桌子"
flip_h = true
script = ExtResource("23_u2kpr")
autostart = false
action_configs = Array[Dictionary]([{
"animation_intro": "地下呼吸帧_准备走路",
&"animation_next": "棺材怪走路",
@ -189,6 +191,7 @@ energy = 0.6
texture = ExtResource("21_qeidq")
[node name="长桌" type="Sprite2D" parent="Ground/DeployLayer" index="8"]
z_index = 10
position = Vector2(348, 56.5)
texture = ExtResource("7_es8d4")

View File

@ -583,6 +583,10 @@ shape = SubResource("CircleShape2D_nugkd")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DraggableRigid1/Area2D"]
polygon = PackedVector2Array(23, -19, -1.8, -19, -14.5, -14, -20.7, -14, -29.7, -7, -30, 6.5, -15.1, 19, 11.5, 19, 30, 6.4, 30, -11.7, 23, -17.9)
[node name="PointLight2D" type="PointLight2D" parent="DraggableRigid1"]
range_layer_max = 10
texture = ExtResource("8_lv3nw")
[node name="DraggableRigid2" parent="." node_paths=PackedStringArray("replaced_area_monitor", "limit_polygon") instance=ExtResource("7_lv3nw")]
unique_name_in_owner = true
position = Vector2(413, 67)
@ -599,6 +603,10 @@ shape = SubResource("CircleShape2D_bmmll")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DraggableRigid2/Area2D"]
polygon = PackedVector2Array(16, -16.5, -9.5, -16.5, -17.5, -12.5, -18, 10, -15, 12.4, -15, 13.7, -10.1, 16.5, 11.6, 16.5, 17.9, 9.5, 18, -14, 16, -15.5)
[node name="PointLight2D" type="PointLight2D" parent="DraggableRigid2"]
range_layer_max = 10
texture = ExtResource("9_igyl7")
[node name="DraggableRigid3" parent="." node_paths=PackedStringArray("replaced_area_monitor", "limit_polygon") instance=ExtResource("7_lv3nw")]
unique_name_in_owner = true
position = Vector2(518, 68)
@ -615,6 +623,10 @@ polygon = PackedVector2Array(15, -18.5, -6.2, -18.5, -9.5, -16.5, -11.9, -16.5,
[node name="CollisionShape2D" type="CollisionShape2D" parent="DraggableRigid3"]
shape = SubResource("CircleShape2D_12r3p")
[node name="PointLight2D" type="PointLight2D" parent="DraggableRigid3"]
range_layer_max = 10
texture = ExtResource("10_nugkd")
[node name="DraggableRigid4" parent="." node_paths=PackedStringArray("replaced_area_monitor", "limit_polygon") instance=ExtResource("7_lv3nw")]
unique_name_in_owner = true
position = Vector2(312, 126)
@ -631,6 +643,10 @@ shape = SubResource("CircleShape2D_x7amv")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DraggableRigid4/Area2D"]
polygon = PackedVector2Array(-7.3, -24.4, -14, -24.5, -20.6, -18.7, -22, -20.5, -25.3, -20.5, -29.3, -11.5, -31, -11.5, -31, -9.2, -29, -1.5, -30.2, 1.5, -31, 1.5, -31, 5.9, -30, 7.9, -31, 8.3, -31, 17.6, -27.8, 18.9, -29, 22.1, -29, 24.5, -21.2, 24.5, -15, 22.2, -12, 23.7, -12, 24.5, 7.7, 24.5, 11, 20.2, 22.3, 16.5, 27.8, 16.5, 31, 13.3, 31, 10.4, 28.3, 8.8, 30.3, 8.5, 31, 8.5, 31, -2.6, 30.1, -6.5, 31, -6.5, 31, -19, 26.7, -17.5, 21.7, -17.5, 13, -24.5, -6.5, -24.5)
[node name="PointLight2D" type="PointLight2D" parent="DraggableRigid4"]
range_layer_max = 10
texture = ExtResource("11_bmmll")
[node name="DraggableRigid5" parent="." node_paths=PackedStringArray("replaced_area_monitor", "limit_polygon") instance=ExtResource("7_lv3nw")]
unique_name_in_owner = true
position = Vector2(413, 124)
@ -647,6 +663,10 @@ shape = SubResource("CircleShape2D_flc3m")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DraggableRigid5/Area2D"]
polygon = PackedVector2Array(-2, -28, -20, -28, -20, -23.5, -16.7, -17.7, -30.2, -16, -32, -16, -32, -12, -26, -3.5, -32, 0.6, -32, 11.1, -26.4, 7, -23, 15.4, -23, 17.4, -20.3, 18.4, -15, 11.7, -15, 11, -13.5, 11, -11, 19.2, -11, 28, 5.5, 28, 9, 23.7, 9, 21.5, 12, 20.8, 13.2, 22, 17.6, 22, 19, 15.2, 19, 13.8, 31.1, 13, 32, 13, 32, 7.2, 29.4, 3.1, 32, 1.4, 32, -11.1, 23.7, -13.9, 22, -22.4, 22, -24.3, 19.7, -25.4, 15.4, -21.9, 16, -26.9, 16, -28, 6.2, -28, 3, -24.8, -1, -23.4, -2, -27)
[node name="PointLight2D" type="PointLight2D" parent="DraggableRigid5"]
range_layer_max = 10
texture = ExtResource("12_12r3p")
[node name="DraggableRigid6" parent="." node_paths=PackedStringArray("replaced_area_monitor", "limit_polygon") instance=ExtResource("7_lv3nw")]
unique_name_in_owner = true
position = Vector2(515, 124)
@ -664,6 +684,10 @@ shape = SubResource("CircleShape2D_8lx66")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DraggableRigid6/Area2D"]
polygon = PackedVector2Array(-9, -26, -16.7, -20, -19.1, -20, -24, -12.6, -24, -7.5, -28, -6.1, -28, 26, 0.4, 26, 2, 23.6, 2, 23, 3.3, 24, 16.4, 24, 27.4, 19, 28, 19, 28, -5.8, 24.8, -9, 14.6, -9, 16, -13.7, 16, -18.8, 9, -25.8)
[node name="PointLight2D" type="PointLight2D" parent="DraggableRigid6"]
range_layer_max = 10
texture = ExtResource("13_x7amv")
[node name="DraggableRigid7" parent="." node_paths=PackedStringArray("replaced_area_monitor", "limit_polygon") instance=ExtResource("7_lv3nw")]
unique_name_in_owner = true
position = Vector2(66, 63)
@ -682,6 +706,11 @@ shape = SubResource("CapsuleShape2D_ctou3")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DraggableRigid7/Area2D"]
polygon = PackedVector2Array(33, -23.2, 21, -29.2, 21, -26.2, 3.4, -16, -1.4, -16, -16.7, -9.5, -34.8, -14, -40, -14, -40, -1.7, -38.9, -0.9, -40, 1.4, -40, 7.8, -29.3, 18.5, -30, 22.8, -30, 26.3, -21.9, 30, -13.6, 30, -9.7, 24.1, -8, 26.6, -8, 28.2, -5.8, 29.3, -1.3, 26, 2, 26, -2, 16.6, 0.799999, 14.7, 11.5, 21, 13.8, 21, 17, 17.8, 17, 14.2, 12, 9.2, 14, 6.7, 14, 4, 10.8, 1.6, 21, -4.9, 21, -5.6, 35.3, -10, 37.4, -10, 38.4, -12.7, 30.5, -18.6, 33, -19.8)
[node name="PointLight2D" type="PointLight2D" parent="DraggableRigid7"]
energy = 1.8
range_layer_max = 10
texture = ExtResource("36_stbjq")
[node name="DraggableRigid8" parent="." node_paths=PackedStringArray("replaced_area_monitor", "limit_polygon") instance=ExtResource("7_lv3nw")]
unique_name_in_owner = true
position = Vector2(474, 216)
@ -700,6 +729,11 @@ shape = SubResource("CircleShape2D_ujbuy")
position = Vector2(-37, -10)
polygon = PackedVector2Array(51.1, 0, 24.5, 0, 6.6, 8, 4.1, 8, 0, 12.9, 0, 25, 3.8, 26, 59.7, 26, 66.9, 18, 67, 12.8, 63, 8.2, 63, 6.9)
[node name="PointLight2D" type="PointLight2D" parent="DraggableRigid8"]
energy = 2.5
range_layer_max = 10
texture = ExtResource("32_gf0xj")
[node name="LimitPolygon2D" type="Polygon2D" parent="."]
visible = false
polygon = PackedVector2Array(51, 33, 52, 121, 79, 134, 122, 130, 168, 130, 201, 135, 219, 141, 256, 143, 357, 164, 429, 235, 553, 235, 552, 33)

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=24 format=3 uid="uid://d320nw5yrmvjo"]
[gd_scene load_steps=26 format=3 uid="uid://d320nw5yrmvjo"]
[ext_resource type="Script" uid="uid://de2smnt2my047" path="res://scene/ground/script/c03/s03_closeup癞子纸人.gd" id="1_6n6qt"]
[ext_resource type="AudioStream" uid="uid://b5bbu858rembf" path="res://asset/audio/sfx/交互/第二章/sfx_s03_剪刀声音.ogg" id="2_2kayp"]
@ -267,6 +267,13 @@ _data = {
&"light_and_canvas_flipping": SubResource("Animation_otai4")
}
[sub_resource type="Gradient" id="Gradient_aen5b"]
offsets = PackedFloat32Array(1)
colors = PackedColorArray(1, 1, 1, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_2kayp"]
gradient = SubResource("Gradient_aen5b")
[node name="Closeup癞子纸人" type="CanvasLayer"]
script = ExtResource("1_6n6qt")
@ -387,6 +394,12 @@ metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="头/Draggable纸钱2"]
polygon = PackedVector2Array(13, -30, -9.5, -30, -19.5, -25, -22.1, -25, -30, -12.2, -30, 14.1, -25, 21.6, -25, 24.3, -12, 30, 13.7, 30, 21.6, 25, 24.2, 25, 30, 14.5, 30, -11, 26, -17.6, 26, -20, 13, -29)
[node name="PointLight2D" type="PointLight2D" parent="头/Draggable纸钱2"]
energy = 0.5
range_layer_max = 10
range_item_cull_mask = 128
texture = SubResource("GradientTexture2D_2kayp")
[node name="Draggable纸钱1" parent="头" instance=ExtResource("4_uenj0")]
unique_name_in_owner = true
position = Vector2(319, 139)
@ -406,6 +419,12 @@ metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="头/Draggable纸钱1"]
polygon = PackedVector2Array(13, -30, -9.5, -30, -19.5, -25, -22.1, -25, -30, -12.2, -30, 14.1, -25, 21.6, -25, 24.3, -12, 30, 13.7, 30, 21.6, 25, 24.2, 25, 30, 14.5, 30, -11, 26, -17.6, 26, -20, 13, -29)
[node name="PointLight2D" type="PointLight2D" parent="头/Draggable纸钱1"]
energy = 0.5
range_layer_max = 10
range_item_cull_mask = 128
texture = SubResource("GradientTexture2D_2kayp")
[node name="遮罩" type="TextureRect" parent="."]
visible = false
anchors_preset = 15

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=8 format=3 uid="uid://bnoqhovb0wjem"]
[gd_scene load_steps=10 format=3 uid="uid://bnoqhovb0wjem"]
[ext_resource type="Script" uid="uid://xyswrst2qvnv" path="res://scene/ground/script/c03/s03_closeup镜子特写.gd" id="1_l7eke"]
[ext_resource type="Texture2D" uid="uid://cv43fc0yphoyh" path="res://asset/art/scene/c03/s03_瞎子理发店/ux_镜子特写_脸.png" id="2_h11vl"]
@ -8,6 +8,15 @@
[ext_resource type="Texture2D" uid="uid://dri7gy7janvim" path="res://asset/art/scene/c03/s03_瞎子理发店/ux_镜子特写_红绳麻将.png" id="5_l7eke"]
[ext_resource type="Texture2D" uid="uid://gan7qq0i7uiw" path="res://asset/art/scene/c03/s03_瞎子理发店/ux_镜子遮罩.png" id="5_pmhbo"]
[sub_resource type="Gradient" id="Gradient_60jo7"]
offsets = PackedFloat32Array(0, 0.571181, 1)
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_x88e4"]
gradient = SubResource("Gradient_60jo7")
width = 50
height = 130
[node name="Closeup镜子特写" type="CanvasLayer"]
script = ExtResource("1_l7eke")
@ -41,6 +50,12 @@ texture = ExtResource("5_l7eke")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Draggable2D麻绳"]
polygon = PackedVector2Array(5, -83.5, -4, -83.5, -4, 36.5, -9.8, 36.5, -13.8, 40.5, -15, 40.5, -15, 79.6, -14.5, 79.9, -13.7, 79, -13.1, 83.5, -2.8, 83.5, -4, 81, -4, 80.3, 14.2, 78.5, 15, 78.5, 15, 37.4, 7, 36.6, 7, -79.7, 5, -80.8)
[node name="PointLight2D" type="PointLight2D" parent="Draggable2D麻绳"]
position = Vector2(-1, 23)
range_layer_max = 10
range_item_cull_mask = 128
texture = SubResource("GradientTexture2D_x88e4")
[node name="遮罩" type="TextureRect" parent="."]
anchors_preset = 15
anchor_right = 1.0

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=26 format=3 uid="uid://dohvkxfdmcrw4"]
[gd_scene load_steps=28 format=3 uid="uid://dohvkxfdmcrw4"]
[ext_resource type="Script" uid="uid://d31fc1bolhwlf" path="res://scene/ground/script/c02/刮海报.gd" id="1_pdoaa"]
[ext_resource type="Script" uid="uid://bagqdqsd0b4fy" path="res://scene/ground/script/c03/鬼母子游戏.gd" id="2_86fqw"]
@ -26,6 +26,15 @@
radius = 21.7
height = 118.4
[sub_resource type="Gradient" id="Gradient_go12c"]
offsets = PackedFloat32Array(1)
colors = PackedColorArray(1, 1, 1, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_go12c"]
gradient = SubResource("Gradient_go12c")
width = 50
height = 130
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_s7g11"]
radius = 21.7
height = 117.8
@ -84,6 +93,12 @@ texture = ExtResource("9_mg2qe")
[node name="CollisionShape2D" type="CollisionShape2D" parent="鬼母子游戏/kid1"]
shape = SubResource("CapsuleShape2D_6jvn1")
[node name="PointLight2D" type="PointLight2D" parent="鬼母子游戏/kid1"]
energy = 0.7
range_layer_max = 10
range_item_cull_mask = 128
texture = SubResource("GradientTexture2D_go12c")
[node name="kid2" parent="鬼母子游戏" instance=ExtResource("3_86fqw")]
position = Vector2(212, 190)
act_as_button = true
@ -93,6 +108,12 @@ texture = ExtResource("10_pilu4")
[node name="CollisionShape2D" type="CollisionShape2D" parent="鬼母子游戏/kid2"]
shape = SubResource("CapsuleShape2D_s7g11")
[node name="PointLight2D" type="PointLight2D" parent="鬼母子游戏/kid2"]
energy = 0.7
range_layer_max = 10
range_item_cull_mask = 128
texture = SubResource("GradientTexture2D_go12c")
[node name="kid3" parent="鬼母子游戏" instance=ExtResource("3_86fqw")]
position = Vector2(368, 193)
act_as_button = true
@ -102,6 +123,12 @@ texture = ExtResource("11_6jvn1")
[node name="CollisionShape2D" type="CollisionShape2D" parent="鬼母子游戏/kid3"]
shape = SubResource("CapsuleShape2D_3uuyc")
[node name="PointLight2D" type="PointLight2D" parent="鬼母子游戏/kid3"]
energy = 0.7
range_layer_max = 10
range_item_cull_mask = 128
texture = SubResource("GradientTexture2D_go12c")
[node name="kid4" parent="鬼母子游戏" instance=ExtResource("3_86fqw")]
position = Vector2(437, 206)
act_as_button = true
@ -118,6 +145,12 @@ updater_mode = "unfreezer"
updater_ease_duration = 0.0
metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="PointLight2D" type="PointLight2D" parent="鬼母子游戏/kid4"]
energy = 0.7
range_layer_max = 10
range_item_cull_mask = 128
texture = SubResource("GradientTexture2D_go12c")
[node name="倒塌" type="AnimatedSprite2D" parent="鬼母子游戏"]
visible = false
sprite_frames = ExtResource("14_s7g11")
@ -175,6 +208,12 @@ metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Draggable纸钱"]
polygon = PackedVector2Array(13, -30, -9.5, -30, -19.5, -25, -22.1, -25, -30, -12.2, -30, 14.1, -25, 21.6, -25, 24.3, -12, 30, 13.7, 30, 21.6, 25, 24.2, 25, 30, 14.5, 30, -11, 26, -17.6, 26, -20, 13, -29)
[node name="PointLight2D" type="PointLight2D" parent="Draggable纸钱"]
energy = 0.4
range_layer_max = 10
range_item_cull_mask = 128
texture = ExtResource("6_b7rxv")
[node name="遮罩" type="TextureRect" parent="."]
anchors_preset = 15
anchor_right = 1.0

View File

@ -16,7 +16,7 @@ var mahjongs = {
}
var answer_of_in_hand_mahjongs = {
preload("uid://b2pypf81rgqkw"): "三筒",
preload("uid://bo4hrg3sqpoou"): "伍万",
preload("uid://dis6qtf1hvop2"): "九筒",
preload("uid://b2ectbek7vksi"): "三条"
}

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=21 format=3 uid="uid://5uqi3c3f4va1"]
[gd_scene load_steps=25 format=3 uid="uid://5uqi3c3f4va1"]
[ext_resource type="Script" uid="uid://vkpp7mrdnh0s" path="res://scene/ground/script/c03/s06_closeup柜子后的洞.gd" id="1_84xhv"]
[ext_resource type="Texture2D" uid="uid://by4ybfs7oi63f" path="res://asset/art/scene/c03/s06_胖子卧室/衣柜后的墙洞/报纸正常背景.png" id="2_84xhv"]
@ -54,9 +54,27 @@ _data = {
&"bleeding_red": SubResource("Animation_aen5b")
}
[sub_resource type="Gradient" id="Gradient_60jo7"]
offsets = PackedFloat32Array(0, 0.571181, 1)
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_aen5b"]
gradient = SubResource("Gradient_60jo7")
width = 128
height = 128
[sub_resource type="RectangleShape2D" id="RectangleShape2D_651rf"]
size = Vector2(37.75, 30.87)
[sub_resource type="Gradient" id="Gradient_aen5b"]
offsets = PackedFloat32Array(1)
colors = PackedColorArray(1, 1, 1, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_651rf"]
gradient = SubResource("Gradient_aen5b")
width = 39
height = 35
[node name="Closeup柜子后的洞" type="CanvasLayer"]
script = ExtResource("1_84xhv")
@ -137,6 +155,14 @@ grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("2_84xhv")
[node name="PointLight2D" type="PointLight2D" parent="报纸展开"]
position = Vector2(1, -17)
rotation = 0.392067
energy = 0.7
range_layer_max = 10
range_item_cull_mask = 128
texture = SubResource("GradientTexture2D_aen5b")
[node name="HoverLight钥匙" parent="." instance=ExtResource("3_ko8md")]
unique_name_in_owner = true
position = Vector2(318, 200)
@ -183,6 +209,12 @@ trigger_event = &"c03_s06_hole_wizardpaper"
trigger_mode = "picked"
metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="PointLight2D" type="PointLight2D" parent="符纸"]
energy = 0.7
range_layer_max = 10
range_item_cull_mask = 128
texture = SubResource("GradientTexture2D_651rf")
[node name="DirectionalLight2D" type="DirectionalLight2D" parent="."]
color = Color(1, 0, 0, 1)
energy = 0.0

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=18 format=3 uid="uid://bfc448d4gyusv"]
[gd_scene load_steps=20 format=3 uid="uid://bfc448d4gyusv"]
[ext_resource type="Script" uid="uid://or5hk81ourk0" path="res://scene/ground/script/c03/s08_closeup囚室门锁.gd" id="1_tb78h"]
[ext_resource type="Texture2D" uid="uid://dx1hep4omg0q8" path="res://asset/art/scene/c03/s08_囚室/囚室的锁/场景.png" id="2_mc0c4"]
@ -54,6 +54,15 @@ _data = {
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4w5uo"]
size = Vector2(14, 12)
[sub_resource type="Gradient" id="Gradient_60jo7"]
offsets = PackedFloat32Array(1)
colors = PackedColorArray(1, 1, 1, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_gwh0f"]
gradient = SubResource("Gradient_60jo7")
width = 16
height = 16
[node name="Closeup囚室门锁" type="CanvasLayer"]
script = ExtResource("1_tb78h")
metadata/_edit_horizontal_guides_ = [139.0, 197.0]
@ -114,6 +123,12 @@ limit_rect = Rect2(198.5, 139, 0, 58)
[node name="CollisionShape2D" type="CollisionShape2D" parent="Draggable锁豆1"]
shape = SubResource("RectangleShape2D_4w5uo")
[node name="PointLight2D" type="PointLight2D" parent="Draggable锁豆1"]
energy = 0.7
range_layer_max = 10
range_item_cull_mask = 128
texture = SubResource("GradientTexture2D_gwh0f")
[node name="Draggable锁豆2" parent="." instance=ExtResource("7_4w5uo")]
unique_name_in_owner = true
position = Vector2(263.5, 139)
@ -123,6 +138,12 @@ limit_rect = Rect2(263.5, 139, 0, 58)
[node name="CollisionShape2D" type="CollisionShape2D" parent="Draggable锁豆2"]
shape = SubResource("RectangleShape2D_4w5uo")
[node name="PointLight2D" type="PointLight2D" parent="Draggable锁豆2"]
energy = 0.7
range_layer_max = 10
range_item_cull_mask = 128
texture = SubResource("GradientTexture2D_gwh0f")
[node name="Draggable锁豆3" parent="." instance=ExtResource("7_4w5uo")]
unique_name_in_owner = true
position = Vector2(318.5, 139)
@ -132,6 +153,12 @@ limit_rect = Rect2(318.5, 139, 0, 58)
[node name="CollisionShape2D" type="CollisionShape2D" parent="Draggable锁豆3"]
shape = SubResource("RectangleShape2D_4w5uo")
[node name="PointLight2D" type="PointLight2D" parent="Draggable锁豆3"]
energy = 0.7
range_layer_max = 10
range_item_cull_mask = 128
texture = SubResource("GradientTexture2D_gwh0f")
[node name="Draggable锁豆4" parent="." instance=ExtResource("7_4w5uo")]
unique_name_in_owner = true
position = Vector2(383.5, 139)
@ -141,6 +168,12 @@ limit_rect = Rect2(383.5, 139, 0, 58)
[node name="CollisionShape2D" type="CollisionShape2D" parent="Draggable锁豆4"]
shape = SubResource("RectangleShape2D_4w5uo")
[node name="PointLight2D" type="PointLight2D" parent="Draggable锁豆4"]
energy = 0.7
range_layer_max = 10
range_item_cull_mask = 128
texture = SubResource("GradientTexture2D_gwh0f")
[node name="遮罩" type="TextureRect" parent="."]
anchors_preset = 15
anchor_right = 1.0

View File

@ -11,7 +11,6 @@ signal dropped(node: Draggable2D)
@export var act_as_button := false
# z +1 when picked (-1 when dropped)
# @export var z_up_on_picked := true
@export var item_name = ""
@export var sprite_offset := Vector2(0, 0):
set(val):
sprite_offset = val
@ -46,14 +45,9 @@ var touching := false
static var current_focusing_node: Draggable2D = null
static var pending_enter_callables: Array[Callable] = []
# 缓存常量
const OUTLINE_THICKNESS := 1.0
const OUTLINE_TWEEN_DURATION := 0.2
const BUTTON_ALPHA_DURATION := 0.15
# 缓存变量
var _outline_tween: Tween
var _button_tween: Tween
var _highlight_tween: Tween
var _lights: Array[PointLight2D] = []
func _ready() -> void:
@ -61,9 +55,12 @@ func _ready() -> void:
sprite.offset = sprite_offset
if Engine.is_editor_hint():
return
# 初始化隐藏白边
sprite.material.set_shader_parameter("thickness", 0.0)
# add lights
_travarse_add_light(self)
# 初始化熄灭
_toggle_draggable_highlight(false)
# 安全检查
if has_signal("mouse_entered"):
mouse_entered.connect(_on_mouse_entered)
@ -72,6 +69,13 @@ func _ready() -> void:
printerr("Draggable2D: mouse_entered or mouse_exited signal not found.")
func _travarse_add_light(node: Node) -> void:
if node is PointLight2D:
_lights.append(node)
for c in node.get_children():
_travarse_add_light(c)
func is_focused() -> bool:
return current_focusing_node == self
@ -82,15 +86,15 @@ func _on_mouse_entered() -> bool:
return false
if holding or is_focused():
return true
# 尝试获得 current_focusing_node
if current_focusing_node:
if not pending_enter_callables.has(_on_mouse_entered):
pending_enter_callables.append(_on_mouse_entered)
return false
current_focusing_node = self
_toggle_outline(true)
_toggle_draggable_highlight(true)
return true
@ -99,13 +103,12 @@ func _on_mouse_exited() -> void:
pending_enter_callables.erase(_on_mouse_entered)
# freezing 不影响 mouse exited
if is_focused() and not holding:
_toggle_draggable_highlight(false)
current_focusing_node = null
while pending_enter_callables.size() > 0:
var c = pending_enter_callables.pop_front()
if c.call():
break
_toggle_outline(false)
func _input(event: InputEvent) -> void:
@ -133,18 +136,13 @@ func _try_pick() -> void:
if act_as_button:
# 作为按钮,发送 picked 信号
picked.emit(self)
if _button_tween and _button_tween.is_running():
_button_tween.kill()
_button_tween = create_tween()
_button_tween.tween_property(sprite.material, "shader_parameter/alpha_ratio", 1.0, BUTTON_ALPHA_DURATION)
return
if not is_focused():
return
# reset rotation
rotation = 0
_toggle_outline(false)
holding = true
# z_index += 1
picked.emit(self)
@ -152,8 +150,6 @@ func _try_pick() -> void:
func _drop() -> void:
if touching:
_toggle_outline(true)
if holding:
holding = false
if not touching:
@ -165,18 +161,20 @@ func _drop() -> void:
break
# z_index -= 1
dropped.emit(self)
if not touching:
_toggle_draggable_highlight(false)
func _toggle_outline(display: bool) -> void:
func _toggle_draggable_highlight(display: bool) -> void:
# 避免重复创建 tween
if _outline_tween and _outline_tween.is_running():
_outline_tween.kill()
_outline_tween = create_tween()
var target_thickness := OUTLINE_THICKNESS if display else 0.0
_outline_tween.tween_property(
sprite.material, "shader_parameter/thickness", target_thickness, OUTLINE_TWEEN_DURATION
)
if _highlight_tween and _highlight_tween.is_running():
_highlight_tween.kill()
if _lights.is_empty():
printerr("Draggable2D: No lights found to toggle highlight.")
return
for l in _lights:
l.enabled = display
func _exit_tree() -> void:
@ -192,8 +190,7 @@ func force_hold() -> void:
return
if not is_focused() and current_focusing_node:
current_focusing_node._drop()
_toggle_outline(false)
_toggle_draggable_highlight(true)
current_focusing_node = self
holding = true
picked.emit(self)

View File

@ -1,32 +1,14 @@
[gd_scene load_steps=7 format=3 uid="uid://bg7oictr1wgex"]
[gd_scene load_steps=3 format=3 uid="uid://bg7oictr1wgex"]
[ext_resource type="Script" uid="uid://f217t2lytw84" path="res://scene/little_game/general/draggable.gd" id="1_txku8"]
[ext_resource type="Shader" uid="uid://cgy5ujo5afab2" path="res://asset/shader/outline.gdshader" id="2_pq7cf"]
[ext_resource type="Texture2D" uid="uid://di0gqyxa0c3eg" path="res://asset/art/little_game/八音盒/新版贴图/小婵玩偶.png" id="3_de4ll"]
[sub_resource type="Gradient" id="Gradient_h88gi"]
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_pe1ot"]
gradient = SubResource("Gradient_h88gi")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_pe1ot"]
resource_local_to_scene = true
shader = ExtResource("2_pq7cf")
shader_parameter/color = SubResource("GradientTexture1D_pe1ot")
shader_parameter/alpha_ratio = 1.0
shader_parameter/gradientResolution = 10
shader_parameter/thickness = 1.0
shader_parameter/tolerance = 0.0
shader_parameter/diagonals = true
shader_parameter/rounded = true
[node name="Draggable2D" type="Area2D"]
script = ExtResource("1_txku8")
texture = ExtResource("3_de4ll")
[node name="Sprite2D" type="Sprite2D" parent="."]
unique_name_in_owner = true
light_mask = 129
y_sort_enabled = true
material = SubResource("ShaderMaterial_pe1ot")
texture = ExtResource("3_de4ll")

View File

@ -47,8 +47,6 @@ static var current_focusing_node: DraggableRigid = null
static var pending_enter_callables: Array[Callable] = []
# 缓存常量
const OUTLINE_THICKNESS := 1.0
const OUTLINE_TWEEN_DURATION := 0.2
const SHAKE_FPS := 15.0
const SHAKE_DURATION := 0.8
const SHAKE_DELTA := 12.0
@ -56,7 +54,8 @@ const HUD_FADE_DURATION := 0.3
# 缓存变量
var _mouse_event_source: Node
var _outline_tween: Tween
var _lights: Array[PointLight2D] = []
var _highlight_tween: Tween
var _shake_tween: Tween
func _ready() -> void:
@ -64,8 +63,11 @@ func _ready() -> void:
sprite.offset = sprite_offset
if Engine.is_editor_hint():
return
# 初始化隐藏白边
sprite.material.set_shader_parameter("thickness", 0.0)
# add lights
_travarse_add_light(self)
# 初始化熄灭
_toggle_rigid_highlight(false)
# 缓存事件源
if replaced_area_monitor:
@ -76,6 +78,13 @@ func _ready() -> void:
_mouse_event_source.mouse_exited.connect(_on_mouse_exited)
func _travarse_add_light(node: Node) -> void:
if node is PointLight2D:
_lights.append(node)
for c in node.get_children():
_travarse_add_light(c)
func is_focused() -> bool:
return current_focusing_node == self
@ -94,7 +103,7 @@ func _on_mouse_entered() -> bool:
return false
current_focusing_node = self
_toggle_outline(true)
_toggle_rigid_highlight(true)
return true
@ -103,13 +112,13 @@ func _on_mouse_exited() -> void:
pending_enter_callables.erase(_on_mouse_entered)
# freezing 不影响 mouse exited
if is_focused() and not holding:
_toggle_rigid_highlight(false)
current_focusing_node = null
# 优化:使用 while 替代 for 循环,找到第一个成功的就停止
while pending_enter_callables.size() > 0:
var c = pending_enter_callables.pop_front()
if c.call():
break
_toggle_outline(false)
func _notification(what: int) -> void:
@ -147,14 +156,11 @@ func _physics_process(_delta: float) -> void:
func _try_pick() -> void:
if not is_focused():
return
_toggle_outline(false)
holding = true
picked.emit(self)
func _drop() -> void:
if touching:
_toggle_outline(true)
if holding:
holding = false
if not touching:
@ -163,18 +169,19 @@ func _drop() -> void:
if c.call():
break
dropped.emit(self)
if not touching:
_toggle_rigid_highlight(false)
func _toggle_outline(display: bool) -> void:
func _toggle_rigid_highlight(display: bool) -> void:
# 避免重复创建 tween
if _outline_tween and _outline_tween.is_running():
_outline_tween.kill()
if _highlight_tween and _highlight_tween.is_running():
_highlight_tween.kill()
_outline_tween = create_tween()
var target_thickness := OUTLINE_THICKNESS if display else 0.0
_outline_tween.tween_property(
sprite.material, "shader_parameter/thickness", target_thickness, OUTLINE_TWEEN_DURATION
)
if _lights.is_empty():
printerr("Draggable2D: No lights found to toggle highlight.")
return
for l in _lights:
l.enabled = display
func _exit_tree() -> void:
@ -187,7 +194,7 @@ func force_hold() -> void:
return
if not is_focused() and current_focusing_node:
current_focusing_node._drop()
_toggle_outline(false)
_toggle_rigid_highlight(true)
current_focusing_node = self
holding = true
picked.emit(self)

View File

@ -1,24 +1,6 @@
[gd_scene load_steps=6 format=3 uid="uid://c3gesto3ijcyq"]
[gd_scene load_steps=2 format=3 uid="uid://c3gesto3ijcyq"]
[ext_resource type="Script" uid="uid://b2ndiap8bpurv" path="res://scene/little_game/general/draggable_rigid.gd" id="1_i27hj"]
[ext_resource type="Shader" uid="uid://cgy5ujo5afab2" path="res://asset/shader/outline.gdshader" id="2_vakwj"]
[sub_resource type="Gradient" id="Gradient_h88gi"]
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_pe1ot"]
gradient = SubResource("Gradient_h88gi")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_pe1ot"]
resource_local_to_scene = true
shader = ExtResource("2_vakwj")
shader_parameter/color = SubResource("GradientTexture1D_pe1ot")
shader_parameter/alpha_ratio = 1.0
shader_parameter/gradientResolution = 10
shader_parameter/thickness = 1.0
shader_parameter/tolerance = 0.0
shader_parameter/diagonals = true
shader_parameter/rounded = true
[node name="DraggableRigid2D" type="RigidBody2D"]
collision_layer = 4
@ -28,5 +10,5 @@ script = ExtResource("1_i27hj")
[node name="Sprite2D" type="Sprite2D" parent="."]
unique_name_in_owner = true
light_mask = 65
y_sort_enabled = true
material = SubResource("ShaderMaterial_pe1ot")

View File

@ -15,19 +15,19 @@ var audio_auto = preload("res://asset/audio/sfx/game/八音盒/自走八音盒.o
@onready var side_handle = $All/SideHandle as AnimatedSprite2D
@onready var pic = $"All/Draggable照片" as Draggable2D
@onready var d1 = $"All/OpenedBox/Panel/panel_父亲" as Draggable2D
@onready var d2 = $"All/OpenedBox/Panel/panel_母亲" as Draggable2D
@onready var d3 = $"All/OpenedBox/Panel/panel_小小蝶" as Draggable2D
@onready var d4 = $"All/OpenedBox/Panel/panel_小蝉" as Draggable2D
@onready var d1 = $"All/OpenedBox/Panel/Draggable2D1" as Draggable2D
@onready var d2 = $"All/OpenedBox/Panel/Draggable2D2" as Draggable2D
@onready var d3 = $"All/OpenedBox/Panel/Draggable2D3" as Draggable2D
@onready var d4 = $"All/OpenedBox/Panel/Draggable2D4" as Draggable2D
@onready var s0 = $"All/OpenedBox/Panel/Marker2D1" as Marker2D
@onready var s1 = $"All/OpenedBox/Panel/Marker2D2" as Marker2D
@onready var s2 = $"All/OpenedBox/Panel/Marker2D3" as Marker2D
@onready var s3 = $"All/OpenedBox/Panel/Marker2D4" as Marker2D
@onready var danzhu = $"All/Drawer/drawer_弹珠" as Draggable2D
@onready var xiaomao = $"All/Drawer/drawer_小猫身子" as Draggable2D
@onready var xiaochan = $"All/Drawer/drawer_小蝉" as Draggable2D
@onready var danzhu = $"All/Drawer/Draggable1" as Draggable2D
@onready var xiaomao = $"All/Drawer/Draggable2" as Draggable2D
@onready var xiaochan = $"All/Drawer/Draggable3" as Draggable2D
var slots: PackedVector2Array = []
var draggables: Array[Draggable2D] = []
@ -94,12 +94,8 @@ func _ready() -> void:
_chechout_stage(stage, false)
func _toggle_side_handle_outline(display: bool):
var tween = create_tween()
if display:
tween.tween_property(side_handle.material, "shader_parameter/thickness", 1.0, 0.2)
else:
tween.tween_property(side_handle.material, "shader_parameter/thickness", 0.0, 0.2)
func _toggle_side_handle_hightlight(display: bool):
side_handle.get_node("PointLight2D").enabled = display
func _on_box_picked(_node):
@ -308,7 +304,7 @@ func _chechout_stage(s: int, play_sfx := true) -> void:
sfx_open_lid.play()
4:
box_closed.visible = true
_toggle_side_handle_outline(display_handle_outline)
_toggle_side_handle_hightlight(display_handle_outline)
func _settle_plug_positions():

View File

@ -1,11 +1,10 @@
[gd_scene load_steps=46 format=3 uid="uid://beleib3mmu0af"]
[gd_scene load_steps=44 format=3 uid="uid://beleib3mmu0af"]
[ext_resource type="Texture2D" uid="uid://2xbl572hv2qf" path="res://asset/art/little_game/八音盒/背景.png" id="1_j0wst"]
[ext_resource type="Script" uid="uid://bian8ga7cet8k" path="res://scene/little_game/八音盒/八音盒.gd" id="2_opptd"]
[ext_resource type="Texture2D" uid="uid://daxg4b7lu1ep6" path="res://asset/art/little_game/八音盒/插销动画/插销-1.png" id="3_etora"]
[ext_resource type="Texture2D" uid="uid://cik6ro8nowsd3" path="res://asset/art/little_game/八音盒/插销动画/插销-2.png" id="4_ubbcw"]
[ext_resource type="AudioStream" uid="uid://duxo1jopqqf0q" path="res://asset/audio/sfx/交互/序章/04_书店内_移动书本.ogg" id="4_ytjup"]
[ext_resource type="Shader" uid="uid://cgy5ujo5afab2" path="res://asset/shader/outline.gdshader" id="5_dtoml"]
[ext_resource type="AudioStream" uid="uid://gxoubqjqpuks" path="res://asset/audio/sfx/交互/序章/04_书店内_点击书本.ogg" id="5_m5jrq"]
[ext_resource type="Texture2D" uid="uid://bslr2p2dgymxm" path="res://asset/art/little_game/八音盒/插销动画/插销-3.png" id="5_mxndl"]
[ext_resource type="Texture2D" uid="uid://bp8o30lfc7xrx" path="res://asset/art/little_game/八音盒/插销动画/插销-4.png" id="6_2lerk"]
@ -64,22 +63,6 @@ _data = {
&"handle_animation": SubResource("Animation_j415e")
}
[sub_resource type="Gradient" id="Gradient_cbhp3"]
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_28n4a"]
gradient = SubResource("Gradient_cbhp3")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ljgfp"]
shader = ExtResource("5_dtoml")
shader_parameter/color = SubResource("GradientTexture1D_28n4a")
shader_parameter/alpha_ratio = 1.0
shader_parameter/gradientResolution = 10
shader_parameter/thickness = 1.0
shader_parameter/tolerance = 0.0
shader_parameter/diagonals = true
shader_parameter/rounded = true
[sub_resource type="SpriteFrames" id="SpriteFrames_t7gu7"]
animations = [{
"frames": [{
@ -115,6 +98,15 @@ animations = [{
"speed": 5.0
}]
[sub_resource type="Gradient" id="Gradient_wq2wm"]
offsets = PackedFloat32Array(1)
colors = PackedColorArray(1, 1, 1, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_sg8mt"]
gradient = SubResource("Gradient_wq2wm")
width = 128
height = 128
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cbhp3"]
resource_local_to_scene = true
size = Vector2(290, 60)
@ -179,13 +171,19 @@ offset_bottom = 188.0
[node name="SideHandle" type="AnimatedSprite2D" parent="All"]
show_behind_parent = true
material = SubResource("ShaderMaterial_ljgfp")
light_mask = 513
position = Vector2(-6.5, 40)
sprite_frames = SubResource("SpriteFrames_t7gu7")
centered = false
[node name="PointLight2D" type="PointLight2D" parent="All/SideHandle"]
position = Vector2(469.5, 141)
energy = 1.5
range_layer_max = 10
range_item_cull_mask = 512
texture = SubResource("GradientTexture2D_sg8mt")
[node name="ClosedBox" parent="All" instance=ExtResource("16_h88gi")]
visible = false
position = Vector2(277, 194.5)
act_as_button = true
sprite_offset = Vector2(3, -35)
@ -196,7 +194,14 @@ limit_rect = Rect2(150, 150, 220, 70)
position = Vector2(2.99999, -33.5)
polygon = PackedVector2Array(123, -48, -102, -48, -102, -45.8, -104.8, -43, -106.3, -43, -147.3, 42, -149.3, 42, -139, 110.3, -139, 112.5, -135, 119.4, -135, 120, 155.1, 120, 157.4, 114, 158.7, 114, 167.7, 55, 169, 55, 169, 43.5, 123, -45.6)
[node name="PointLight2D" type="PointLight2D" parent="All/ClosedBox"]
position = Vector2(3, -35)
energy = 1.5
range_layer_max = 10
texture = ExtResource("22_rdaqv")
[node name="OpenedBox" type="Sprite2D" parent="All"]
visible = false
position = Vector2(-48, 38)
texture = ExtResource("16_dtoml")
centered = false
@ -205,49 +210,97 @@ centered = false
y_sort_enabled = true
position = Vector2(68.5, -38)
[node name="panel_父亲" parent="All/OpenedBox/Panel" instance=ExtResource("16_h88gi")]
[node name="Draggable2D1" parent="All/OpenedBox/Panel" instance=ExtResource("16_h88gi")]
position = Vector2(180, 196)
rotation = 1.11169
sprite_offset = Vector2(3, -35)
texture = ExtResource("17_gm7pw")
limit_rect = Rect2(150, 150, 220, 70)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/OpenedBox/Panel/panel_父亲"]
[node name="Sprite2D" parent="All/OpenedBox/Panel/Draggable2D1" index="0"]
light_mask = 3
texture = ExtResource("17_gm7pw")
offset = Vector2(3, -35)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/OpenedBox/Panel/Draggable2D1"]
position = Vector2(3.20175, -33.5559)
polygon = PackedVector2Array(2.5, -45.5, -8.5, -45.5, -9.3, -44.5, -11.9, -44.5, -9.5, -31.1, -9.5, -30.4, -15.2, -25.5, -17.1, -25.5, -18.5, -19.2, -18.5, -3.9, -14.5, -0.700001, -13.5, 33.3, -14.5, 34.8, -14.5, 41.7, -7.7, 45.5, 4.3, 45.5, 6.3, 43.5, 8.1, 43.5, 9.5, 37.7, 9.5, 35.7, 5.8, 32, 6.3, 31.5, 8.7, 31.5, 7.5, 16.5, 7.5, -5.5, 13.8, -5.5, 18.5, -15.9, 18.5, -26.8, 16.2, -27.8, 9.5, -22.5, 9.5, -20.5, 8.6, -20.5, 3.1, -28.8, 6.5, -38.1, 6.5, -42.5)
[node name="panel_母亲" parent="All/OpenedBox/Panel" instance=ExtResource("16_h88gi")]
[node name="PointLight2D" type="PointLight2D" parent="All/OpenedBox/Panel/Draggable2D1"]
position = Vector2(3.20175, -33.5559)
energy = 0.7
range_layer_max = 10
range_item_cull_mask = 2
texture = SubResource("GradientTexture2D_sg8mt")
[node name="Draggable2D2" parent="All/OpenedBox/Panel" instance=ExtResource("16_h88gi")]
position = Vector2(286.5, 197)
rotation = 1.58777
sprite_offset = Vector2(1, -34)
texture = ExtResource("18_8vbnc")
limit_rect = Rect2(150, 150, 220, 70)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/OpenedBox/Panel/panel_母亲"]
[node name="Sprite2D" parent="All/OpenedBox/Panel/Draggable2D2" index="0"]
light_mask = 5
texture = ExtResource("18_8vbnc")
offset = Vector2(1, -34)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/OpenedBox/Panel/Draggable2D2"]
position = Vector2(1.42264, -34.029)
polygon = PackedVector2Array(11.5, -41.9, 2, -45.5, -5.5, -45.5, -9.4, -40.5, -12.1, -40.5, -10.5, -34.5, -10.5, -31.5, -6, -27.9, -10.3, -23.5, -12.3, -23.5, -12.5, -21.9, -12.5, -7.8, -10.9, -3.5, -12.5, 9.4, -12.5, 29.3, -9.5, 32.3, -12.5, 34.4, -12.5, 41.7, -5.7, 45.5, 6.3, 45.5, 8.3, 43.5, 10.1, 43.5, 11.5, 37.7, 11.5, 35.7, 8, 32.2, 10.2, 30.5, 12.5, 30.5, 12.5, 28.1, 8.5, -2.5, 8.5, -3.6, 12.2, -6.5, 12.5, -19.6, 5.4, -29.3, 11.5, -37.9)
[node name="panel_小小蝶" parent="All/OpenedBox/Panel" instance=ExtResource("16_h88gi")]
[node name="PointLight2D" type="PointLight2D" parent="All/OpenedBox/Panel/Draggable2D2"]
position = Vector2(0.439749, -33.0122)
energy = 0.7
range_layer_max = 10
range_item_cull_mask = 4
texture = SubResource("GradientTexture2D_sg8mt")
[node name="Draggable2D3" parent="All/OpenedBox/Panel" instance=ExtResource("16_h88gi")]
position = Vector2(354, 169)
rotation = -1.26607
sprite_offset = Vector2(1, -23)
texture = ExtResource("19_858bj")
limit_rect = Rect2(150, 150, 220, 70)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/OpenedBox/Panel/panel_小小蝶"]
[node name="Sprite2D" parent="All/OpenedBox/Panel/Draggable2D3" index="0"]
light_mask = 9
texture = ExtResource("19_858bj")
offset = Vector2(1, -23)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/OpenedBox/Panel/Draggable2D3"]
light_mask = 9
position = Vector2(1.18075, -22.9097)
polygon = PackedVector2Array(9.5, -23.1, 4.6, -26.3, 2.5, -25.2, 2.5, -24, -6.6, -24, -8.6, -21, -10.5, -21, -10.5, -18.8, -9.5, -15, -9.5, -8.9, -6.5, -6.9, -10.5, -2.8, -10.5, 16, -7.4, 18.3, -10, 20, -10.5, 29.5, -8.5, 31, -8.5, 32, 6.3, 32, 8.3, 30, 10.5, 30, 10.5, 27.6, 7, 17.3, 8.6, 15, 10.5, 15, 10.5, 13, 7.2, -9, 9.5, -20.8)
[node name="panel_小蝉" parent="All/OpenedBox/Panel" instance=ExtResource("16_h88gi")]
[node name="PointLight2D" type="PointLight2D" parent="All/OpenedBox/Panel/Draggable2D3"]
position = Vector2(0.439749, -33.0122)
energy = 0.7
range_layer_max = 10
range_item_cull_mask = 8
texture = SubResource("GradientTexture2D_sg8mt")
[node name="Draggable2D4" parent="All/OpenedBox/Panel" instance=ExtResource("16_h88gi")]
position = Vector2(310, 173)
rotation = -1.14307
sprite_offset = Vector2(-4, -23)
limit_rect = Rect2(150, 150, 220, 70)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/OpenedBox/Panel/panel_小蝉"]
[node name="Sprite2D" parent="All/OpenedBox/Panel/Draggable2D4" index="0"]
light_mask = 17
offset = Vector2(-4, -23)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/OpenedBox/Panel/Draggable2D4"]
position = Vector2(-4.7032, -24.7816)
polygon = PackedVector2Array(12, -29.6, -2.9, -33, -5, -33, -5, -31.3, -7, -30.2, -7, -25.3, -1.3, -17.7, -15, -5.9, -15, -3.2, -11.8, 0, -7.3, 0, -3.9, -2.8, -5, 1.8, -5, 6.7, -1, 12, -1, 17.9, -5.7, 21, -8, 21, -8, 29, -4, 32, -4, 33, 10.8, 33, 12.8, 31, 14.6, 31, 16, 25.2, 16, 22.8, 9, 18.8, 9, 15.8, 9.8, 15, 11.8, 15, 12.8, 7, 14.9, 7, 11, -3.5, 11, -8.4, 16, -17.5, 16, -27.3, 15.5, -29, 12, -29)
[node name="PointLight2D" type="PointLight2D" parent="All/OpenedBox/Panel/Draggable2D4"]
position = Vector2(0.439749, -33.0122)
energy = 0.7
range_layer_max = 10
range_item_cull_mask = 16
texture = SubResource("GradientTexture2D_sg8mt")
[node name="Marker2D1" type="Marker2D" parent="All/OpenedBox/Panel"]
position = Vector2(198, 178)
@ -276,6 +329,10 @@ limit_rect = Rect2(150, 150, 220, 70)
position = Vector2(-12, 9)
shape = SubResource("RectangleShape2D_cbhp3")
[node name="PointLight2D" type="PointLight2D" parent="All/BrokenBox/Draggable抽屉"]
range_layer_max = 10
texture = ExtResource("28_b3w8p")
[node name="Draggable照片" parent="All" instance=ExtResource("16_h88gi")]
position = Vector2(241, 71)
act_as_button = true
@ -286,6 +343,11 @@ limit_rect = Rect2(150, 150, 220, 70)
position = Vector2(6.4373e-06, -9.53674e-07)
polygon = PackedVector2Array(31.5, -37.5, 29.7, -38, 18.4, -38, -19.7, -28.9, -26, -32, -30.7, -32, -32.5, -28.4, -32.5, -23.2, -24.5, -15.2, -24.5, -9.6, -20.5, -8.3, -20.5, 4.5, -17.7, 10, -14.5, 30.3, -14.5, 32, -10.5, 35, -10.5, 37, 3.3, 37, 4.5, 26.1, 6.2, 25, 9.3, 25, 7.5, 19.6, 10.6, 14, 13.1, 14, 10.5, 4, 10.5, 3.2, 21, -2, 23.6, -2, 31.6, -14, 32.5, -14, 32.5, -22.4, 31.5, -28.3)
[node name="PointLight2D" type="PointLight2D" parent="All/Draggable照片"]
energy = 0.7
range_layer_max = 10
texture = ExtResource("19_cbhp3")
[node name="Drawer" type="Node2D" parent="All"]
visible = false
position = Vector2(20.5, 0)
@ -295,37 +357,50 @@ position = Vector2(-26.5, -3)
texture = ExtResource("29_hder7")
centered = false
[node name="drawer_弹珠" parent="All/Drawer" instance=ExtResource("16_h88gi")]
[node name="Draggable1" parent="All/Drawer" instance=ExtResource("16_h88gi")]
position = Vector2(128.5, 135)
act_as_button = true
texture = ExtResource("30_tgpfj")
limit_rect = Rect2(150, 150, 220, 70)
[node name="CollisionShape2D" type="CollisionShape2D" parent="All/Drawer/drawer_弹珠"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="All/Drawer/Draggable1"]
position = Vector2(1, 7.62939e-06)
shape = SubResource("CircleShape2D_wq2wm")
[node name="drawer_小猫身子" parent="All/Drawer" instance=ExtResource("16_h88gi")]
[node name="PointLight2D" type="PointLight2D" parent="All/Drawer/Draggable1"]
range_layer_max = 10
texture = ExtResource("30_tgpfj")
[node name="Draggable2" parent="All/Drawer" instance=ExtResource("16_h88gi")]
position = Vector2(249.5, 143)
rotation = -0.254158
act_as_button = true
texture = ExtResource("31_wq2wm")
limit_rect = Rect2(150, 150, 220, 70)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/Drawer/drawer_小猫身子"]
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/Drawer/Draggable2"]
polygon = PackedVector2Array(5.5, -37.9, 3, -36.8, 3, -35.8, 1, -34.7, 1, -30.5, 2.2, -29.6, 1.2, -28.1, -4.2, -33.5, -6.8, -33.5, -10, -30.3, -10, -27.5, -12.7, -25.5, -14.2, -25.5, -15, -31.5, -15, -35.5, -24.3, -31.5, -26.3, -31.5, -27.4, -29, -24, -25.7, -24, -23.3, -24.8, -22.5, -26.6, -22.5, -27.5, -18.8, -35, -26.3, -35, -28.5, -43.8, -28.5, -52.8, -19.5, -54.7, -19.5, -56.7, -7.5, -58.1, -7.5, -57, 10.6, -57, 16.1, -53, 22.1, -53, 24.5, -44, 31.4, -44, 33.5, -31.1, 33.5, -27, 40.1, -27, 42.3, -19, 43.2, -19, 44.5, 10.1, 44.5, 15.5, 35.8, 18.8, 36.5, 22.9, 36.5, 26.8, 43.5, 42.8, 43.5, 45.8, 40.5, 49.1, 40.5, 55.1, 31.5, 57.4, 31.5, 48, -20.9, 48, -22.3, 38, -32.3, 38, -34.5, 28.4, -34.5, 27, -28.7, 27, -25.6, 25.4, -24.6, 23, -26.5, 23, -27.8, 20.5, -28.9, 17.4, -25.9)
[node name="drawer_小蝉" parent="All/Drawer" instance=ExtResource("16_h88gi")]
[node name="PointLight2D" type="PointLight2D" parent="All/Drawer/Draggable2"]
range_layer_max = 10
texture = ExtResource("31_wq2wm")
[node name="Draggable3" parent="All/Drawer" instance=ExtResource("16_h88gi")]
position = Vector2(368.5, 175)
rotation = 0.330288
act_as_button = true
texture = ExtResource("32_sg8mt")
limit_rect = Rect2(150, 150, 220, 70)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/Drawer/drawer_小蝉"]
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/Drawer/Draggable3"]
position = Vector2(-1.99999, 0.999999)
polygon = PackedVector2Array(-11, -44.2, -11, -42.1, -14, -40.1, -14, -34.4, -9, -26.4, -9, -23.8, -5.6, -22.1, -12, -14.8, -12, -14.2, -27.6, -4, -29.2, -4, -30.3, -1.9, -27.1, 3, -20.5, 3, -8.7, -3.4, -11, 6.8, -11, 11.7, -5, 18.8, -5, 29, -12.7, 35, -15, 35, -15, 43.8, -11, 47.8, -11, 49.3, -2.4, 53, 6.8, 53, 15.7, 45, 18, 45, 18, 36, 13, 32, 13, 30, 8, 30, 8, 25.6, 10, 23, 11.7, 23, 13.7, 12, 15.6, 12, 11.5, -3, 12, -9.9, 12, -15.4, 19, -25, 21, -25, 21, -34.8, 16.8, -39, 13.8, -39, 12, -35.7, 12, -41.8)
[node name="PointLight2D" type="PointLight2D" parent="All/Drawer/Draggable3"]
position = Vector2(0, -1.52588e-05)
range_layer_max = 10
texture = ExtResource("32_sg8mt")
[node name="BoxAnimation" type="AnimatedSprite2D" parent="All"]
visible = false
position = Vector2(302.5, 249)
@ -360,3 +435,8 @@ texture = ExtResource("35_wq2wm")
position = Vector2(3, -0.98594)
range_item_cull_mask = 32
texture = ExtResource("36_sg8mt")
[editable path="All/OpenedBox/Panel/Draggable2D1"]
[editable path="All/OpenedBox/Panel/Draggable2D2"]
[editable path="All/OpenedBox/Panel/Draggable2D3"]
[editable path="All/OpenedBox/Panel/Draggable2D4"]

View File

@ -42,8 +42,8 @@ func refresh():
new_text += c + "\n"
msg = new_text
set(property_name, msg)
if Engine.is_editor_hint():
print("lable updated: %s" % [get(property_name)])
# if Engine.is_editor_hint():
# print("lable updated: %s" % [get(property_name)])
func _get_tr_content():