demo 0.2.0.3 hotfix 红色裂缝;谢幕演出标题位置与蜡烛点燃等细节;时间日志等
This commit is contained in:
parent
c4d6422dec
commit
d0ae1d1f71
Binary file not shown.
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 16 KiB |
@ -19,12 +19,12 @@ c02_青岛啤酒详情,系最好最廉之酒,并且每星期有新货到埠,,,
|
||||
tdb119a3714,据闻奉贤县分水墩有两人染受鼠疫毙命,医官拟将死者尸骸解剖以观受病之原因及其情状,竟未得死者家属之同意,以该处风气闭塞,闻解剖之说,地方人民甚为惊骇,闻已有聚众滋闹之事,并闻医官已被人殴打,政府以防疫事宜关系紧要拟改令赴沪南区一带调查防疫事宜云。,,,
|
||||
ta750647b12,《申报》,,,
|
||||
t736cca4563,民国五年一月十三日,,,
|
||||
c02_保卫科花名册1,一零一四 空,,,
|
||||
c02_保卫科花名册2,一零一五王守义 李兰,,,
|
||||
c02_保卫科花名册3,二零一二 张文开,,,
|
||||
c02_保卫科花名册4,二零一三 方启钊 方小蝉,,,
|
||||
c02_保卫科花名册5,三零一二 吕萍,,,
|
||||
c02_保卫科花名册6,三零一三(看不清),,,
|
||||
c02_保卫科花名册1,一〇一四 空,,,
|
||||
c02_保卫科花名册2,一〇一五 王守义 李兰,,,
|
||||
c02_保卫科花名册3,二〇一三 张文开,,,
|
||||
c02_保卫科花名册4,二〇一五 方启钊 方小蝉,,,
|
||||
c02_保卫科花名册5,三〇一二 吕萍,,,
|
||||
c02_保卫科花名册6,三〇一三 (看不清),,,
|
||||
c02_保卫科花名册7,把我的鞋子拿给老鼠,老鼠会引开那个疯男人,,,
|
||||
c02_保卫科花名册8,不要相信墙里的东西!,,,
|
||||
c02_小猫纸条,大哥!今晚老地方见 /井\,,,
|
||||
|
|
@ -32,13 +32,13 @@
|
||||
|
||||
|
||||
~ c02_保卫科花名册
|
||||
一零一四 空 [ID:c02_保卫科花名册1]
|
||||
一零一五王守义 李兰 [ID:c02_保卫科花名册2]
|
||||
二零一二 张文开 [ID:c02_保卫科花名册3]
|
||||
二零一三 方启钊 方小蝉 [ID:c02_保卫科花名册4]
|
||||
一〇一四 空 [ID:c02_保卫科花名册1]
|
||||
一〇一五 王守义 李兰 [ID:c02_保卫科花名册2]
|
||||
二〇一三 张文开 [ID:c02_保卫科花名册3]
|
||||
二〇一五 方启钊 方小蝉 [ID:c02_保卫科花名册4]
|
||||
|
||||
三零一二 吕萍 [ID:c02_保卫科花名册5]
|
||||
三零一三(看不清) [ID:c02_保卫科花名册6]
|
||||
三〇一二 吕萍 [ID:c02_保卫科花名册5]
|
||||
三〇一三 (看不清) [ID:c02_保卫科花名册6]
|
||||
把我的鞋子拿给老鼠,老鼠会引开那个疯男人 [ID:c02_保卫科花名册7]
|
||||
不要相信墙里的东西! [ID:c02_保卫科花名册8]
|
||||
=> END
|
||||
|
@ -5,6 +5,7 @@ prop_小猫纸条,小猫纸条,,,[#texture=c02/小猫纸条.png],,
|
||||
prop_小猫纸条_说明,「大哥,今晚老地方见 /井\」,,,,,
|
||||
prop_眼镜,眼镜,,,[#texture=c02/眼镜.png],,
|
||||
prop_眼镜_说明,这副眼镜对我很重要。<br>记得小时候在浦育院的日子,我经常会在半夜时听到奇怪的说话声,还时不时能看见其他小孩子看不见的东西。<br>院长不知从哪儿找来了这样一副眼镜,戴上它后那些怪事就很少发生。<br>随着年龄增长,我几乎已用不到这副眼镜。现在它对我来说似乎有了新的意义。,,,,,
|
||||
prop_小鞋子_说明,这只小鞋子曾经属于一个裹了小脚的女孩,鞋不成双,祸事难防。,,,,,
|
||||
index_新游戏,新游戏,,,,,
|
||||
index_继续游戏,继续游戏,,,,,
|
||||
index_退出游戏,退出游戏,,,,,
|
||||
@ -108,8 +109,8 @@ prop_眼镜盒,眼镜盒,,,[#texture=c02/眼镜盒.png],,
|
||||
prop_眼镜盒_说明,这副眼镜对我很重要。<br>记得小时候在浦育院的日子,我经常会在半夜时听到奇怪的说话声,还时不时能看见其他小孩子看不见的东西。<br>院长不知从哪儿找来了这样一副眼镜,戴上它后那些怪事就很少发生。<br>随着年龄增长,我几乎已用不到这副眼镜。现在它对我来说似乎有了新的意义。,,,,,
|
||||
prop_小蝉人偶,小蝉人偶,,,[#texture=c02/小蝉人偶.png],,
|
||||
prop_小蝉人偶_说明,小小的人儿,小小的鞋子,小小的友情啊——像蝶依偎着花。,,,,,
|
||||
prop_单只小鞋子,单只小鞋子,,,[#texture=c02/小鞋子1.png],,
|
||||
prop_小鞋子_说明,这只小鞋子曾经属于一个裹了小脚的女孩,鞋不成双,祸事难防。,,,,,
|
||||
prop_单只小鞋子,一只小鞋子,,,[#texture=c02/小鞋子1.png],,
|
||||
prop_单只小鞋子_说明,这只小鞋子曾经属于一个裹了小脚的女孩。<br>鞋不成双,祸事难防。,,,,,
|
||||
c01_s05_检查院长房间,好像忘记了什么事情,再回去检查一遍吧。,,ID格式: prop_xx_说明,,,
|
||||
c01_s07_需要报纸,书店还没开门。,,,,,
|
||||
c01_s08_书店工作,老板交代的工作还没做完,不能偷懒。,,,,,
|
||||
|
|
@ -135,8 +135,8 @@
|
||||
这副眼镜对我很重要。<br>记得小时候在浦育院的日子,我经常会在半夜时听到奇怪的说话声,还时不时能看见其他小孩子看不见的东西。<br>院长不知从哪儿找来了这样一副眼镜,戴上它后那些怪事就很少发生。<br>随着年龄增长,我几乎已用不到这副眼镜。现在它对我来说似乎有了新的意义。[ID:prop_眼镜盒_说明]
|
||||
小蝉人偶[#texture=c02/小蝉人偶.png] [ID:prop_小蝉人偶]
|
||||
小小的人儿,小小的鞋子,小小的友情啊——像蝶依偎着花。 [ID:prop_小蝉人偶_说明]
|
||||
单只小鞋子 [#texture=c02/小鞋子1.png] [ID:prop_单只小鞋子]
|
||||
这只小鞋子曾经属于一个裹了小脚的女孩,鞋不成双,祸事难防。[ID:prop_小鞋子_说明]
|
||||
一只小鞋子 [#texture=c02/小鞋子1.png] [ID:prop_单只小鞋子]
|
||||
这只小鞋子曾经属于一个裹了小脚的女孩。<br>鞋不成双,祸事难防。[ID:prop_单只小鞋子_说明]
|
||||
=> END
|
||||
|
||||
#~ prop说明
|
||||
|
@ -21,6 +21,6 @@ c02_议论文字19,你们在说什么妖怪?,,,
|
||||
c02_议论文字20,谁家有妖怪?,,,
|
||||
c02_议论文字21,啥妖怪,,,
|
||||
c02_议论文字22,真的假的妖怪,,,
|
||||
c02_议论文字23,3014那家有妖怪,,,
|
||||
c02_议论文字23,三〇一二那家有妖怪,,,
|
||||
c02_议论文字24,要死了,,,
|
||||
c02_议论文字25,养妖怪,,,
|
||||
|
|
@ -21,7 +21,7 @@
|
||||
谁家有妖怪? [ID:c02_议论文字20]
|
||||
啥妖怪 [ID:c02_议论文字21]
|
||||
真的假的妖怪 [ID:c02_议论文字22]
|
||||
3014那家有妖怪 [ID:c02_议论文字23]
|
||||
三〇一二那家有妖怪 [ID:c02_议论文字23]
|
||||
要死了 [ID:c02_议论文字24]
|
||||
养妖怪 [ID:c02_议论文字25]
|
||||
=> END
|
@ -22,9 +22,8 @@ class_name AssembledArchive extends Resource
|
||||
# 只有在 >=0 的情况下才会生效
|
||||
@export var player_global_position_x := -100.0
|
||||
@export var player_direction := Vector2(0, 0)
|
||||
# game total seconds
|
||||
@export var game_seconds_all := 0
|
||||
@export var game_seconds_current := 0
|
||||
# game seconds
|
||||
@export var game_seconds := 0
|
||||
# created time
|
||||
@export var created_time := "2024-12-24 00:00:00"
|
||||
|
||||
|
@ -62,38 +62,29 @@ func update_locale(lang_id: int, caption_id: int):
|
||||
TranslationServer.set_locale(lang)
|
||||
|
||||
|
||||
var _on_timer_timeout_counter := 0
|
||||
|
||||
|
||||
func _on_timer_timeout():
|
||||
var archive = ArchiveManager.archive
|
||||
if archive:
|
||||
archive.game_seconds_all += 5
|
||||
archive.game_seconds_current += 5
|
||||
if config:
|
||||
if archive and config:
|
||||
archive.game_seconds += 5
|
||||
config.game_total_seconds += 5
|
||||
|
||||
|
||||
func pack_current_time():
|
||||
var packed_time = PackedTime.new()
|
||||
packed_time.time = Time.get_datetime_string_from_system(false, true)
|
||||
var archive = ArchiveManager.archive
|
||||
if archive:
|
||||
packed_time.chapter = archive.current_chapter
|
||||
packed_time.section = archive.current_section
|
||||
packed_time.game_archive_id = archive.archive_id
|
||||
packed_time.game_seconds_all = archive.game_seconds_all
|
||||
packed_time.game_seconds_current = archive.game_seconds_current
|
||||
# 30s 打印一次
|
||||
if _on_timer_timeout_counter % 6 == 0:
|
||||
var time = get_concise_timemark(archive)
|
||||
prints("[timemark]", Time.get_datetime_string_from_system(), time)
|
||||
_on_timer_timeout_counter += 1
|
||||
|
||||
|
||||
# for log use
|
||||
func get_concise_timemark() -> String:
|
||||
var archive = ArchiveManager.archive
|
||||
if not archive:
|
||||
return "r0_c0_s0 00:00:00"
|
||||
var hour = archive.game_seconds_current / 3600 as int
|
||||
var minute = (archive.game_seconds_current % 3600) / 60 as int
|
||||
var second = archive.game_seconds_current % 60
|
||||
func get_concise_timemark(archive) -> String:
|
||||
var hour = archive.game_seconds / 3600 as int
|
||||
var minute = (archive.game_seconds % 3600) / 60 as int
|
||||
var second = archive.game_seconds % 60
|
||||
return (
|
||||
"r"
|
||||
+ str(ArchiveManager.current_archive_id)
|
||||
+ str(config.game_rounds)
|
||||
+ "_c"
|
||||
+ str(archive.current_chapter)
|
||||
+ " "
|
||||
|
@ -5,8 +5,7 @@ class_name PackedTime extends Resource
|
||||
@export var game_archive_id := 0
|
||||
@export var game_rounds := 0
|
||||
@export var timestamp := "2024-12-20 08:00:00" #system
|
||||
@export var game_seconds_all := 0 #game seconds since current archive start
|
||||
@export var game_seconds_current := 0 #game seconds since last chapter
|
||||
@export var game_seconds := 0 #game seconds since last chapter
|
||||
@export var chapter := 0 #chapter id
|
||||
@export var section := 0 #section id
|
||||
|
||||
|
@ -270,6 +270,7 @@ func pop_center_texture(texture: Texture2D, duration := 3.5) -> void:
|
||||
|
||||
var chapter_sfx = preload("uid://qku3yk82g364")
|
||||
|
||||
|
||||
func pop_chapter_notification(id: int) -> void:
|
||||
AudioManager.play_sfx(chapter_sfx)
|
||||
var texture
|
||||
@ -383,6 +384,7 @@ func show_settings() -> void:
|
||||
var pause_counter := 0
|
||||
var pause_counter_mutex := Mutex.new()
|
||||
|
||||
|
||||
func toggle_pause_counter(plus := true) -> void:
|
||||
# 若不 lock,会导致快速切换菜单时出现并发问题(pause_counter 成为负数)
|
||||
pause_counter_mutex.lock()
|
||||
@ -393,6 +395,12 @@ func toggle_pause_counter(plus := true) -> void:
|
||||
|
||||
|
||||
func quit_game() -> void:
|
||||
# 防止 await 阻塞导致 bug
|
||||
get_inspector().quit_and_hidden.emit()
|
||||
DialogueManager.dialogue_ended.emit(null)
|
||||
get_player().os_finished.emit("")
|
||||
get_player().animation_finished.emit()
|
||||
|
||||
ArchiveManager.save_all()
|
||||
var ground_loader = get_ground_loader() as GroundLoader
|
||||
if ground_loader:
|
||||
|
@ -90,7 +90,7 @@ func _check_display():
|
||||
if picked:
|
||||
visible = false
|
||||
elif visible_follow_enabled:
|
||||
visible = enabled
|
||||
modulate.a = 1.0 if enabled else 0.0
|
||||
sign_mark.enabled = enabled and is_visible_in_tree()
|
||||
|
||||
|
||||
|
@ -291,7 +291,7 @@ speed = 90.0
|
||||
position = Vector2(1241, -1)
|
||||
sprite_frames = ExtResource("2_l4axy")
|
||||
animation = &"秋千"
|
||||
frame = 3
|
||||
frame = 5
|
||||
|
||||
[node name="Sfx2D" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/秋千"]
|
||||
process_mode = 1
|
||||
@ -321,7 +321,7 @@ position = Vector2(1358, 0)
|
||||
sprite_frames = ExtResource("2_l4axy")
|
||||
animation = &"跷跷板"
|
||||
autoplay = "跷跷板"
|
||||
frame = 5
|
||||
frame = 3
|
||||
|
||||
[node name="Sfx2D" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/跷跷板"]
|
||||
process_mode = 1
|
||||
@ -370,6 +370,7 @@ action_configs = Array[Dictionary]([{
|
||||
position = Vector2(43, -44.5)
|
||||
sprite_frames = ExtResource("7_dsj2r")
|
||||
animation = &"【画画男孩-1】呼吸"
|
||||
frame = 1
|
||||
action_configs = Array[Dictionary]([{
|
||||
"animation_intro": "【画画男孩-1】呼吸",
|
||||
"animation_next": "【画画男孩-1】画画",
|
||||
@ -425,6 +426,7 @@ one_shot = false
|
||||
position = Vector2(1558, -12)
|
||||
sprite_frames = ExtResource("7_dsj2r")
|
||||
animation = &"【站立小孩-3】呼吸"
|
||||
frame = 1
|
||||
action_configs = Array[Dictionary]([{
|
||||
"animation_intro": &"【站立小孩-3】转身",
|
||||
"animation_next": "【站立小孩-3】走路",
|
||||
@ -745,6 +747,7 @@ position = Vector2(377, 18)
|
||||
scale = Vector2(0.9, 0.9)
|
||||
sprite_frames = ExtResource("2_l4axy")
|
||||
animation = &"中蓝衣小孩呼吸"
|
||||
frame = 2
|
||||
|
||||
[node name="门口_右绿衣男孩" parent="Ground/ParallaxForeground/BGParallaxLayer" index="3" instance=ExtResource("8_ouldg")]
|
||||
position = Vector2(408, 3)
|
||||
@ -756,7 +759,6 @@ light_mask = 2
|
||||
position = Vector2(333, 9.5)
|
||||
sprite_frames = ExtResource("2_l4axy")
|
||||
animation = &"红衣姑娘呼吸"
|
||||
frame = 2
|
||||
action_configs = Array[Dictionary]([{
|
||||
"animation_intro": &"红衣姑娘抬头",
|
||||
"animation_next": "红衣姑娘呼吸",
|
||||
@ -777,6 +779,7 @@ texture_scale = 0.5
|
||||
position = Vector2(301, 8.5)
|
||||
sprite_frames = ExtResource("2_l4axy")
|
||||
animation = &"院长呼吸"
|
||||
frame = 1
|
||||
action_configs = Array[Dictionary]([{
|
||||
"animation_intro": "院长翻书",
|
||||
"animation_next": "院长呼吸",
|
||||
@ -810,7 +813,6 @@ scale = Vector2(0.8, 0.8)
|
||||
sprite_frames = ExtResource("15_wtosl")
|
||||
animation = &"gif"
|
||||
autoplay = "gif"
|
||||
frame = 1
|
||||
centered = false
|
||||
offset = Vector2(0, -159)
|
||||
|
||||
|
@ -432,6 +432,7 @@ position = Vector2(953, 42)
|
||||
sprite_frames = ExtResource("11_o1qbs")
|
||||
animation = &"c00_头套小婵_run"
|
||||
autoplay = "c00_头套小婵_idle"
|
||||
frame = 3
|
||||
move_configs = Array[Dictionary]([{
|
||||
"animation": "c00_头套小婵_run",
|
||||
"animation_next": "",
|
||||
@ -785,6 +786,7 @@ position = Vector2(29, -3)
|
||||
sprite_frames = ExtResource("34_1tart")
|
||||
animation = &"小婵_被霸凌"
|
||||
autoplay = "小婵_被霸凌"
|
||||
frame = 1
|
||||
|
||||
[node name="f1" parent="Ground/DeployLayer/霸凌" instance=ExtResource("33_ycojw")]
|
||||
z_index = 10
|
||||
@ -792,7 +794,7 @@ position = Vector2(-11, 1)
|
||||
sprite_frames = ExtResource("34_1tart")
|
||||
animation = &"霸凌1"
|
||||
autoplay = "霸凌1"
|
||||
frame = 6
|
||||
frame = 4
|
||||
|
||||
[node name="Sfx2D霸凌童谣" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/霸凌/f1"]
|
||||
process_mode = 1
|
||||
@ -810,7 +812,7 @@ position = Vector2(23, 11)
|
||||
sprite_frames = ExtResource("34_1tart")
|
||||
animation = &"霸凌2"
|
||||
autoplay = "霸凌2"
|
||||
frame = 4
|
||||
frame = 9
|
||||
|
||||
[node name="f3" parent="Ground/DeployLayer/霸凌" instance=ExtResource("33_ycojw")]
|
||||
z_index = 10
|
||||
@ -818,7 +820,7 @@ position = Vector2(57, 7)
|
||||
sprite_frames = ExtResource("34_1tart")
|
||||
animation = &"霸凌3"
|
||||
autoplay = "霸凌3"
|
||||
frame = 1
|
||||
frame = 2
|
||||
|
||||
[node name="Ambush点火游戏阻挡右移" parent="Ground/DeployLayer/霸凌" instance=ExtResource("25_iyaiw")]
|
||||
position = Vector2(-116, -13)
|
||||
@ -1007,7 +1009,6 @@ position = Vector2(2229, 41)
|
||||
sprite_frames = ExtResource("34_1tart")
|
||||
animation = &"霸凌3-发抖"
|
||||
autoplay = "霸凌3-发抖"
|
||||
frame = 1
|
||||
|
||||
[node name="Pro小孩喊着火啦3" parent="Ground/DeployLayer/火灾" instance=ExtResource("33_ycojw")]
|
||||
z_index = 9
|
||||
@ -1066,6 +1067,7 @@ z_index = 5
|
||||
position = Vector2(17, -11)
|
||||
sprite_frames = ExtResource("39_rnk1v")
|
||||
animation = &"吕萍牵手动作"
|
||||
frame = 3
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Ground/DeployLayer/火灾/牵手跑"]
|
||||
shape = SubResource("RectangleShape2D_vddfx")
|
||||
|
@ -138,9 +138,24 @@ func _on_ball_game_exit(success = null):
|
||||
ball_game_boys_ambush.enabled = false
|
||||
ball_game_boys_ambush.visible = false
|
||||
|
||||
func _toggle_candles(show: bool) -> void:
|
||||
var candles = $"../DeployLayer/楼梯蜡烛"
|
||||
var lights = candles.get_children()
|
||||
if show:
|
||||
var tween = create_tween()
|
||||
tween.tween_property(candles, "modulate:a", 1.0, 1.0)
|
||||
for light in lights:
|
||||
tween.parallel().tween_property(light, "energy", 1.2, 1.0)
|
||||
else:
|
||||
candles.modulate.a = 0.0
|
||||
for light in lights:
|
||||
light.energy = 0.0
|
||||
|
||||
|
||||
|
||||
# 第一章火灾结束,尾声演出
|
||||
func _c02_final_show():
|
||||
_toggle_candles(false)
|
||||
var player = SceneManager.get_player()
|
||||
player.set_facing_direction(Vector2(-1, 0))
|
||||
player.update_x_with_camera_followed(650.0)
|
||||
@ -172,16 +187,18 @@ func _on_exit_final_show(_arg):
|
||||
c02_final_layer.get_node("小蝉").play("小婵捂脸")
|
||||
c02_final_layer.get_node("胖子").play("胖子呼吸")
|
||||
c02_final_layer.get_node("瞎子").play("方瞎子呼吸-右")
|
||||
await get_tree().create_timer(1.0).timeout
|
||||
await get_tree().create_timer(3.0).timeout
|
||||
$"../DeployLayer/c02_final/瞎子/Sfx2D脚步声".play()
|
||||
await animation_finished
|
||||
c02_final_layer.queue_free()
|
||||
|
||||
_toggle_candles(true)
|
||||
await Util.wait(0.5)
|
||||
|
||||
# 小蝉上楼后开启第二章
|
||||
var xxdie = $"../DeployLayer/Pro小小蝶上楼" as AnimatedSprite2D
|
||||
xxdie.play("小小小蝶动画(跑)")
|
||||
xxdie.get_node("Sfx2D脚步声").play()
|
||||
#跑
|
||||
await xxdie.animation_changed
|
||||
SceneManager.get_player().set_facing_direction(Vector2.RIGHT)
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=63 format=3 uid="uid://cootarwb44vvh"]
|
||||
[gd_scene load_steps=65 format=3 uid="uid://cootarwb44vvh"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_qkymk"]
|
||||
[ext_resource type="Script" uid="uid://cbt0ubygchxvv" path="res://scene/ground/scene/c02/s06_二楼.gd" id="2_4dg6u"]
|
||||
@ -26,6 +26,7 @@
|
||||
[ext_resource type="SpriteFrames" uid="uid://c218xrr85jdc7" path="res://asset/art/gif/c03_小小小蝶上楼道/c03_小小小蝶上楼道_frames.tres" id="13_6iuix"]
|
||||
[ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/audio/sfx2d.gd" id="14_7x2h6"]
|
||||
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="14_k01ve"]
|
||||
[ext_resource type="AudioStream" uid="uid://oya48ab6e3ye" path="res://asset/audio/sfx/旧版/child/小孩从远到近跑步.wav" id="14_lipxo"]
|
||||
[ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/c02_杂项_frames.tres" id="14_och2w"]
|
||||
[ext_resource type="SpriteFrames" uid="uid://b0icyhxpj16tv" path="res://asset/art/gif/c02_谢幕演出/c02_谢幕演出_frames.tres" id="15_k01ve"]
|
||||
[ext_resource type="Texture2D" uid="uid://1pr32tkx4ttl" path="res://asset/art/scene/c02/s03_公寓一楼院子/e_煤油灯座.png" id="16_osg51"]
|
||||
@ -835,6 +836,10 @@ animations = [{
|
||||
"speed": 10.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2rktm"]
|
||||
resource_local_to_scene = true
|
||||
size = Vector2(20, 400)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_lh55k"]
|
||||
resource_local_to_scene = true
|
||||
size = Vector2(20, 70)
|
||||
@ -895,7 +900,7 @@ script = ExtResource("2_4dg6u")
|
||||
debug_global_data = Dictionary[String, Variant]({
|
||||
"c02_2f_xchan_run_away": 0,
|
||||
"c02_ball_game_stage": 1,
|
||||
"c02_burning_end_stage": 2,
|
||||
"c02_burning_end_stage": 1,
|
||||
"c02_madman_hitwall": false,
|
||||
"c02_mouse_follow_player": false,
|
||||
"c02_pliers_to_ball": false,
|
||||
@ -1006,62 +1011,62 @@ prop_key = "prop_2014钥匙"
|
||||
|
||||
[node name="楼梯蜡烛" type="Node2D" parent="Ground/DeployLayer" index="5"]
|
||||
|
||||
[node name="小蜡烛" type="AnimatedSprite2D" parent="Ground/DeployLayer/楼梯蜡烛"]
|
||||
self_modulate = Color(0.611765, 0.611765, 0.611765, 1)
|
||||
position = Vector2(777.8, -35.3828)
|
||||
sprite_frames = SubResource("SpriteFrames_lipxo")
|
||||
autoplay = "default"
|
||||
|
||||
[node name="小蜡烛PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/楼梯蜡烛/小蜡烛"]
|
||||
position = Vector2(0, -12.8172)
|
||||
[node name="小蜡烛PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/楼梯蜡烛"]
|
||||
position = Vector2(777.8, -48.2)
|
||||
color = Color(0.999971, 0.912551, 0.842208, 1)
|
||||
energy = 1.2
|
||||
blend_mode = 2
|
||||
texture = ExtResource("11_2rktm")
|
||||
texture_scale = 0.3
|
||||
|
||||
[node name="小蜡烛2" type="AnimatedSprite2D" parent="Ground/DeployLayer/楼梯蜡烛"]
|
||||
[node name="小蜡烛" type="AnimatedSprite2D" parent="Ground/DeployLayer/楼梯蜡烛/小蜡烛PointLight2D"]
|
||||
self_modulate = Color(0.611765, 0.611765, 0.611765, 1)
|
||||
position = Vector2(823, -6)
|
||||
position = Vector2(0, 12.8172)
|
||||
sprite_frames = SubResource("SpriteFrames_lipxo")
|
||||
autoplay = "default"
|
||||
|
||||
[node name="小蜡烛PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/楼梯蜡烛/小蜡烛2"]
|
||||
position = Vector2(0, -12.8172)
|
||||
[node name="小蜡烛PointLight2D2" type="PointLight2D" parent="Ground/DeployLayer/楼梯蜡烛"]
|
||||
position = Vector2(823, -18.8172)
|
||||
color = Color(0.999971, 0.912551, 0.842208, 1)
|
||||
energy = 1.2
|
||||
blend_mode = 2
|
||||
texture = ExtResource("11_2rktm")
|
||||
texture_scale = 0.3
|
||||
|
||||
[node name="小蜡烛3" type="AnimatedSprite2D" parent="Ground/DeployLayer/楼梯蜡烛"]
|
||||
[node name="小蜡烛2" type="AnimatedSprite2D" parent="Ground/DeployLayer/楼梯蜡烛/小蜡烛PointLight2D2"]
|
||||
self_modulate = Color(0.611765, 0.611765, 0.611765, 1)
|
||||
position = Vector2(774, 3)
|
||||
position = Vector2(0, 12.8172)
|
||||
sprite_frames = SubResource("SpriteFrames_lipxo")
|
||||
autoplay = "default"
|
||||
|
||||
[node name="小蜡烛PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/楼梯蜡烛/小蜡烛3"]
|
||||
position = Vector2(0, -12.8172)
|
||||
[node name="小蜡烛PointLight2D3" type="PointLight2D" parent="Ground/DeployLayer/楼梯蜡烛"]
|
||||
position = Vector2(774, -9.8172)
|
||||
color = Color(0.999971, 0.912551, 0.842208, 1)
|
||||
energy = 1.2
|
||||
blend_mode = 2
|
||||
texture = ExtResource("11_2rktm")
|
||||
texture_scale = 0.3
|
||||
|
||||
[node name="小蜡烛4" type="AnimatedSprite2D" parent="Ground/DeployLayer/楼梯蜡烛"]
|
||||
[node name="小蜡烛3" type="AnimatedSprite2D" parent="Ground/DeployLayer/楼梯蜡烛/小蜡烛PointLight2D3"]
|
||||
self_modulate = Color(0.611765, 0.611765, 0.611765, 1)
|
||||
position = Vector2(824, 56)
|
||||
position = Vector2(0, 12.8172)
|
||||
sprite_frames = SubResource("SpriteFrames_lipxo")
|
||||
autoplay = "default"
|
||||
|
||||
[node name="小蜡烛PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/楼梯蜡烛/小蜡烛4"]
|
||||
position = Vector2(0, -12.8172)
|
||||
[node name="小蜡烛PointLight2D4" type="PointLight2D" parent="Ground/DeployLayer/楼梯蜡烛"]
|
||||
position = Vector2(824, 43.1828)
|
||||
color = Color(0.999971, 0.912551, 0.842208, 1)
|
||||
energy = 1.2
|
||||
blend_mode = 2
|
||||
texture = ExtResource("11_2rktm")
|
||||
texture_scale = 0.3
|
||||
|
||||
[node name="小蜡烛4" type="AnimatedSprite2D" parent="Ground/DeployLayer/楼梯蜡烛/小蜡烛PointLight2D4"]
|
||||
self_modulate = Color(0.611765, 0.611765, 0.611765, 1)
|
||||
position = Vector2(0, 12.8172)
|
||||
sprite_frames = SubResource("SpriteFrames_lipxo")
|
||||
autoplay = "default"
|
||||
|
||||
[node name="Pro小小蝶上楼" parent="Ground/DeployLayer" index="6" instance=ExtResource("10_p6da7")]
|
||||
position = Vector2(953, 30)
|
||||
sprite_frames = ExtResource("13_6iuix")
|
||||
@ -1078,13 +1083,28 @@ move_configs = Array[Dictionary]([{
|
||||
}])
|
||||
debug_mov_animation = "小小小蝶动画(跑)"
|
||||
|
||||
[node name="Sfx2D脚步声" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/Pro小小蝶上楼"]
|
||||
process_mode = 1
|
||||
stream = ExtResource("14_lipxo")
|
||||
max_distance = 1000.0
|
||||
attenuation = 1.31951
|
||||
bus = &"game_sfx"
|
||||
script = ExtResource("14_7x2h6")
|
||||
metadata/_custom_type_script = "uid://wapo47a1oddf"
|
||||
|
||||
[node name="Note楼梯杂物堆" parent="Ground/DeployLayer" index="7" instance=ExtResource("10_h3h1a")]
|
||||
position = Vector2(801, -77)
|
||||
texture = ExtResource("7_v3hjg")
|
||||
sign_mark_offset = Vector2(0, 12.34)
|
||||
sign_mark_offset = Vector2(0, 1.47)
|
||||
title_filter = "c02"
|
||||
note_key = "c02_二楼楼梯杂物堆"
|
||||
|
||||
[node name="Sign" parent="Ground/DeployLayer/Note楼梯杂物堆" index="1"]
|
||||
sign_mark_offset = Vector2(0, 1.47)
|
||||
|
||||
[node name="CollisionShape2D" parent="Ground/DeployLayer/Note楼梯杂物堆/Area2D" index="0"]
|
||||
shape = SubResource("RectangleShape2D_2rktm")
|
||||
|
||||
[node name="煤油灯" parent="Ground/DeployLayer" index="8" instance=ExtResource("5_3p5ta")]
|
||||
position = Vector2(616, -14)
|
||||
ground_light_texture = ExtResource("8_7x2h6")
|
||||
@ -1220,8 +1240,7 @@ autostart = false
|
||||
action_configs = Array[Dictionary]([{
|
||||
"animation_intro": &"胖子呼吸",
|
||||
&"animation_next": "胖子走路",
|
||||
"animation_wait_time": 0.0,
|
||||
&"intro_loop": 6
|
||||
&"intro_loop": 5
|
||||
}])
|
||||
move_configs = Array[Dictionary]([{
|
||||
"animation": "胖子走路",
|
||||
@ -1248,14 +1267,11 @@ animation = &"小婵捂脸"
|
||||
autostart = false
|
||||
action_configs = Array[Dictionary]([{
|
||||
"animation_intro": "小婵捂脸",
|
||||
&"animation_next": "小婵呼吸",
|
||||
"animation_wait_time": 0.0,
|
||||
"intro_loop": 1
|
||||
&"animation_next": "小婵呼吸"
|
||||
}, {
|
||||
"animation_intro": &"小婵呼吸",
|
||||
&"animation_next": "小婵走路",
|
||||
"animation_wait_time": 0.0,
|
||||
&"intro_loop": 8
|
||||
&"intro_loop": 7
|
||||
}])
|
||||
move_configs = Array[Dictionary]([{
|
||||
"animation": "小婵走路",
|
||||
@ -1276,8 +1292,7 @@ autostart = false
|
||||
action_configs = Array[Dictionary]([{
|
||||
"animation_intro": &"方瞎子呼吸-右",
|
||||
&"animation_next": "方瞎子走路-左",
|
||||
"animation_wait_time": 0.0,
|
||||
&"intro_loop": 7
|
||||
&"intro_loop": 6
|
||||
}])
|
||||
move_configs = Array[Dictionary]([{
|
||||
"animation": "方瞎子走路-左",
|
||||
@ -1394,5 +1409,6 @@ energy = 0.9
|
||||
blend_mode = 1
|
||||
|
||||
[editable path="Ground"]
|
||||
[editable path="Ground/DeployLayer/Note楼梯杂物堆"]
|
||||
[editable path="Ground/DeployLayer/煤油灯"]
|
||||
[editable path="Ground/DeployLayer/Interactable老鼠洞"]
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=56 format=4 uid="uid://ryups1dnwdto"]
|
||||
[gd_scene load_steps=58 format=4 uid="uid://ryups1dnwdto"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_o0m5w"]
|
||||
[ext_resource type="Script" uid="uid://beqnywn1dlnax" path="res://scene/ground/scene/c02/s09_裂缝.gd" id="2_34a6f"]
|
||||
@ -170,6 +170,18 @@ fill = 1
|
||||
fill_from = Vector2(0.5, 0.5)
|
||||
fill_to = Vector2(1, 1)
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_dv46s"]
|
||||
offsets = PackedFloat32Array(0, 0.713622, 1)
|
||||
colors = PackedColorArray(1, 1, 1, 1, 0.831373, 0.831373, 0.831373, 0, 1, 1, 1, 0)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_4uwnc"]
|
||||
gradient = SubResource("Gradient_dv46s")
|
||||
width = 200
|
||||
height = 200
|
||||
fill = 1
|
||||
fill_from = Vector2(0.5, 0.5)
|
||||
fill_to = Vector2(1, 1)
|
||||
|
||||
[node name="S09" type="Node2D"]
|
||||
metadata/_edit_horizontal_guides_ = [-120.0]
|
||||
|
||||
@ -184,7 +196,7 @@ debug_global_data = Dictionary[String, Variant]({
|
||||
"c02_counter_pushed_out": false,
|
||||
"c02_counter_x": 100.0,
|
||||
"enabled_items": {},
|
||||
"player_x": 4500.0
|
||||
"player_x": 2000.0
|
||||
})
|
||||
debug_ground_data = Dictionary[String, Variant]({
|
||||
"Ambush剪影指天": {
|
||||
@ -731,7 +743,7 @@ texture = ExtResource("16_7mvsg")
|
||||
position = Vector2(637.5, -19)
|
||||
sprite_frames = ExtResource("21_kpfk1")
|
||||
animation = &"剪影人物床_呼吸"
|
||||
frame = 3
|
||||
frame = 2
|
||||
action_configs = Array[Dictionary]([{
|
||||
"animation_intro": "剪影人物床_指天",
|
||||
&"animation_next": "剪影人物床_指天呼吸",
|
||||
@ -857,45 +869,73 @@ energy = 1.7
|
||||
range_item_cull_mask = 5
|
||||
texture = SubResource("GradientTexture2D_xbdgx")
|
||||
|
||||
[node name="PointLight2D锅打光" type="PointLight2D" parent="Ground/AmbientLayer" index="7"]
|
||||
[node name="PointLight2D周边眼睛打光" type="PointLight2D" parent="Ground/AmbientLayer" index="7"]
|
||||
position = Vector2(1893, -66)
|
||||
color = Color(0.955664, 0.335062, 0.346781, 1)
|
||||
energy = 0.7
|
||||
range_item_cull_mask = 5
|
||||
texture = SubResource("GradientTexture2D_4uwnc")
|
||||
|
||||
[node name="PointLight2D周边眼睛打光2" type="PointLight2D" parent="Ground/AmbientLayer" index="8"]
|
||||
position = Vector2(1684, -30)
|
||||
color = Color(0.955664, 0.335062, 0.346781, 1)
|
||||
energy = 0.7
|
||||
range_item_cull_mask = 5
|
||||
texture = SubResource("GradientTexture2D_4uwnc")
|
||||
|
||||
[node name="PointLight2D周边眼睛打光3" type="PointLight2D" parent="Ground/AmbientLayer" index="9"]
|
||||
position = Vector2(1425, -29)
|
||||
color = Color(0.955664, 0.335062, 0.346781, 1)
|
||||
energy = 0.7
|
||||
range_item_cull_mask = 5
|
||||
texture = SubResource("GradientTexture2D_4uwnc")
|
||||
|
||||
[node name="PointLight2D周边眼睛打光4" type="PointLight2D" parent="Ground/AmbientLayer" index="10"]
|
||||
position = Vector2(1217, -49)
|
||||
color = Color(0.955664, 0.335062, 0.346781, 1)
|
||||
energy = 0.7
|
||||
range_item_cull_mask = 5
|
||||
texture = SubResource("GradientTexture2D_4uwnc")
|
||||
|
||||
[node name="PointLight2D锅打光" type="PointLight2D" parent="Ground/AmbientLayer" index="11"]
|
||||
position = Vector2(2447, -69)
|
||||
range_item_cull_mask = 2
|
||||
texture = ExtResource("32_dv46s")
|
||||
texture_scale = 1.5
|
||||
|
||||
[node name="PointLight2D独立打光" type="PointLight2D" parent="Ground/AmbientLayer" index="8"]
|
||||
[node name="PointLight2D独立打光" type="PointLight2D" parent="Ground/AmbientLayer" index="12"]
|
||||
position = Vector2(2440, -45)
|
||||
color = Color(0.854488, 0.195138, 0.240125, 1)
|
||||
range_item_cull_mask = 32
|
||||
texture = ExtResource("32_dv46s")
|
||||
|
||||
[node name="PointLight2D独立打光3" type="PointLight2D" parent="Ground/AmbientLayer" index="9"]
|
||||
[node name="PointLight2D独立打光3" type="PointLight2D" parent="Ground/AmbientLayer" index="13"]
|
||||
position = Vector2(669, -45)
|
||||
color = Color(0.854488, 0.195138, 0.240125, 1)
|
||||
energy = 1.9
|
||||
range_item_cull_mask = 5
|
||||
texture = ExtResource("32_dv46s")
|
||||
|
||||
[node name="PointLight2D独立打光4" type="PointLight2D" parent="Ground/AmbientLayer" index="10"]
|
||||
[node name="PointLight2D独立打光4" type="PointLight2D" parent="Ground/AmbientLayer" index="14"]
|
||||
position = Vector2(318, -36)
|
||||
color = Color(0.854488, 0.195138, 0.240125, 1)
|
||||
energy = 2.5
|
||||
range_item_cull_mask = 5
|
||||
texture = ExtResource("32_dv46s")
|
||||
|
||||
[node name="ParticalsAsh" parent="Ground/AmbientLayer" index="11" instance=ExtResource("7_4a1t6")]
|
||||
[node name="ParticalsAsh" parent="Ground/AmbientLayer" index="15" instance=ExtResource("7_4a1t6")]
|
||||
position = Vector2(1091, 1)
|
||||
|
||||
[node name="ParticalsAsh2" parent="Ground/AmbientLayer" index="12" instance=ExtResource("7_4a1t6")]
|
||||
[node name="ParticalsAsh2" parent="Ground/AmbientLayer" index="16" instance=ExtResource("7_4a1t6")]
|
||||
position = Vector2(1715, 5)
|
||||
|
||||
[node name="ParticalsAsh3" parent="Ground/AmbientLayer" index="13" instance=ExtResource("7_4a1t6")]
|
||||
[node name="ParticalsAsh3" parent="Ground/AmbientLayer" index="17" instance=ExtResource("7_4a1t6")]
|
||||
position = Vector2(2622, -9)
|
||||
|
||||
[node name="ParticalsAsh5" parent="Ground/AmbientLayer" index="14" instance=ExtResource("7_4a1t6")]
|
||||
[node name="ParticalsAsh5" parent="Ground/AmbientLayer" index="18" instance=ExtResource("7_4a1t6")]
|
||||
position = Vector2(2782, -7)
|
||||
|
||||
[node name="ParticalsAsh4" parent="Ground/AmbientLayer" index="15" instance=ExtResource("7_4a1t6")]
|
||||
[node name="ParticalsAsh4" parent="Ground/AmbientLayer" index="19" instance=ExtResource("7_4a1t6")]
|
||||
position = Vector2(2987, -12)
|
||||
|
||||
[node name="MainPlayer" parent="Ground" index="5"]
|
||||
@ -927,7 +967,6 @@ position = Vector2(3421, 25)
|
||||
points = PackedVector2Array(80, 150, 4500.93, 150)
|
||||
|
||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
||||
visible = false
|
||||
energy = 0.7
|
||||
blend_mode = 1
|
||||
|
||||
|
@ -63,9 +63,14 @@ animation = &"猫钻进盒子"
|
||||
[node name="MainPlayer" parent="Ground" index="5"]
|
||||
position = Vector2(232, 71)
|
||||
character = "盒子猫"
|
||||
player_movement_rect = Rect2(37, -158, 363, 316)
|
||||
facing_direction = Vector2(1, 0)
|
||||
|
||||
[node name="CameraFocusMarker" parent="Ground" index="6"]
|
||||
limit_left = 0
|
||||
limit_top = -158
|
||||
limit_right = 564
|
||||
limit_bottom = 158
|
||||
force_offset = Vector2(-20, 0)
|
||||
|
||||
[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"]
|
||||
@ -75,6 +80,7 @@ position = Vector2(3584, -7)
|
||||
points = PackedVector2Array(37, 150, 400, 150)
|
||||
|
||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
||||
energy = 0.7
|
||||
blend_mode = 1
|
||||
|
||||
[node name="盒子猫CanvasLayer" parent="Ground" instance=ExtResource("4_vv3sh")]
|
||||
|
@ -32,8 +32,7 @@ func _on_area_entered(_body):
|
||||
var tween = create_tween()
|
||||
tween.tween_property(label, "position:y", 3.0, 0.6).set_trans(Tween.TRANS_BOUNCE)
|
||||
tween.tween_property(label, "position:y", 0.0, 0.6).set_trans(Tween.TRANS_BOUNCE)
|
||||
tween.set_loops(10)
|
||||
create_tween().tween_property(label, "modulate:a", 0.0, 8.0)
|
||||
tween.set_loops(1000)
|
||||
|
||||
func _update_text():
|
||||
label.text = "[pulse ease=2.0 freq=2 color=#000000cf] " + tr(key)
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
extends RigidBody2D
|
||||
|
||||
signal hit_ball
|
||||
signal hit_ball_callback
|
||||
signal hit_ball_touched
|
||||
signal hit_ball_finished
|
||||
signal hit_boundary
|
||||
|
||||
@export_enum("1", "2", "3", "4", "5", "6", "7") var id := "1":
|
||||
@ -61,6 +61,7 @@ func hide_away():
|
||||
visible = false
|
||||
collision_shape.disabled = true
|
||||
|
||||
|
||||
func ease_out():
|
||||
collision_shape.disabled = true
|
||||
create_tween().tween_property(self, "modulate:a", 0.0, 0.5)
|
||||
@ -77,27 +78,39 @@ func _set_up_texture():
|
||||
sprite2d.texture = texture_dict[id]
|
||||
|
||||
|
||||
var recycling = false
|
||||
var shoot_count := 0
|
||||
var shooted_instances = {}
|
||||
|
||||
|
||||
func _on_body_entered(node: Node):
|
||||
if GlobalConfig.DEBUG:
|
||||
print("[debug] hit node", node.get_path())
|
||||
if recycling or not is_shooter:
|
||||
if not is_shooter:
|
||||
return
|
||||
recycling = true
|
||||
var tween = create_tween()
|
||||
var tween
|
||||
if node is StaticBody2D:
|
||||
tween.tween_property(self, "modulate:a", 0.0, 1.0)
|
||||
tween.tween_callback(hit_boundary.emit)
|
||||
tween.tween_callback(queue_free)
|
||||
if shoot_count == 0:
|
||||
tween = create_tween()
|
||||
tween.tween_property(self, "modulate:a", 0.0, 1.0)
|
||||
tween.tween_callback(hit_boundary.emit)
|
||||
tween.tween_callback(queue_free)
|
||||
return
|
||||
hit_ball.emit()
|
||||
# 过滤抖动/重复碰撞
|
||||
var instance_id = node.get_instance_id()
|
||||
if shooted_instances.has(instance_id):
|
||||
return
|
||||
print("[debug] first hit node", node.get_path())
|
||||
shooted_instances[instance_id] = true
|
||||
shoot_count += 1
|
||||
hit_ball_touched.emit()
|
||||
tween = create_tween()
|
||||
tween.tween_property(self, "modulate:a", 0.0, 1.5)
|
||||
tween.parallel().tween_property(node, "modulate:a", 0.0, 1.5)
|
||||
tween.tween_callback(hit_ball_callback.emit)
|
||||
tween.tween_callback(hit_ball_finished.emit)
|
||||
tween.tween_callback(node.queue_free)
|
||||
tween.tween_callback(queue_free)
|
||||
print("[ball] shoot count: ", shoot_count)
|
||||
if shoot_count >= 3:
|
||||
#TODO 连续射中三个成就
|
||||
pass
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
|
@ -128,8 +128,8 @@ func reload_hand_ball() -> void:
|
||||
pivot.move_child(ball, 0)
|
||||
ball.name = "Ball"
|
||||
# ball.rand_id()
|
||||
ball.hit_ball.connect(_on_hit_ball)
|
||||
ball.hit_ball_callback.connect(_on_hit_ball_callback)
|
||||
ball.hit_ball_touched.connect(_on_hit_ball)
|
||||
ball.hit_ball_finished.connect(_on_hit_ball_finished)
|
||||
ball.hit_boundary.connect(_on_hit_boundary)
|
||||
|
||||
|
||||
@ -198,7 +198,7 @@ func _on_hit_ball():
|
||||
sfx_shoot.stop()
|
||||
|
||||
|
||||
func _on_hit_ball_callback():
|
||||
func _on_hit_ball_finished():
|
||||
reload_hand_ball()
|
||||
hit_count += 1
|
||||
if round_id == 0:
|
||||
|
@ -48,3 +48,6 @@ func tween_vignette(ratio := 0.5, duration := 0.3, color := Color.RED):
|
||||
vignette_tween.parallel().tween_property(
|
||||
vignette.material, "shader_parameter/vignette_rgb", color, duration
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user