更新刮刮乐与 _restart_from_main
42
asset/art/gif/c00_吕萍通用动作/frames.tres
Normal file
@ -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
|
||||
}]
|
BIN
asset/art/gif/c00_吕萍通用动作/吕萍爬行.gif
Normal file
After Width: | Height: | Size: 7.5 KiB |
14
asset/art/gif/c00_吕萍通用动作/吕萍爬行.gif.import
Normal file
@ -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]
|
||||
|
BIN
asset/art/gif/c00_吕萍通用动作/吕萍爬行/0.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
34
asset/art/gif/c00_吕萍通用动作/吕萍爬行/0.png.import
Normal file
@ -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
|
BIN
asset/art/gif/c00_吕萍通用动作/吕萍爬行/1.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
34
asset/art/gif/c00_吕萍通用动作/吕萍爬行/1.png.import
Normal file
@ -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
|
BIN
asset/art/gif/c00_吕萍通用动作/吕萍爬行/2.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
34
asset/art/gif/c00_吕萍通用动作/吕萍爬行/2.png.import
Normal file
@ -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
|
BIN
asset/art/gif/c00_吕萍通用动作/吕萍爬行/3.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
34
asset/art/gif/c00_吕萍通用动作/吕萍爬行/3.png.import
Normal file
@ -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
|
BIN
asset/art/gif/c00_吕萍通用动作/吕萍爬行/4.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
34
asset/art/gif/c00_吕萍通用动作/吕萍爬行/4.png.import
Normal file
@ -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
|
BIN
asset/art/gif/c00_吕萍通用动作/吕萍爬行/5.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
34
asset/art/gif/c00_吕萍通用动作/吕萍爬行/5.png.import
Normal file
@ -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
|
BIN
asset/art/gif/c00_吕萍通用动作/吕萍爬行/6.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
34
asset/art/gif/c00_吕萍通用动作/吕萍爬行/6.png.import
Normal file
@ -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
|
BIN
asset/art/gif/c00_吕萍通用动作/吕萍爬行/7.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
34
asset/art/gif/c00_吕萍通用动作/吕萍爬行/7.png.import
Normal file
@ -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
|
@ -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,其余的,不要声张。,王守义,,
|
||||
|
|
@ -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]
|
||||
|
@ -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]
|
||||
|
@ -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"
|
||||
|
@ -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()
|
||||
|
@ -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
|
||||
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.TRANSPARENT)
|
||||
image.set_pixelv(pos, color)
|
||||
if updated:
|
||||
(texture as ImageTexture).update(image)
|
||||
_send_signal()
|
||||
|
@ -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")
|
||||
|
@ -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():
|
||||
|