diff --git a/asset/art/gif/c00_吕萍通用动作/frames.tres b/asset/art/gif/c00_吕萍通用动作/frames.tres new file mode 100644 index 00000000..c261c06b --- /dev/null +++ b/asset/art/gif/c00_吕萍通用动作/frames.tres @@ -0,0 +1,42 @@ +[gd_resource type="SpriteFrames" load_steps=9 format=3 uid="uid://di43shn22n5ph"] + +[ext_resource type="Texture2D" uid="uid://cy60agcpq2yfh" path="res://asset/art/gif/c00_吕萍通用动作/吕萍爬行/0.png" id="1_d5cw8"] +[ext_resource type="Texture2D" uid="uid://c44lxiv6nl7r3" path="res://asset/art/gif/c00_吕萍通用动作/吕萍爬行/1.png" id="2_wc1hv"] +[ext_resource type="Texture2D" uid="uid://bqfi78mw1hp3w" path="res://asset/art/gif/c00_吕萍通用动作/吕萍爬行/2.png" id="3_rws23"] +[ext_resource type="Texture2D" uid="uid://6lnxs3pqad1k" path="res://asset/art/gif/c00_吕萍通用动作/吕萍爬行/3.png" id="4_6l56p"] +[ext_resource type="Texture2D" uid="uid://dpwe1fb1gt6rf" path="res://asset/art/gif/c00_吕萍通用动作/吕萍爬行/4.png" id="5_nr5q8"] +[ext_resource type="Texture2D" uid="uid://bmlrn4m8s8ylx" path="res://asset/art/gif/c00_吕萍通用动作/吕萍爬行/5.png" id="6_ces2l"] +[ext_resource type="Texture2D" uid="uid://bgbsicotscvik" path="res://asset/art/gif/c00_吕萍通用动作/吕萍爬行/6.png" id="7_hcd8a"] +[ext_resource type="Texture2D" uid="uid://c3ou5lcf5urxr" path="res://asset/art/gif/c00_吕萍通用动作/吕萍爬行/7.png" id="8_0lmkc"] + +[resource] +animations = [{ +"frames": [{ +"duration": 9.0, +"texture": ExtResource("1_d5cw8") +}, { +"duration": 9.0, +"texture": ExtResource("2_wc1hv") +}, { +"duration": 9.0, +"texture": ExtResource("3_rws23") +}, { +"duration": 9.0, +"texture": ExtResource("4_6l56p") +}, { +"duration": 9.0, +"texture": ExtResource("5_nr5q8") +}, { +"duration": 9.0, +"texture": ExtResource("6_ces2l") +}, { +"duration": 9.0, +"texture": ExtResource("7_hcd8a") +}, { +"duration": 9.0, +"texture": ExtResource("8_0lmkc") +}], +"loop": true, +"name": &"吕萍爬行", +"speed": 30.0 +}] diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行.gif b/asset/art/gif/c00_吕萍通用动作/吕萍爬行.gif new file mode 100644 index 00000000..86995149 Binary files /dev/null and b/asset/art/gif/c00_吕萍通用动作/吕萍爬行.gif differ diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行.gif.import b/asset/art/gif/c00_吕萍通用动作/吕萍爬行.gif.import new file mode 100644 index 00000000..4ddadcf5 --- /dev/null +++ b/asset/art/gif/c00_吕萍通用动作/吕萍爬行.gif.import @@ -0,0 +1,14 @@ +[remap] + +importer="gif.animated.texture.plugin" +type="SpriteFrames" +uid="uid://bjdbgy58j6f0e" +path="res://.godot/imported/吕萍爬行.gif-6b2978deea65211c6997df8714821342.tres" + +[deps] + +source_file="res://asset/art/gif/c00_吕萍通用动作/吕萍爬行.gif" +dest_files=["res://.godot/imported/吕萍爬行.gif-6b2978deea65211c6997df8714821342.tres"] + +[params] + diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行/0.png b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/0.png new file mode 100644 index 00000000..81c03871 Binary files /dev/null and b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/0.png differ diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行/0.png.import b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/0.png.import new file mode 100644 index 00000000..b8ce090f --- /dev/null +++ b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cy60agcpq2yfh" +path="res://.godot/imported/0.png-b2382371145a920982c686f17638cb34.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c00_吕萍通用动作/吕萍爬行/0.png" +dest_files=["res://.godot/imported/0.png-b2382371145a920982c686f17638cb34.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行/1.png b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/1.png new file mode 100644 index 00000000..e81c027c Binary files /dev/null and b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/1.png differ diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行/1.png.import b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/1.png.import new file mode 100644 index 00000000..2c0ddacd --- /dev/null +++ b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c44lxiv6nl7r3" +path="res://.godot/imported/1.png-5899d8082586a4220c5f75423ab7859d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c00_吕萍通用动作/吕萍爬行/1.png" +dest_files=["res://.godot/imported/1.png-5899d8082586a4220c5f75423ab7859d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行/2.png b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/2.png new file mode 100644 index 00000000..f3f2b3a0 Binary files /dev/null and b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/2.png differ diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行/2.png.import b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/2.png.import new file mode 100644 index 00000000..4e5bef24 --- /dev/null +++ b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bqfi78mw1hp3w" +path="res://.godot/imported/2.png-42474811d254374ec282c8ca3442b6c3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c00_吕萍通用动作/吕萍爬行/2.png" +dest_files=["res://.godot/imported/2.png-42474811d254374ec282c8ca3442b6c3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行/3.png b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/3.png new file mode 100644 index 00000000..454c0756 Binary files /dev/null and b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/3.png differ diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行/3.png.import b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/3.png.import new file mode 100644 index 00000000..94ea5060 --- /dev/null +++ b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6lnxs3pqad1k" +path="res://.godot/imported/3.png-1029bcff8545699b954b79c425fea94c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c00_吕萍通用动作/吕萍爬行/3.png" +dest_files=["res://.godot/imported/3.png-1029bcff8545699b954b79c425fea94c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行/4.png b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/4.png new file mode 100644 index 00000000..81c03871 Binary files /dev/null and b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/4.png differ diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行/4.png.import b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/4.png.import new file mode 100644 index 00000000..e055e430 --- /dev/null +++ b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dpwe1fb1gt6rf" +path="res://.godot/imported/4.png-784118a0b73273524a147a285964ea20.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c00_吕萍通用动作/吕萍爬行/4.png" +dest_files=["res://.godot/imported/4.png-784118a0b73273524a147a285964ea20.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行/5.png b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/5.png new file mode 100644 index 00000000..aea24dca Binary files /dev/null and b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/5.png differ diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行/5.png.import b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/5.png.import new file mode 100644 index 00000000..673f155d --- /dev/null +++ b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmlrn4m8s8ylx" +path="res://.godot/imported/5.png-ef48eabf7cdec66d6734524ac069acbe.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c00_吕萍通用动作/吕萍爬行/5.png" +dest_files=["res://.godot/imported/5.png-ef48eabf7cdec66d6734524ac069acbe.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行/6.png b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/6.png new file mode 100644 index 00000000..37a0cb92 Binary files /dev/null and b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/6.png differ diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行/6.png.import b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/6.png.import new file mode 100644 index 00000000..9f521672 --- /dev/null +++ b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bgbsicotscvik" +path="res://.godot/imported/6.png-84f58a75387687f819b9571163c5135b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c00_吕萍通用动作/吕萍爬行/6.png" +dest_files=["res://.godot/imported/6.png-84f58a75387687f819b9571163c5135b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行/7.png b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/7.png new file mode 100644 index 00000000..2ffb2111 Binary files /dev/null and b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/7.png differ diff --git a/asset/art/gif/c00_吕萍通用动作/吕萍爬行/7.png.import b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/7.png.import new file mode 100644 index 00000000..7055f8f8 --- /dev/null +++ b/asset/art/gif/c00_吕萍通用动作/吕萍爬行/7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3ou5lcf5urxr" +path="res://.godot/imported/7.png-444d5ff46970ff49e71860efc28e705b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c00_吕萍通用动作/吕萍爬行/7.png" +dest_files=["res://.godot/imported/7.png-444d5ff46970ff49e71860efc28e705b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/asset/dialogue/c02.csv b/asset/dialogue/c02.csv index 7653bbb9..6f8ffbc0 100644 --- a/asset/dialogue/c02.csv +++ b/asset/dialogue/c02.csv @@ -9,8 +9,8 @@ c02_纸人互动_离开公寓1,你要离开芦昌公寓吗?,,, c02_纸人互动_离开公寓2,离开,(response),, c02_纸人互动_离开公寓3,留下,(response),, c02_6偷听对话_李氏_1_fx,真的假的?你钻进去啦,你这个体型进得去哒?,李兰,, -c02_6偷听对话_癞子_1_fx,小声点,让人听见了倒惹麻烦。,王守义,, -c02_6偷听对话_李氏_2_fx,那你说说,都看到什么啦?,李兰,, +c02_6偷听对话_癞子_1_fx,小声点,让人听见了倒惹麻烦。,王守义,,[#db=3] +c02_6偷听对话_李氏_2_fx,那你说说,都看到什么啦?,李兰,,[#db=-5] c02_6偷听对话_癞子_2_fx,不好说,那里头弯弯绕绕的,我得找个时间再去看一眼。,王守义,, c02_6偷听对话_癞子_3_fx,对了,你改天撺个局,让方启钊和胖子一块来搓麻,我顺嘴问一道。,王守义,, c02_6偷听对话_癞子_4_fx,其余的,不要声张。,王守义,, diff --git a/asset/dialogue/c02.dialogue b/asset/dialogue/c02.dialogue index 22395436..ff12cf24 100644 --- a/asset/dialogue/c02.dialogue +++ b/asset/dialogue/c02.dialogue @@ -8,8 +8,8 @@ ~ c02_04_李氏癞子 #[#anonymous] 李兰: 真的假的?你钻进去啦,你这个体型进得去哒? [ID:c02_6偷听对话_李氏_1_fx] -王守义: 小声点,让人听见了倒惹麻烦。 [ID:c02_6偷听对话_癞子_1_fx] -李兰: 那你说说,都看到什么啦? [ID:c02_6偷听对话_李氏_2_fx] +王守义: 小声点,让人听见了倒惹麻烦。[#db=3] [ID:c02_6偷听对话_癞子_1_fx] +李兰: 那你说说,都看到什么啦? [#db=-5] [ID:c02_6偷听对话_李氏_2_fx] 王守义: 不好说,那里头弯弯绕绕的,我得找个时间再去看一眼。 [ID:c02_6偷听对话_癞子_2_fx] 王守义: 对了,你改天撺个局,让方启钊和胖子一块来搓麻,我顺嘴问一道。 [ID:c02_6偷听对话_癞子_3_fx] 王守义: 其余的,不要声张。 [ID:c02_6偷听对话_癞子_4_fx] diff --git a/asset/dialogue/item_description.dialogue b/asset/dialogue/item_description.dialogue index 447d7a8c..ff265f2e 100644 --- a/asset/dialogue/item_description.dialogue +++ b/asset/dialogue/item_description.dialogue @@ -68,6 +68,7 @@ 小猫玩具 [#texture=c02/新小猫全身.png] [ID:prop_小猫玩具完整] 撕下的照片(上) [#texture=c02/照片_上.png] [ID:prop_撕下的照片上] 老虎钳 [#texture=c02/老虎钳物品.png][#inspect=c02/老虎钳.png] [ID:prop_老虎钳] +... [ID:prop_老虎钳_说明] 锡箔元宝 [#texture=c02/锡箔元宝.png] [ID:prop_锡箔元宝] 小鞋子1 [#texture=c02/小鞋子.png] [ID:prop_小鞋子1] 小鞋子2 [#texture=c02/小鞋子.png] [ID:prop_小鞋子2] diff --git a/asset/dialogue/item_description.dialogue.import b/asset/dialogue/item_description.dialogue.import index 1b049cd2..822e8425 100644 --- a/asset/dialogue/item_description.dialogue.import +++ b/asset/dialogue/item_description.dialogue.import @@ -1,6 +1,7 @@ [remap] -importer="dialogue_manager_compiler_14" +importer="dialogue_manager" +importer_version=15 type="Resource" uid="uid://b1vwhxctfhl5d" path="res://.godot/imported/item_description.dialogue-4e77b8fbe6e6a6d0365a2a25480dc462.tres" diff --git a/scene/dialog/balloon.gd b/scene/dialog/balloon.gd index 79139778..c05de96a 100755 --- a/scene/dialog/balloon.gd +++ b/scene/dialog/balloon.gd @@ -77,7 +77,22 @@ func _ready() -> void: add_child(mutation_cooldown) # 自定义获得文本,从 tags 中获取备注参数 -func _setup_content_text() -> void: +func _apply_tags() -> void: + character_label.visible = not dialogue_line.character.is_empty() + character_label.text = tr(dialogue_line.character, "dialogue") + #主要角色颜色 + var color = dialogue_line.get_tag_value("color") + if color: + character_label.modulate = Color.WHITE + character_label.text = "[color=" + color + "]" + character_label.text + "[/color]" + elif GlobalConfig.CHARACTER_COLOR_MAP.has(dialogue_line.character): + character_label.modulate = GlobalConfig.CHARACTER_COLOR_MAP[dialogue_line.character] + else: + character_label.modulate = GlobalConfig.CHARACTER_COLOR_MAP["default"] + # 配色结束后匿名化处理 + if dialogue_line.tags.has("anonymous"): + character_label.text = tr("???", "dialogue") + var translation_key = dialogue_line.translation_key var text if translation_key: @@ -97,6 +112,15 @@ func _setup_content_text() -> void: if dialogue_line.tags.has("item"): # orange color text = "[color=orange]" + text + "[/color]" + + var db_str = dialogue_line.get_tag_value("db") + if db_str: + var db = float(db_str) + audio_stream_player.volume_db = db + if GlobalConfig.DEBUG: + print("audio_stream_player.volume_db = %s" % db) + else: + audio_stream_player.volume_db = 0 dialogue_line.text = text # func _unhandled_input(_event: InputEvent) -> void: @@ -130,23 +154,9 @@ func apply_dialogue_line() -> void: balloon.focus_mode = Control.FOCUS_ALL balloon.grab_focus() - character_label.visible = not dialogue_line.character.is_empty() - character_label.text = tr(dialogue_line.character, "dialogue") - #主要角色颜色 - var color = dialogue_line.get_tag_value("color") - if color: - character_label.modulate = Color.WHITE - character_label.text = "[color=" + color + "]" + character_label.text + "[/color]" - elif GlobalConfig.CHARACTER_COLOR_MAP.has(dialogue_line.character): - character_label.modulate = GlobalConfig.CHARACTER_COLOR_MAP[dialogue_line.character] - else: - character_label.modulate = GlobalConfig.CHARACTER_COLOR_MAP["default"] - # 配色结束后匿名化处理 - if dialogue_line.tags.has("anonymous"): - character_label.text = tr("???", "dialogue") dialogue_label.hide() - _setup_content_text() + _apply_tags() dialogue_label.dialogue_line = dialogue_line responses_menu.hide() diff --git a/scene/entity/ux/刮刮乐.gd b/scene/entity/ux/刮刮乐.gd index 1ef5db17..6eef41dc 100644 --- a/scene/entity/ux/刮刮乐.gd +++ b/scene/entity/ux/刮刮乐.gd @@ -3,10 +3,11 @@ extends TextureRect signal shaven(progress: float) -# points inside radius 5 circle +# points inside radius 9 circle(必须>5) var brush_points := generate_brush_points(9) var area_size := Vector2.ZERO var image: Image +# bit_mask is the bottom var bit_mask := BitMap.new() var total_pixels := 0.0 @@ -25,19 +26,37 @@ func _ready() -> void: # a solid circle brush, center = (0, 0) func generate_brush_points(radius: int) -> PackedVector2Array: var points := PackedVector2Array() - # Check each pixel in square area + # Top points for x in range(-radius, radius + 1): for y in range(-radius, radius + 1): # If point is within circle radius if x * x + y * y <= radius * radius: points.append(Vector2(x, y)) + # mid points + radius = int(radius / 3.0) + for x in range(-radius , radius + 1): + for y in range(-radius, radius + 1): + # If point is within circle radius + if x * x + y * y <= radius * radius: + points.append(Vector2(x, y)) + # bottom points + points.append(Vector2(0, 0)) + points.append(Vector2(1, 0)) + points.append(Vector2(0, 1)) + points.append(Vector2(1, 1)) return points +var last_pos := Vector2(-1, -1) + + func _shave() -> void: if not mouse_pressing: return var mouse_pos := get_local_mouse_position() + if last_pos == mouse_pos: + return + last_pos = mouse_pos var updated = false for point in brush_points: var pos = mouse_pos + point @@ -45,8 +64,11 @@ func _shave() -> void: continue if bit_mask.get_bitv(pos): updated = true - bit_mask.set_bitv(pos, false) - image.set_pixelv(pos, Color.TRANSPARENT) + var color = image.get_pixelv(pos) as Color + color.a = clampf(color.a - 0.15, 0.0, 1.0) + if color.a == 0: + bit_mask.set_bitv(pos, false) + image.set_pixelv(pos, color) if updated: (texture as ImageTexture).update(image) _send_signal() diff --git a/scene/entity/ux/刮刮乐.tscn b/scene/entity/ux/刮刮乐.tscn index 091e172d..7e236ee2 100644 --- a/scene/entity/ux/刮刮乐.tscn +++ b/scene/entity/ux/刮刮乐.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://bvnclp341hxoh"] -[ext_resource type="Texture2D" uid="uid://7nudp635g54o" path="res://asset/art/prop/c02/海报特写/大舞台.png" id="1_6buh4"] +[ext_resource type="Texture2D" uid="uid://b8pcnqvdddo5g" path="res://asset/art/prop/c02/海报特写/除鼠二杰.png" id="1_6r70v"] [ext_resource type="Script" uid="uid://c8cfd0arld5t3" path="res://scene/entity/ux/刮刮乐.gd" id="1_dja3c"] [node name="刮刮乐" type="TextureRect"] @@ -15,5 +15,6 @@ offset_right = 77.5 offset_bottom = 120.0 grow_horizontal = 2 grow_vertical = 2 -texture = ExtResource("1_6buh4") +texture = ExtResource("1_6r70v") +stretch_mode = 4 script = ExtResource("1_dja3c") diff --git a/scene/ground/ground.gd b/scene/ground/ground.gd index 8de0042e..9e44e165 100644 --- a/scene/ground/ground.gd +++ b/scene/ground/ground.gd @@ -88,17 +88,18 @@ func _ready() -> void: func _restart_from_main(): - var main = load("res://scene/main.tscn").instantiate() - # if not main.is_node_ready(): - # await main.ready - var ground_loader = main.get_node("./GroundLoader") as GroundLoader - # ground_loader.ignore_archive = true - ground_loader.ignore_archive = false - ground_loader.force_archive_scene = scene_name - ground_loader.force_archive_portal = default_portal - get_node("/root").add_child(main) - get_tree().current_scene = main - get_parent().queue_free() + ArchiveManager.archive.current_scene = scene_name + ArchiveManager.archive.entrance_portal = default_portal + get_tree().change_scene_to_packed(preload("res://scene/main.tscn")) + + # var main = get_tree().current_scene + # # if not main.is_node_ready(): + # # await main.ready + # var ground_loader = main.get_node("./GroundLoader") as GroundLoader + # # ground_loader.ignore_archive = true + # ground_loader.ignore_archive = false + # ground_loader.force_archive_scene = scene_name + # ground_loader.force_archive_portal = default_portal func _reset_player_y():