胖子游戏与结束演出调整
@ -167,16 +167,16 @@ animations = [{
|
||||
"speed": 30.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 6.0,
|
||||
"duration": 10.0,
|
||||
"texture": ExtResource("1_iydkj")
|
||||
}, {
|
||||
"duration": 6.0,
|
||||
"duration": 3.0,
|
||||
"texture": ExtResource("2_sim85")
|
||||
}, {
|
||||
"duration": 6.0,
|
||||
"duration": 3.0,
|
||||
"texture": ExtResource("3_xdst7")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"砍桌子",
|
||||
"speed": 30.0
|
||||
"speed": 10.0
|
||||
}]
|
||||
|
@ -1,11 +1,13 @@
|
||||
[gd_resource type="SpriteFrames" load_steps=30 format=3 uid="uid://cay6bn3elw2we"]
|
||||
[gd_resource type="SpriteFrames" load_steps=32 format=3 uid="uid://cay6bn3elw2we"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://um557l21w78m" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/0.png" id="1_y0wgn"]
|
||||
[ext_resource type="Texture2D" uid="uid://b8wu67ifftltb" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/1.png" id="2_bhhdr"]
|
||||
[ext_resource type="Texture2D" uid="uid://byctugr2xp3l6" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/2.png" id="3_qliiw"]
|
||||
[ext_resource type="Texture2D" uid="uid://ckanwws8e2uc8" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/3.png" id="4_d5j5j"]
|
||||
[ext_resource type="Texture2D" uid="uid://bussftn72ld3j" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/4.png" id="5_ny0qt"]
|
||||
[ext_resource type="Texture2D" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/0.png" id="1_y0wgn"]
|
||||
[ext_resource type="Texture2D" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/1.png" id="2_bhhdr"]
|
||||
[ext_resource type="Texture2D" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/2.png" id="3_qliiw"]
|
||||
[ext_resource type="Texture2D" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/3.png" id="4_d5j5j"]
|
||||
[ext_resource type="Texture2D" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/4.png" id="5_ny0qt"]
|
||||
[ext_resource type="Texture2D" uid="uid://bv6hdx4jyxxje" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/瘦子动画/0.png" id="6_lidiq"]
|
||||
[ext_resource type="Texture2D" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/5.png" id="6_ysb2i"]
|
||||
[ext_resource type="Texture2D" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/6.png" id="7_onlwn"]
|
||||
[ext_resource type="Texture2D" uid="uid://fp02vc1vsora" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/瘦子动画/1.png" id="7_r41sx"]
|
||||
[ext_resource type="Texture2D" uid="uid://bsak503ev0aeg" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/瘦子动画/2.png" id="8_y5alp"]
|
||||
[ext_resource type="Texture2D" uid="uid://bh1hphpvv4aj4" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/瘦子动画/3.png" id="9_eiloc"]
|
||||
@ -47,8 +49,14 @@ animations = [{
|
||||
}, {
|
||||
"duration": 6.0,
|
||||
"texture": ExtResource("5_ny0qt")
|
||||
}, {
|
||||
"duration": 6.0,
|
||||
"texture": ExtResource("6_ysb2i")
|
||||
}, {
|
||||
"duration": 6.0,
|
||||
"texture": ExtResource("7_onlwn")
|
||||
}],
|
||||
"loop": false,
|
||||
"loop": true,
|
||||
"name": &"掉下来",
|
||||
"speed": 30.0
|
||||
}, {
|
||||
|
Before Width: | Height: | Size: 777 B After Width: | Height: | Size: 485 B |
@ -2,7 +2,7 @@
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://um557l21w78m"
|
||||
uid="uid://nx85sv67fquy"
|
||||
path="res://.godot/imported/0.png-738ec7029f655315530f9474e97f48af.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
|
Before Width: | Height: | Size: 375 B After Width: | Height: | Size: 834 B |
@ -2,7 +2,7 @@
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b8wu67ifftltb"
|
||||
uid="uid://c1gky0rn2e8ts"
|
||||
path="res://.godot/imported/1.png-f89311fe887e318b9f958032712bc4bf.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
|
Before Width: | Height: | Size: 536 B After Width: | Height: | Size: 834 B |
@ -2,7 +2,7 @@
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://byctugr2xp3l6"
|
||||
uid="uid://dbhahy0fsy0vg"
|
||||
path="res://.godot/imported/2.png-43ad04e39127c3fff4d74432152757e5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
|
Before Width: | Height: | Size: 619 B After Width: | Height: | Size: 428 B |
@ -2,7 +2,7 @@
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ckanwws8e2uc8"
|
||||
uid="uid://v33lw03ssck6"
|
||||
path="res://.godot/imported/3.png-d760e5bb26a5b6440b955c8d53ae8654.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
|
Before Width: | Height: | Size: 767 B After Width: | Height: | Size: 589 B |
@ -2,7 +2,7 @@
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bussftn72ld3j"
|
||||
uid="uid://d0pwwfg0hamba"
|
||||
path="res://.godot/imported/4.png-d8b3820ac2b093a1bc71815372e0042f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
|
BIN
asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/5.png
Normal file
After Width: | Height: | Size: 672 B |
34
asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/5.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bjgmruu0tb1p4"
|
||||
path="res://.godot/imported/5.png-6cbd53446d76b99924648d09b57dd48e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/5.png"
|
||||
dest_files=["res://.godot/imported/5.png-6cbd53446d76b99924648d09b57dd48e.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/c03_胖子游戏/c03_胖子游戏第一段/掉下来/6.png
Normal file
After Width: | Height: | Size: 832 B |
34
asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/6.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bk0s2d576hrf7"
|
||||
path="res://.godot/imported/6.png-2cc0c52f96a43cd170518cba245d8f57.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/6.png"
|
||||
dest_files=["res://.godot/imported/6.png-2cc0c52f96a43cd170518cba245d8f57.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
|
@ -33,7 +33,7 @@ c03_prison_lock: 0:初始化 1:打开
|
||||
# 棺材房
|
||||
c03_coffin: 0:初始化 1:拿走刀 2:拿走纸条_棺材怪演出 3:演出完成
|
||||
# 绞肉机
|
||||
c03_meat_grinder: 0:初始化 1:已装转盘 2:绞肉机演出 3:演出结束
|
||||
c03_meat_grinder: 0:初始化 1:已装转盘 2:胖子游戏结束 3:绞肉机演出 4:演出结束
|
||||
# 结尾井边演出
|
||||
c03_well_show: 0:初始化 1:准备演出 2:演出完成
|
||||
=> END
|
||||
|
@ -369,8 +369,9 @@
|
||||
# s06 胖子卧室
|
||||
没贴的寻人启事 [ID:c03_s06_没贴的寻人启事]
|
||||
# s07 屠宰间
|
||||
绑得很死,直接解不开绳子。 [ID:c03_s08_囚室绳子]
|
||||
张文开...文开...{br}方...小蝉...{br}绞肉机... [ID:c03_s07_胖子游戏结束]
|
||||
# s08 囚室
|
||||
绑得很死,直接解不开绳子。 [ID:c03_s08_囚室绳子]
|
||||
?这里是 [ID:c03_s08_囚室醒过来]
|
||||
?又是脚印 [ID:c03_s08_囚室看到脚印]
|
||||
妖物者,本自造化而生,具灵识,知求生,与万类本无别。人言有异,是以别之。 [ID:c03_s08_囚室符纸]
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_resource type="SpriteFrames" load_steps=1051 format=3 uid="uid://b7fhheih1hbvf"]
|
||||
[gd_resource type="SpriteFrames" load_steps=1053 format=3 uid="uid://b7fhheih1hbvf"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dvq64espa37lx" path="res://asset/art/animation/c00_吕萍_idle_left/zhhx1.png" id="1_ekv0l"]
|
||||
[ext_resource type="Texture2D" uid="uid://dcp4gk5lib4bl" path="res://asset/art/animation/c00_吕萍_idle_left/zhhx2.png" id="2_fq076"]
|
||||
@ -1005,16 +1005,16 @@
|
||||
[ext_resource type="Texture2D" uid="uid://bx6nlvrn3iifs" path="res://asset/art/animation/c03_胖子_托小孩/1 (122).png" id="970_4td33"]
|
||||
[ext_resource type="Texture2D" uid="uid://ddeuqr6awtlnf" path="res://asset/art/animation/c03_胖子_托小孩/1 (123).png" id="971_xc64a"]
|
||||
[ext_resource type="Texture2D" uid="uid://cxlcsejc8kojo" path="res://asset/art/animation/c03_胖子_托小孩/1 (124).png" id="972_fff22"]
|
||||
[ext_resource type="Texture2D" uid="uid://um557l21w78m" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/0.png" id="1006_ta2dh"]
|
||||
[ext_resource type="Texture2D" uid="uid://nx85sv67fquy" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/0.png" id="1006_ta2dh"]
|
||||
[ext_resource type="Texture2D" uid="uid://snptlmrbmeoq" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第四段/瘦子吃东西/0.png" id="1006_y1qej"]
|
||||
[ext_resource type="Texture2D" uid="uid://b8wu67ifftltb" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/1.png" id="1007_b3oxo"]
|
||||
[ext_resource type="Texture2D" uid="uid://c1gky0rn2e8ts" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/1.png" id="1007_b3oxo"]
|
||||
[ext_resource type="Texture2D" uid="uid://drlnrh4g6djk4" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第四段/瘦子吃东西/1.png" id="1007_e3b0h"]
|
||||
[ext_resource type="Texture2D" uid="uid://cphvnnc0nvv77" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第四段/瘦子吃东西/2.png" id="1008_3cpbr"]
|
||||
[ext_resource type="Texture2D" uid="uid://byctugr2xp3l6" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/2.png" id="1008_ywyre"]
|
||||
[ext_resource type="Texture2D" uid="uid://ckanwws8e2uc8" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/3.png" id="1009_3fbfp"]
|
||||
[ext_resource type="Texture2D" uid="uid://dbhahy0fsy0vg" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/2.png" id="1008_ywyre"]
|
||||
[ext_resource type="Texture2D" uid="uid://v33lw03ssck6" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/3.png" id="1009_3fbfp"]
|
||||
[ext_resource type="Texture2D" uid="uid://b4onq8sds7isc" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第四段/瘦子吃东西/3.png" id="1009_4minp"]
|
||||
[ext_resource type="Texture2D" uid="uid://drkmsb1xjposn" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第四段/瘦子吃东西/4.png" id="1010_1ycs5"]
|
||||
[ext_resource type="Texture2D" uid="uid://bussftn72ld3j" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/4.png" id="1010_ek4fg"]
|
||||
[ext_resource type="Texture2D" uid="uid://d0pwwfg0hamba" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/4.png" id="1010_ek4fg"]
|
||||
[ext_resource type="Texture2D" uid="uid://bshj8w2v0qnaq" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第四段/瘦子吃东西/5.png" id="1011_1o500"]
|
||||
[ext_resource type="Texture2D" uid="uid://dng8sbm17emf6" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第三段/从洞里爬出来动画/0.png" id="1011_hc76m"]
|
||||
[ext_resource type="Texture2D" uid="uid://ch3puhkhsrshg" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/瘦子动画呼吸/0.png" id="1011_mi2dh"]
|
||||
@ -1034,7 +1034,9 @@
|
||||
[ext_resource type="Texture2D" uid="uid://cubrxfcfwo4pw" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/瘦子走路/2.png" id="1017_73bfk"]
|
||||
[ext_resource type="Texture2D" uid="uid://d3e4r1nfhdse2" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/瘦子走路/3.png" id="1018_c1ua6"]
|
||||
[ext_resource type="Texture2D" uid="uid://dsimasqr7vqw3" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第三段/从洞里爬出来动画/7.png" id="1018_o12ts"]
|
||||
[ext_resource type="Texture2D" uid="uid://bjgmruu0tb1p4" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/5.png" id="1019_3cpbr"]
|
||||
[ext_resource type="Texture2D" uid="uid://ck5xbfqvhfql2" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/瘦子走路/4.png" id="1019_ripmy"]
|
||||
[ext_resource type="Texture2D" uid="uid://bk0s2d576hrf7" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/掉下来/6.png" id="1020_4minp"]
|
||||
[ext_resource type="Texture2D" uid="uid://b6w81tk8quyh3" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/瘦子走路/5.png" id="1020_38kbn"]
|
||||
[ext_resource type="Texture2D" uid="uid://bv6hdx4jyxxje" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/瘦子动画/0.png" id="1021_o12ts"]
|
||||
[ext_resource type="Texture2D" uid="uid://fp02vc1vsora" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/瘦子动画/1.png" id="1022_y4xrk"]
|
||||
@ -4722,14 +4724,20 @@ animations = [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("1007_b3oxo")
|
||||
}, {
|
||||
"duration": 6.0,
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("1008_ywyre")
|
||||
}, {
|
||||
"duration": 2.0,
|
||||
"duration": 8.0,
|
||||
"texture": ExtResource("1009_3fbfp")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"duration": 3.0,
|
||||
"texture": ExtResource("1010_ek4fg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("1019_3cpbr")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("1020_4minp")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"c03_胖子游戏_掉下来",
|
||||
|
@ -48,6 +48,8 @@ const CANVAS_LAYER_DIALOG = 22
|
||||
const CANVAS_LAYER_UI = 21
|
||||
# 道具 inspector(prop/local)
|
||||
const CANVAS_LAYER_PROP_INSPECTOR = 20
|
||||
# 黑屏 转场效果
|
||||
const CANVAS_LAYER_TRANSITION = 15
|
||||
# ground loader 转场等 mask 层
|
||||
const CANVAS_LAYER_GROUND_MASK = 14
|
||||
# 特殊全屏效果(无 shading)
|
||||
|
@ -120,7 +120,8 @@ func c02_exit_from_corridor() -> void:
|
||||
|
||||
|
||||
func c03_final_choose_exit() -> void:
|
||||
EventManager.set_stage_if_greater("c03_well_show", 2)
|
||||
# 选择离开的话,不会更新 show stage 状态
|
||||
# EventManager.set_stage_if_greater("c03_well_show", 2)
|
||||
ArchiveManager.set_global_entry("has_exited_by_player_choice", true)
|
||||
# 黑屏播放结束音效后回到主菜单
|
||||
# 如果出公寓做过选择,此处就不出现选择
|
||||
|
@ -511,12 +511,27 @@ func show_black_hand(play_sfx := true, queue_free_delay := 0.0) -> void:
|
||||
var transition_scene = preload("uid://7dxvwqm53ugh")
|
||||
|
||||
|
||||
func black_transition(half_duration := 0.7, wait_time := 0.5) -> void:
|
||||
func black_transition(half_duration := 0.7, wait_time := 0.5) -> CanvasLayer:
|
||||
var scene = transition_scene.instantiate()
|
||||
scene.name = "Transition"
|
||||
await get_tree().process_frame
|
||||
get_tree().current_scene.add_child(scene)
|
||||
scene.run_effect(half_duration, wait_time)
|
||||
return scene
|
||||
|
||||
|
||||
func transition_with_layer(node: CanvasItem, half_duration := 0.7, wait_time := 0.5) -> void:
|
||||
var transition_layer := await black_transition(half_duration, wait_time)
|
||||
# 获得 node 的新 transform
|
||||
var screen_transform = node.get_canvas_transform() * node.get_global_transform()
|
||||
var new_global_transform = transition_layer.transform.affine_inverse() * screen_transform
|
||||
if GlobalConfig.DEBUG:
|
||||
print("transition_with_layer screen_transform: ", screen_transform, "new_global_transform:", new_global_transform)
|
||||
node.reparent(transition_layer, false)
|
||||
node.global_position = new_global_transform.origin
|
||||
var tween = create_tween()
|
||||
tween.tween_interval(half_duration + wait_time)
|
||||
tween.tween_property(node, "modulate:a", 0.0, half_duration)
|
||||
|
||||
|
||||
func white_transition(half_duration := 0.7, wait_time := 0.5) -> void:
|
||||
|
@ -204,7 +204,7 @@ var ANIMATION_CONFIG = {
|
||||
# 此处为[2][3]分别为 sprite 向左、向右时的 offset
|
||||
MOVEMENT_WALKING: [&"", &"c03_胖子游戏_瘦子走"],
|
||||
MOVEMENT_RUNNING: [&"", &"c03_胖子游戏_瘦子跑"],
|
||||
5: [&"c03_胖子游戏_掉下来", Vector2.ONE, Vector2(0, -51.0)],
|
||||
5: [&"c03_胖子游戏_掉下来", Vector2.ONE, Vector2(0, -108.0)],
|
||||
6: [&"c03_胖子游戏_洞里爬出来", Vector2.ONE, Vector2(-70, -44.5)],
|
||||
7: [&"", Vector2.ONE, Vector2(0, -51.0), &"", &"c03_胖子游戏_胖子对半砍"],
|
||||
8: [&"", Vector2.ONE, Vector2(0, -51.0), &"", &"c03_胖子游戏_吃东西"],
|
||||
|
@ -2,7 +2,7 @@ extends CanvasLayer
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
layer = GlobalConfig.CANVAS_LAYER_EFFECT
|
||||
layer = GlobalConfig.CANVAS_LAYER_TRANSITION
|
||||
|
||||
|
||||
func run_effect(half_duration := 0.7, wait_time := 0.5, color := Color.BLACK):
|
||||
|
@ -3,6 +3,7 @@
|
||||
[ext_resource type="Script" uid="uid://cc1qaqhljieir" path="res://scene/effect/黑屏转场.gd" id="1_far56"]
|
||||
|
||||
[node name="黑屏转场" type="CanvasLayer"]
|
||||
layer = 15
|
||||
script = ExtResource("1_far56")
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="."]
|
||||
|
@ -27,7 +27,7 @@ func _setup_node_reference() -> void:
|
||||
func _on_ground_ready() -> void:
|
||||
monster = $"../DeployLayer/棺材怪切肉"
|
||||
closeup绞肉机.exit.connect(_on_grinder_exited)
|
||||
# c03_meat_grinder: 0:初始化 1:已装转盘 2:绞肉机演出 3:演出结束
|
||||
# c03_meat_grinder: 0:初始化 1:已装转盘 2:胖子游戏结束 3:绞肉机演出 4:演出结束
|
||||
var grinder_stage = EventManager.get_stage("c03_meat_grinder")
|
||||
if grinder_stage == 1:
|
||||
_transport_to_the_fatty_story()
|
||||
@ -59,4 +59,6 @@ func _setup_monster_chopping() -> void:
|
||||
|
||||
func _on_monster_chopping_animation_looped() -> void:
|
||||
# if monster.animation == "砍桌子":
|
||||
SceneManager.get_camera_marker().shake_camera(1.5)
|
||||
if monster.position.x > -100.0:
|
||||
var strength := 1.5 * smoothstep(-100.0, 100.0, monster.position.x)
|
||||
SceneManager.get_camera_marker().shake_camera(strength)
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=28 format=3 uid="uid://c67732f2we13j"]
|
||||
[gd_scene load_steps=30 format=3 uid="uid://c67732f2we13j"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_oxs1j"]
|
||||
[ext_resource type="Script" uid="uid://dh5vxhnfnua3q" path="res://scene/ground/scene/c03/s07_屠宰间.gd" id="2_oxs1j"]
|
||||
@ -22,6 +22,8 @@
|
||||
[ext_resource type="PackedScene" uid="uid://dqkxiqbq83cmq" path="res://scene/entity/closeup.tscn" id="14_48a3r"]
|
||||
[ext_resource type="PackedScene" uid="uid://5bubirvt8ep8" path="res://scene/ground/script/c03/s07_closeup绞肉机.tscn" id="15_48a3r"]
|
||||
[ext_resource type="Script" uid="uid://0wjaho6qkg6s" path="res://manager/event_manager/event_binder.gd" id="17_e1lvl"]
|
||||
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="18_5t01v"]
|
||||
[ext_resource type="SpriteFrames" uid="uid://b0icyhxpj16tv" path="res://asset/art/gif/c02_谢幕演出/c02_谢幕演出_frames.tres" id="19_2kdsp"]
|
||||
[ext_resource type="AudioStream" uid="uid://be6xihynmvrwj" path="res://asset/audio/sfx/交互/第一章/谢幕演出_耳鸣加笑声.ogg" id="20_jjxk1"]
|
||||
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="21_qeidq"]
|
||||
[ext_resource type="Script" uid="uid://deysfedtyjlig" path="res://scene/ground/script/c03/s07_event胖子游戏结束演出.gd" id="22_fuomw"]
|
||||
@ -124,6 +126,7 @@ original_texture = ExtResource("9_jfgnj")
|
||||
metadata/_custom_type_script = "uid://dt8cfnm2og4h"
|
||||
|
||||
[node name="棺材怪切肉" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="6"]
|
||||
visible = false
|
||||
z_index = 9
|
||||
position = Vector2(318, 30)
|
||||
sprite_frames = ExtResource("8_isumy")
|
||||
@ -138,6 +141,8 @@ action_configs = Array[Dictionary]([{
|
||||
}])
|
||||
move_configs = Array[Dictionary]([{
|
||||
"animation": "棺材怪走路",
|
||||
"animation_next": "",
|
||||
"duration": 1e+07,
|
||||
"movement_x": -1000.0,
|
||||
"velocity": Vector2(-60, 0)
|
||||
}])
|
||||
@ -153,14 +158,27 @@ bus = &"game_sfx"
|
||||
script = ExtResource("10_bxi12")
|
||||
metadata/_custom_type_script = "uid://wapo47a1oddf"
|
||||
|
||||
[node name="Event胖子游戏结束演出" type="Node2D" parent="Ground/DeployLayer" index="7"]
|
||||
[node name="Ambush小蝉消失" parent="Ground/DeployLayer" index="7" instance=ExtResource("18_5t01v")]
|
||||
visible = false
|
||||
position = Vector2(500, 55)
|
||||
enter_affected_by_visibility = true
|
||||
|
||||
[node name="Pro绞肉机后的小蝉" type="AnimatedSprite2D" parent="Ground/DeployLayer/Ambush小蝉消失"]
|
||||
position = Vector2(-49, 4)
|
||||
sprite_frames = ExtResource("19_2kdsp")
|
||||
animation = &"小婵呼吸"
|
||||
autoplay = "小婵呼吸"
|
||||
script = ExtResource("23_u2kpr")
|
||||
metadata/_custom_type_script = "uid://cphfob11f7atx"
|
||||
|
||||
[node name="Event胖子游戏结束演出" type="Node2D" parent="Ground/DeployLayer" index="8"]
|
||||
script = ExtResource("22_fuomw")
|
||||
event_name = &"c03_meat_grinder"
|
||||
event_stages = Array[int]([2])
|
||||
metadata/_custom_type_script = "uid://bkkiyk5jkdw4d"
|
||||
|
||||
[node name="Sfx2D小蝉笑声" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/Event胖子游戏结束演出"]
|
||||
position = Vector2(432, 0)
|
||||
position = Vector2(462, 41)
|
||||
stream = ExtResource("20_jjxk1")
|
||||
max_distance = 1000.0
|
||||
bus = &"game_sfx"
|
||||
@ -173,7 +191,7 @@ color = Color(0.940296, 0.960906, 0.986459, 1)
|
||||
energy = 0.6
|
||||
texture = ExtResource("21_qeidq")
|
||||
|
||||
[node name="长桌" type="Sprite2D" parent="Ground/DeployLayer" index="8"]
|
||||
[node name="长桌" type="Sprite2D" parent="Ground/DeployLayer" index="9"]
|
||||
z_index = 10
|
||||
position = Vector2(345, 88)
|
||||
texture = ExtResource("7_es8d4")
|
||||
@ -182,17 +200,18 @@ texture = ExtResource("7_es8d4")
|
||||
position = Vector2(72, -33.5)
|
||||
texture = ExtResource("8_thx4k")
|
||||
|
||||
[node name="Closeup绞肉机" parent="Ground/DeployLayer" index="9" instance=ExtResource("14_48a3r")]
|
||||
[node name="Closeup绞肉机" parent="Ground/DeployLayer" index="10" instance=ExtResource("14_48a3r")]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(415, 44)
|
||||
position = Vector2(415, 48)
|
||||
packed_scene = ExtResource("15_48a3r")
|
||||
transition_effect = true
|
||||
action_key = 3
|
||||
|
||||
[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Closeup绞肉机"]
|
||||
script = ExtResource("17_e1lvl")
|
||||
updater_event = &"c03_meat_grinder"
|
||||
updater_stage_mode = "exclude"
|
||||
updater_stages = Array[int]([3])
|
||||
updater_stages = Array[int]([4])
|
||||
metadata/_custom_type_script = "uid://0wjaho6qkg6s"
|
||||
|
||||
[node name="MainPlayer" parent="Ground" index="5"]
|
||||
@ -201,8 +220,6 @@ catty_light_energy = 0.5
|
||||
player_movement_rect = Rect2(18, -158, 714, 316)
|
||||
facing_direction = Vector2(1, 0)
|
||||
|
||||
[node name="AudioListener2D" type="AudioListener2D" parent="Ground/MainPlayer" index="6"]
|
||||
|
||||
[node name="CameraFocusMarker" parent="Ground" index="6"]
|
||||
limit_right = 750
|
||||
|
||||
|
@ -45,7 +45,7 @@ func _on_ground_ready() -> void:
|
||||
_enter_scene()
|
||||
# 设置相机范围
|
||||
var right_x = player.player_movement_rect.size.x
|
||||
var rect := Rect2i(0, -158, int(right_x) + 50, 316)
|
||||
var rect := Rect2i(0, -158, int(right_x) + 200, 316)
|
||||
SceneManager.get_camera_marker().apply_limits(rect)
|
||||
monster.before_restart.connect(_on_monster_restart)
|
||||
|
||||
@ -53,7 +53,7 @@ func _on_ground_ready() -> void:
|
||||
|
||||
#0: 初始化; 1-3 三关
|
||||
var current_stage := 0
|
||||
var aiming_duration := 1.8
|
||||
var aiming_duration := 2.5
|
||||
|
||||
# 1.0s 一次
|
||||
func _on_chop_timer_timeout() -> void:
|
||||
@ -72,11 +72,11 @@ func _on_chop_timer_timeout() -> void:
|
||||
var next_x = player_pos.x + player.velocity.x * aiming_duration + randf_range(10.0, 50.0)
|
||||
monster_target.global_position.x = clampf(next_x, s_range.x, s_range.y)
|
||||
await Util.wait(0.5)
|
||||
next_x = player_pos.x + player.velocity.x * aiming_duration + sign(player.velocity.x) * randf_range(0.0, 40.0)
|
||||
next_x = player_pos.x + player.velocity.x * aiming_duration # + sign(player.velocity.x) * randf_range(0.0, 40.0)
|
||||
monster_target.global_position.x = clampf(next_x, s_range.x, s_range.y)
|
||||
elif current_stage == 3:
|
||||
# 越来越快
|
||||
aiming_duration = clampf(aiming_duration - 0.1, 1.2, 3.0)
|
||||
aiming_duration = clampf(aiming_duration - 0.1, 2.0, 3.0)
|
||||
chop_timer.wait_time = aiming_duration + 0.5
|
||||
monster.chop_right(aiming_duration)
|
||||
var next_x = player_pos.x + player.velocity.x * aiming_duration + randf_range(0.0, 50.0)
|
||||
@ -84,6 +84,9 @@ func _on_chop_timer_timeout() -> void:
|
||||
await Util.wait(0.5)
|
||||
next_x = player_pos.x + player.velocity.x * aiming_duration + randf_range(-20.0, 20.0)
|
||||
monster_target.global_position.x = clampf(next_x, s_range.x, s_range.y)
|
||||
await Util.wait(0.5)
|
||||
next_x = player_pos.x + player.velocity.x * aiming_duration + randf_range(-20.0, 20.0)
|
||||
monster_target.global_position.x = clampf(next_x, s_range.x, s_range.y)
|
||||
if GlobalConfig.DEBUG:
|
||||
print("棺材怪 chop next_x=", monster_target.global_position.x, "s_range=", s_range)
|
||||
|
||||
@ -107,8 +110,10 @@ func drop_meat_hill_2() -> void:
|
||||
monster.mute = false
|
||||
monster_target.global_position.x = range_of_stages[1].x + 300.0
|
||||
monster.refresh_position()
|
||||
var monster_light = monster.get_node("PointLight2D怪光") as PointLight2D
|
||||
var tween = create_tween()
|
||||
tween.tween_property(monster, "self_modulate:a", 1.0, 1.0)
|
||||
tween.parallel().tween_property(monster_light, "energy", 1.0, 1.0)
|
||||
tween.tween_callback(func():
|
||||
current_stage = 2
|
||||
)
|
||||
@ -121,8 +126,11 @@ func drop_meat_hill_3() -> void:
|
||||
_drop_meat_hill()
|
||||
# 进入第三关: 动态隐藏砍
|
||||
# monster.mute = false
|
||||
var monster_light = monster.get_node("PointLight2D怪光") as PointLight2D
|
||||
var tween = create_tween()
|
||||
tween.tween_property(monster, "self_modulate:a", 0.0, 1.0)
|
||||
tween.tween_property(monster_light, "energy", 0.0, 1.0)
|
||||
tween.tween_callback(func(): monster_light.blend_mode = Light2D.BLEND_MODE_SUB)
|
||||
tween.tween_property(monster_light, "energy", 0.4, 1.0)
|
||||
tween.tween_callback(func():
|
||||
monster_target.global_position.x = range_of_stages[2].x + 300.0
|
||||
monster.refresh_position()
|
||||
@ -169,7 +177,7 @@ func _enter_scene() -> void:
|
||||
return
|
||||
player.global_position.x = portal_x
|
||||
SceneManager.lock_player(0, 5, true)
|
||||
SceneManager.pause_and_hide_player_sprite(1.5)
|
||||
SceneManager.pause_and_hide_player_sprite(4.5)
|
||||
await player.animation_finished
|
||||
SceneManager.unlock_player()
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=37 format=3 uid="uid://clgwc3jcqarpe"]
|
||||
[gd_scene load_steps=38 format=3 uid="uid://clgwc3jcqarpe"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_0c2p2"]
|
||||
[ext_resource type="Script" uid="uid://cs4ddcjq81c1d" path="res://scene/ground/scene/c03/s10_胖子游戏1.gd" id="2_tthij"]
|
||||
@ -31,6 +31,7 @@
|
||||
[ext_resource type="FontFile" uid="uid://bnxdsxp7dst7f" path="res://asset/font/锐字太空混元像素简繁-闪 超黑_mianfeiziti.com.ttf" id="19_usr2w"]
|
||||
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="20_4gg56"]
|
||||
[ext_resource type="Texture2D" uid="uid://0qkxvm0xiubu" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/落点2.png" id="20_whxhi"]
|
||||
[ext_resource type="SpriteFrames" uid="uid://dy8b8dmgv3mdd" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第二段/c03_胖子游戏第二段_frames.tres" id="21_4bvrv"]
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
||||
|
||||
@ -56,7 +57,7 @@ stream_2/stream = ExtResource("10_js8ld")
|
||||
stream_3/stream = ExtResource("10_js8ld")
|
||||
|
||||
[node name="S10" type="Node2D"]
|
||||
metadata/_edit_horizontal_guides_ = [98.0, 120.0]
|
||||
metadata/_edit_horizontal_guides_ = [98.0, 120.0, -120.0]
|
||||
|
||||
[node name="Ground" parent="." instance=ExtResource("1_0c2p2")]
|
||||
scene_name = "c03_s10"
|
||||
@ -92,15 +93,17 @@ light_mask = 5
|
||||
offset = Vector2(0, -158)
|
||||
|
||||
[node name="装饰手" type="Sprite2D" parent="Ground/BGSprite2D" index="0"]
|
||||
light_mask = 1027
|
||||
position = Vector2(935, 60)
|
||||
texture = ExtResource("16_bm1fy")
|
||||
|
||||
[node name="装饰手2" type="Sprite2D" parent="Ground/BGSprite2D" index="1"]
|
||||
light_mask = 1027
|
||||
position = Vector2(1318, 58)
|
||||
texture = ExtResource("17_f57cq")
|
||||
|
||||
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
|
||||
position = Vector2(77, 11)
|
||||
position = Vector2(202, 15)
|
||||
|
||||
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
|
||||
position = Vector2(8170, 31)
|
||||
@ -261,22 +264,115 @@ position = Vector2(7618, 9)
|
||||
wait_time = 2.5
|
||||
autostart = true
|
||||
|
||||
[node name="被砍断的文字" type="RichTextLabel" parent="Ground/DeployLayer" index="20"]
|
||||
offset_left = 658.0
|
||||
offset_top = -22.0
|
||||
offset_right = 966.0
|
||||
offset_bottom = -1.0
|
||||
[node name="老太太文字" type="RichTextLabel" parent="Ground/DeployLayer" index="20"]
|
||||
custom_minimum_size = Vector2(1000, 0)
|
||||
offset_left = 126.0
|
||||
offset_top = -70.0
|
||||
offset_right = 1126.0
|
||||
offset_bottom = -29.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("19_usr2w")
|
||||
theme_override_font_sizes/normal_font_size = 20
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]文字文字文字文字[/wave]"
|
||||
text = "[wave]当兵去,当兵饿不死[/wave]"
|
||||
fit_content = true
|
||||
scroll_active = false
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="PointLight2D2" type="PointLight2D" parent="Ground/AmbientLayer" index="0"]
|
||||
position = Vector2(201, -184)
|
||||
energy = 0.5
|
||||
[node name="Control" type="Control" parent="Ground/DeployLayer" index="21"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
offset_left = 1563.0
|
||||
offset_top = -47.0
|
||||
offset_right = 1603.0
|
||||
offset_bottom = -7.0
|
||||
|
||||
[node name="被砍断的文字1" type="RichTextLabel" parent="Ground/DeployLayer/Control"]
|
||||
custom_minimum_size = Vector2(200, 0)
|
||||
offset_left = -206.0
|
||||
offset_top = -18.0
|
||||
offset_right = -6.0
|
||||
offset_bottom = 23.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("19_usr2w")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]活[/wave]"
|
||||
fit_content = true
|
||||
scroll_active = false
|
||||
horizontal_alignment = 2
|
||||
metadata/_edit_use_anchors_ = true
|
||||
|
||||
[node name="被砍断的文字2" type="RichTextLabel" parent="Ground/DeployLayer/Control"]
|
||||
custom_minimum_size = Vector2(200, 0)
|
||||
offset_left = 4.0
|
||||
offset_top = -17.0
|
||||
offset_right = 204.0
|
||||
offset_bottom = 24.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("19_usr2w")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]着[/wave]"
|
||||
fit_content = true
|
||||
scroll_active = false
|
||||
|
||||
[node name="结尾文字" type="RichTextLabel" parent="Ground/DeployLayer" index="22"]
|
||||
custom_minimum_size = Vector2(1000, 0)
|
||||
offset_left = 7302.0
|
||||
offset_top = -71.0
|
||||
offset_right = 8302.0
|
||||
offset_bottom = -30.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("19_usr2w")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]把他抓回来[/wave]"
|
||||
fit_content = true
|
||||
scroll_active = false
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="PointLight2D结尾文字" type="PointLight2D" parent="Ground/DeployLayer/结尾文字"]
|
||||
position = Vector2(835, 78)
|
||||
range_layer_min = -5
|
||||
texture = ExtResource("20_4gg56")
|
||||
texture_scale = 2.0
|
||||
texture_scale = 1.1
|
||||
|
||||
[node name="洞口的手2" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="23"]
|
||||
z_index = -1
|
||||
position = Vector2(8091, 31)
|
||||
sprite_frames = ExtResource("21_4bvrv")
|
||||
animation = &"小手"
|
||||
autoplay = "小手"
|
||||
speed_scale = 1.1
|
||||
|
||||
[node name="洞口的手" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="24"]
|
||||
z_index = 9
|
||||
position = Vector2(8155, 35)
|
||||
sprite_frames = ExtResource("21_4bvrv")
|
||||
animation = &"小手"
|
||||
autoplay = "小手"
|
||||
|
||||
[node name="PointLight2D老奶" type="PointLight2D" parent="Ground/AmbientLayer" index="0"]
|
||||
position = Vector2(622, 19)
|
||||
range_layer_min = -5
|
||||
range_item_cull_mask = 3072
|
||||
texture = ExtResource("20_4gg56")
|
||||
|
||||
[node name="PointLight2D老奶2" type="PointLight2D" parent="Ground/AmbientLayer" index="1"]
|
||||
position = Vector2(617, 60)
|
||||
range_layer_min = -5
|
||||
range_item_cull_mask = 7168
|
||||
texture = ExtResource("20_4gg56")
|
||||
texture_scale = 0.5
|
||||
|
||||
[node name="PointLight2D手" type="PointLight2D" parent="Ground/AmbientLayer" index="2"]
|
||||
position = Vector2(1134, 108)
|
||||
energy = 1.7
|
||||
range_layer_min = -5
|
||||
range_item_cull_mask = 5120
|
||||
texture = ExtResource("20_4gg56")
|
||||
texture_scale = 1.2
|
||||
|
||||
[node name="MainPlayer" parent="Ground" index="5"]
|
||||
position = Vector2(396, 98)
|
||||
@ -284,13 +380,6 @@ character = "胖子游戏"
|
||||
player_movement_rect = Rect2(30, -158, 8170, 316)
|
||||
facing_direction = Vector2(1, 0)
|
||||
|
||||
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Ground/MainPlayer" index="6"]
|
||||
position = Vector2(-1, -48)
|
||||
remote_path = NodePath("../../DeployLayer/MonsterMoveTarget")
|
||||
update_position = false
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="BGParallaxLayer" parent="Ground/ParallaxForeground" index="0"]
|
||||
motion_scale = Vector2(0.9, 1)
|
||||
|
||||
@ -304,7 +393,7 @@ texture = ExtResource("6_hno1l")
|
||||
offset = Vector2(0, 50)
|
||||
|
||||
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
|
||||
points = PackedVector2Array(30, 150, 8200, 151)
|
||||
points = PackedVector2Array(30, 150, 8162, 151)
|
||||
|
||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
||||
energy = 0.4
|
||||
@ -320,16 +409,34 @@ motion_scale = Vector2(0.3, 1)
|
||||
motion_mirroring = Vector2(1200, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Ground/ParallaxBackground/底图"]
|
||||
light_mask = 1025
|
||||
texture = ExtResource("5_a608f")
|
||||
|
||||
[node name="PointLight2D底" type="PointLight2D" parent="Ground/ParallaxBackground/底图"]
|
||||
position = Vector2(282, -53)
|
||||
energy = 0.5
|
||||
range_layer_min = -5
|
||||
range_item_cull_mask = 1024
|
||||
texture = ExtResource("20_4gg56")
|
||||
texture_scale = 1.1
|
||||
|
||||
[node name="后山" type="ParallaxLayer" parent="Ground/ParallaxBackground"]
|
||||
z_index = -10
|
||||
motion_scale = Vector2(0.5, 1)
|
||||
motion_mirroring = Vector2(1134, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Ground/ParallaxBackground/后山"]
|
||||
light_mask = 2049
|
||||
texture = ExtResource("6_x0t6p")
|
||||
|
||||
[node name="PointLight2D底_后" type="PointLight2D" parent="Ground/ParallaxBackground/后山"]
|
||||
position = Vector2(205, -87)
|
||||
energy = 0.3
|
||||
range_layer_min = -5
|
||||
range_item_cull_mask = 3072
|
||||
texture = ExtResource("20_4gg56")
|
||||
texture_scale = 0.8
|
||||
|
||||
[node name="前山" type="ParallaxLayer" parent="Ground/ParallaxBackground"]
|
||||
z_index = -10
|
||||
position = Vector2(0, 16)
|
||||
@ -337,8 +444,16 @@ motion_scale = Vector2(0.8, 1)
|
||||
motion_mirroring = Vector2(1200, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Ground/ParallaxBackground/前山"]
|
||||
light_mask = 4097
|
||||
texture = ExtResource("7_8s7iq")
|
||||
|
||||
[node name="PointLight2D底_后_前" type="PointLight2D" parent="Ground/ParallaxBackground/前山"]
|
||||
position = Vector2(307, -141)
|
||||
energy = 0.3
|
||||
range_layer_min = -5
|
||||
range_item_cull_mask = 7168
|
||||
texture = ExtResource("20_4gg56")
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="Ground"]
|
||||
layer = -2
|
||||
follow_viewport_enabled = true
|
||||
@ -411,6 +526,14 @@ scale = Vector2(1e-05, 1e-05)
|
||||
remote_path = NodePath("../../../DeployLayer/落点右")
|
||||
update_rotation = false
|
||||
|
||||
[node name="PointLight2D怪光" type="PointLight2D" parent="Ground/CanvasLayer/胖子游戏棺材怪"]
|
||||
position = Vector2(13, -19)
|
||||
energy = 0.0
|
||||
range_layer_min = -5
|
||||
range_item_cull_mask = 7168
|
||||
texture = ExtResource("20_4gg56")
|
||||
texture_scale = 3.0
|
||||
|
||||
[node name="ParallaxBackground2" type="ParallaxBackground" parent="Ground"]
|
||||
layer = -1
|
||||
|
||||
|
@ -15,13 +15,19 @@ func _ready() -> void:
|
||||
|
||||
#region node_reference
|
||||
var collapse_sprite: AnimatedSprite2D
|
||||
var final_meat_ambush: Ambush2D
|
||||
var final_meat_sprite: AnimatedSprite2D
|
||||
var final_label
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
# 读取设置变量名
|
||||
func _setup_node_reference() -> void:
|
||||
collapse_sprite = $"../ParallaxBackground2/山前地后/小孩山塌了"
|
||||
|
||||
final_meat_ambush = $"../DeployLayer/Ambush最终吃肉"
|
||||
final_meat_sprite = $"../DeployLayer/Ambush最终吃肉/Pro吃肉"
|
||||
final_label = $"../CanvasLayer/最终吃肉"
|
||||
|
||||
func _on_ground_ready() -> void:
|
||||
# 设置相机范围
|
||||
@ -56,19 +62,22 @@ func _on_eat_meat_triggered(node) -> void:
|
||||
|
||||
|
||||
func eat_meat() -> void:
|
||||
final_meat_ambush.enabled = false
|
||||
var light_pivot = $"../DeployLayer/LightPivot"
|
||||
SceneManager.lock_player()
|
||||
$"../DeployLayer/Ambush最终吃肉".enabled = false
|
||||
var x = $"../DeployLayer/Pro吃肉".global_position.x
|
||||
var x = final_meat_sprite.global_position.x
|
||||
await SceneManager.get_player().walk_to_x(x).finished
|
||||
# 第一帧没有瘦子,后面才有
|
||||
var player = SceneManager.get_player() as MainPlayer
|
||||
player.reparent_light(light_pivot)
|
||||
play("eat_meat")
|
||||
await animation_finished
|
||||
SceneManager.unlock_player()
|
||||
# c03_meat_grinder: 0:初始化 1:已装转盘 2:绞肉机演出 3:演出结束
|
||||
# TODO 将 final_label 放置到 transition_layer
|
||||
SceneManager.transition_with_layer(final_label, 2.0, 4.0)
|
||||
await Util.wait(5.0)
|
||||
# c03_meat_grinder: 0:初始化 1:已装转盘 2:胖子游戏结束 3:绞肉机演出 4:演出结束
|
||||
EventManager.set_stage_if_greater("c03_meat_grinder", 2)
|
||||
SceneManager.unlock_player()
|
||||
SceneManager.get_ground_loader().transition_to_scene("c03_s07", "2")
|
||||
|
||||
|
||||
@ -78,3 +87,6 @@ func collapse() -> void:
|
||||
$"Sfx山塌了".play()
|
||||
#TODO
|
||||
SceneManager.pop_debug_dialog_info("音效", "山塌了")
|
||||
# 交互之后,启用 final_meat_ambush
|
||||
final_meat_ambush.enabled = true
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=23 format=3 uid="uid://cxabqg87g4vxc"]
|
||||
[gd_scene load_steps=24 format=3 uid="uid://cxabqg87g4vxc"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_ly8ge"]
|
||||
[ext_resource type="Script" uid="uid://f4uampm47832" path="res://scene/ground/scene/c03/s12_胖子游戏3.gd" id="2_c01lu"]
|
||||
@ -16,6 +16,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://da80qq8jl8mtp" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉块1.png" id="11_y18rp"]
|
||||
[ext_resource type="Texture2D" uid="uid://bieyil13hhemh" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉块2.png" id="12_mr0pm"]
|
||||
[ext_resource type="Texture2D" uid="uid://g3ohxmylc316" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉块3.png" id="13_47wdn"]
|
||||
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="13_vyyx8"]
|
||||
[ext_resource type="Texture2D" uid="uid://2hvfbno7wgjl" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉块4.png" id="14_vyyx8"]
|
||||
[ext_resource type="Texture2D" uid="uid://85unc5qju4kl" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉块5.png" id="15_7x1vi"]
|
||||
|
||||
@ -36,7 +37,7 @@ tracks/0/keys = {
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("DeployLayer/Pro吃肉:frame")
|
||||
tracks/1/path = NodePath("DeployLayer/Ambush最终吃肉/Pro吃肉:frame")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
@ -77,7 +78,7 @@ tracks/0/keys = {
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("DeployLayer/Pro吃肉:frame")
|
||||
tracks/1/path = NodePath("DeployLayer/Ambush最终吃肉/Pro吃肉:frame")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = false
|
||||
tracks/1/keys = {
|
||||
@ -108,7 +109,7 @@ _data = {
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_y18rp"]
|
||||
|
||||
[node name="S12" type="Node2D"]
|
||||
metadata/_edit_horizontal_guides_ = [-627.0, 103.0]
|
||||
metadata/_edit_horizontal_guides_ = [-627.0, 103.0, 63.0]
|
||||
|
||||
[node name="Ground" parent="." instance=ExtResource("1_ly8ge")]
|
||||
scene_name = "c03_s12"
|
||||
@ -147,18 +148,9 @@ offset = Vector2(0, -158)
|
||||
position = Vector2(69, 21)
|
||||
|
||||
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
|
||||
position = Vector2(4013, -30)
|
||||
position = Vector2(4346, 37)
|
||||
|
||||
[node name="Pro吃肉" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="2"]
|
||||
position = Vector2(3647, 95)
|
||||
sprite_frames = ExtResource("10_7x1vi")
|
||||
animation = &"爬绞肉机最终的"
|
||||
offset = Vector2(88, -105)
|
||||
script = ExtResource("9_vyyx8")
|
||||
autostart = false
|
||||
metadata/_custom_type_script = "uid://cphfob11f7atx"
|
||||
|
||||
[node name="Ambush肉1" parent="Ground/DeployLayer" index="3" instance=ExtResource("11_sul0a")]
|
||||
[node name="Ambush肉1" parent="Ground/DeployLayer" index="2" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(923, 85)
|
||||
texture = ExtResource("14_vyyx8")
|
||||
offset = Vector2(13, 0)
|
||||
@ -172,7 +164,21 @@ collision_mask = 0
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Ground/DeployLayer/Ambush肉1/StaticBody2D"]
|
||||
shape = SubResource("RectangleShape2D_y18rp")
|
||||
|
||||
[node name="Ambush肉2" parent="Ground/DeployLayer" index="4" instance=ExtResource("11_sul0a")]
|
||||
[node name="Label" type="RichTextLabel" parent="Ground/DeployLayer/Ambush肉1"]
|
||||
custom_minimum_size = Vector2(1000, 0)
|
||||
offset_left = -474.0
|
||||
offset_top = -169.0
|
||||
offset_right = 526.0
|
||||
offset_bottom = -128.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]太瘦弱会被吃掉的![/wave]"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Ambush肉2" parent="Ground/DeployLayer" index="3" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(1443, 84)
|
||||
texture = ExtResource("12_mr0pm")
|
||||
offset = Vector2(20, 0)
|
||||
@ -186,7 +192,21 @@ collision_mask = 0
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Ground/DeployLayer/Ambush肉2/StaticBody2D"]
|
||||
shape = SubResource("RectangleShape2D_y18rp")
|
||||
|
||||
[node name="Ambush肉3" parent="Ground/DeployLayer" index="5" instance=ExtResource("11_sul0a")]
|
||||
[node name="Label" type="RichTextLabel" parent="Ground/DeployLayer/Ambush肉2"]
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
offset_left = -204.0
|
||||
offset_top = -166.0
|
||||
offset_right = 296.0
|
||||
offset_bottom = -125.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]不够...还不够...[/wave]"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Ambush肉3" parent="Ground/DeployLayer" index="4" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(2016, 85)
|
||||
texture = ExtResource("15_7x1vi")
|
||||
offset = Vector2(37, 0)
|
||||
@ -201,43 +221,110 @@ collision_mask = 0
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Ground/DeployLayer/Ambush肉3/StaticBody2D"]
|
||||
shape = SubResource("RectangleShape2D_y18rp")
|
||||
|
||||
[node name="Ambush最终吃肉" parent="Ground/DeployLayer" index="6" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(3639, 54)
|
||||
[node name="回不了头" type="RichTextLabel" parent="Ground/DeployLayer/Ambush肉3"]
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
offset_left = -232.0
|
||||
offset_top = -165.0
|
||||
offset_right = 268.0
|
||||
offset_bottom = -124.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]活着[/wave]"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Ambush最终吃肉" parent="Ground/DeployLayer" index="5" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(4000, 54)
|
||||
sign_mark_offset = Vector2(39, -9)
|
||||
enabled = false
|
||||
trigger_mode = "interact"
|
||||
one_shot = false
|
||||
hook_method = "eat_meat"
|
||||
|
||||
[node name="Ambush小孩山塌了" parent="Ground/DeployLayer" index="7" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(3016, -7)
|
||||
sign_mark_offset = Vector2(39, -9)
|
||||
[node name="Pro吃肉" type="AnimatedSprite2D" parent="Ground/DeployLayer/Ambush最终吃肉"]
|
||||
position = Vector2(8, 41)
|
||||
sprite_frames = ExtResource("10_7x1vi")
|
||||
animation = &"爬绞肉机最终的"
|
||||
offset = Vector2(88, -105)
|
||||
script = ExtResource("9_vyyx8")
|
||||
autostart = false
|
||||
metadata/_custom_type_script = "uid://cphfob11f7atx"
|
||||
|
||||
[node name="Ambush小孩山塌了" parent="Ground/DeployLayer" index="6" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(2981, 32)
|
||||
trigger_mode = "interact"
|
||||
one_shot = false
|
||||
hook_method = "collapse"
|
||||
|
||||
[node name="LightPivot" type="Marker2D" parent="Ground/DeployLayer" index="8"]
|
||||
[node name="LightPivot" type="Marker2D" parent="Ground/DeployLayer" index="7"]
|
||||
position = Vector2(850, 95)
|
||||
|
||||
[node name="AmbushLabel1" parent="Ground/DeployLayer" index="9" instance=ExtResource("11_sul0a")]
|
||||
[node name="AmbushLabel1" parent="Ground/DeployLayer" index="8" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(707, 29)
|
||||
|
||||
[node name="太瘦弱" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel1"]
|
||||
offset_right = 308.0
|
||||
offset_bottom = 21.0
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
offset_left = -250.0
|
||||
offset_top = -114.0
|
||||
offset_right = 250.0
|
||||
offset_bottom = -73.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 20
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]太瘦弱[/wave]"
|
||||
text = "[wave]太瘦弱了...[/wave]"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="AmbushLabel2" parent="Ground/DeployLayer" index="10" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(2524, 4)
|
||||
[node name="AmbushLabel2" parent="Ground/DeployLayer" index="9" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(1182, 60)
|
||||
|
||||
[node name="保平安" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel2"]
|
||||
[node name="回不了头" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel2"]
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
offset_left = -192.0
|
||||
offset_top = -147.0
|
||||
offset_right = 308.0
|
||||
offset_bottom = 21.0
|
||||
offset_bottom = -106.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 20
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]保平安[/wave]"
|
||||
text = "[wave]已经...回不了头了。[/wave]"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="AmbushLabel3" parent="Ground/DeployLayer" index="10" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(2504, 48)
|
||||
|
||||
[node name="血" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel3"]
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
offset_left = -192.0
|
||||
offset_top = -147.0
|
||||
offset_right = 308.0
|
||||
offset_bottom = -106.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]浇洒髫年血,将她交给我,方能保你平安[/wave]"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="都一样吧" type="RichTextLabel" parent="Ground/DeployLayer" index="11"]
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
offset_left = 2805.0
|
||||
offset_top = -61.0
|
||||
offset_right = 3305.0
|
||||
offset_bottom = -20.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]反正...都一样吧[/wave]"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="MainPlayer" parent="Ground" index="5"]
|
||||
position = Vector2(69, 103)
|
||||
@ -252,7 +339,7 @@ limit_right = 1200
|
||||
offset = Vector2(0, 50)
|
||||
|
||||
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
|
||||
points = PackedVector2Array(30, 150, 3647, 151)
|
||||
points = PackedVector2Array(30, 150, 4000, 151)
|
||||
|
||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
||||
energy = 0.6
|
||||
@ -269,16 +356,34 @@ motion_scale = Vector2(0.3, 1)
|
||||
motion_mirroring = Vector2(1200, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Ground/ParallaxBackground/底图"]
|
||||
light_mask = 1025
|
||||
texture = ExtResource("9_mr0pm")
|
||||
|
||||
[node name="PointLight2D底" type="PointLight2D" parent="Ground/ParallaxBackground/底图"]
|
||||
position = Vector2(282, -53)
|
||||
energy = 0.5
|
||||
range_layer_min = -5
|
||||
range_item_cull_mask = 1024
|
||||
texture = ExtResource("13_vyyx8")
|
||||
texture_scale = 1.1
|
||||
|
||||
[node name="后山" type="ParallaxLayer" parent="Ground/ParallaxBackground"]
|
||||
z_index = -10
|
||||
motion_scale = Vector2(0.5, 1)
|
||||
motion_mirroring = Vector2(1134, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Ground/ParallaxBackground/后山"]
|
||||
light_mask = 2049
|
||||
texture = ExtResource("10_47wdn")
|
||||
|
||||
[node name="PointLight2D底_后" type="PointLight2D" parent="Ground/ParallaxBackground/后山"]
|
||||
position = Vector2(205, -87)
|
||||
energy = 0.3
|
||||
range_layer_min = -5
|
||||
range_item_cull_mask = 3072
|
||||
texture = ExtResource("13_vyyx8")
|
||||
texture_scale = 0.8
|
||||
|
||||
[node name="前山" type="ParallaxLayer" parent="Ground/ParallaxBackground"]
|
||||
z_index = -10
|
||||
position = Vector2(0, 16)
|
||||
@ -286,15 +391,23 @@ motion_scale = Vector2(0.8, 1)
|
||||
motion_mirroring = Vector2(1200, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Ground/ParallaxBackground/前山"]
|
||||
light_mask = 4097
|
||||
texture = ExtResource("11_vyyx8")
|
||||
|
||||
[node name="PointLight2D底_后_前" type="PointLight2D" parent="Ground/ParallaxBackground/前山"]
|
||||
position = Vector2(307, -141)
|
||||
energy = 0.3
|
||||
range_layer_min = -5
|
||||
range_item_cull_mask = 7168
|
||||
texture = ExtResource("13_vyyx8")
|
||||
|
||||
[node name="ParallaxBackground2" type="ParallaxBackground" parent="Ground"]
|
||||
layer = -1
|
||||
|
||||
[node name="山前地后" type="ParallaxLayer" parent="Ground/ParallaxBackground2"]
|
||||
|
||||
[node name="小孩山塌了" type="AnimatedSprite2D" parent="Ground/ParallaxBackground2/山前地后"]
|
||||
position = Vector2(3000, -56)
|
||||
position = Vector2(3000, -73)
|
||||
sprite_frames = ExtResource("10_7x1vi")
|
||||
animation = &"小孩山塌了"
|
||||
script = ExtResource("9_vyyx8")
|
||||
@ -333,4 +446,36 @@ texture = ExtResource("14_vyyx8")
|
||||
position = Vector2(724, -47)
|
||||
texture = ExtResource("15_7x1vi")
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="Ground"]
|
||||
|
||||
[node name="最终吃肉" type="RichTextLabel" parent="Ground/CanvasLayer"]
|
||||
light_mask = 3
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -250.0
|
||||
offset_top = -37.5
|
||||
offset_right = 250.0
|
||||
offset_bottom = 3.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]又嫩又甜[/wave]"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="PointLight2D" type="PointLight2D" parent="Ground/CanvasLayer/最终吃肉"]
|
||||
visible = false
|
||||
position = Vector2(250, 11)
|
||||
energy = 0.4
|
||||
range_layer_max = 10
|
||||
range_item_cull_mask = 2
|
||||
texture = ExtResource("13_vyyx8")
|
||||
|
||||
[editable path="Ground"]
|
||||
|
@ -10,7 +10,7 @@ signal exit(arg)
|
||||
@onready var hand_sprite = $"手" as Node2D
|
||||
@onready var animation_player = $AnimationPlayer as AnimationPlayer
|
||||
|
||||
# c03_meat_grinder: 0:初始化 1:已装转盘 2:绞肉机演出 3:演出结束
|
||||
# c03_meat_grinder: 0:初始化 1:已装转盘 2:胖子游戏结束 3:绞肉机演出 4:演出结束
|
||||
var stage := 0
|
||||
|
||||
|
||||
@ -26,14 +26,14 @@ func _ready() -> void:
|
||||
SceneManager.toggle_hud_display(false)
|
||||
# 演出并传送到胖子游戏
|
||||
_wheel_placed_and_show()
|
||||
elif stage == 2:
|
||||
elif stage == 3:
|
||||
_hold_parent_cancel()
|
||||
SceneManager.toggle_hud_display(false)
|
||||
SceneManager.pop_center_notification("ui_center_notify_drag_to_rotate")
|
||||
wheel_sprite.show()
|
||||
# 需连接转动信号
|
||||
wheel.rotated.connect(_on_wheel_rotated)
|
||||
elif stage == 3:
|
||||
elif stage == 4:
|
||||
# 无需转动
|
||||
wheel_sprite.show()
|
||||
|
||||
|
@ -4,6 +4,7 @@ extends Event2D
|
||||
# var prev_stage := 0
|
||||
# var stage := 0
|
||||
|
||||
@onready var light = $"PointLight2D" as PointLight2D
|
||||
|
||||
func _ready() -> void:
|
||||
super._ready()
|
||||
@ -26,35 +27,44 @@ func _on_ground_ready(_ground: Ground2D) -> void:
|
||||
func _fatty_game_finished_show() -> void:
|
||||
var player = SceneManager.get_player()
|
||||
var camera = SceneManager.get_camera_marker()
|
||||
SceneManager.lock_player()
|
||||
SceneManager.lock_player(0, 20)
|
||||
player.set_facing_direction(Vector2.LEFT)
|
||||
var monster = $"../棺材怪切肉" as AnimatedSprite2D
|
||||
monster.show()
|
||||
monster.play("砍桌子")
|
||||
var sfx_monster = $"../棺材怪切肉/Sfx棺材怪切肉" as Sfx2D
|
||||
#玩家在屠宰间右侧醒来,靠在墙上抬头看左侧不站起,镜头向左移动至长桌,棺材怪正在切桌上的肉块
|
||||
# 等待3s,左侧传来小蝉(小女孩)的笑声
|
||||
# 棺材怪被吸引,走向左侧缓慢离开
|
||||
#(棺材怪开始移动的同时镜头缓缓向右移动至玩家,无需播放玩家起身动作,镜头移回时直接为站立呼吸即可,玩家可以操作)
|
||||
# 往左走看到小蝉站在绞肉机前,玩家走近后小蝉消失。
|
||||
# fatty_sprite.play("掉下来")
|
||||
# await fatty_sprite.animation_finished
|
||||
var tween = create_tween()
|
||||
tween.tween_property(camera, "force_offset:x", 200.0, 3.0)
|
||||
tween.tween_interval(3.0)
|
||||
await tween.finished
|
||||
# 小孩笑声
|
||||
$"Sfx2D小蝉笑声".play()
|
||||
await Util.wait(0.5)
|
||||
var sfx_laugh = $"Sfx2D小蝉笑声"
|
||||
var tween = create_tween()
|
||||
tween.tween_interval(3.0)
|
||||
tween.tween_callback(sfx_laugh.play)
|
||||
tween.tween_interval(0.5)
|
||||
await tween.finished
|
||||
create_tween().tween_property(camera, "force_offset:x", -300.0, 4.0).as_relative()
|
||||
await Util.wait(1.5)
|
||||
camera.tween_zoom(1.2, 3.0)
|
||||
await Util.wait(2.0)
|
||||
monster.play("地下呼吸帧_准备走路")
|
||||
sfx_monster.volume_db = -100.0
|
||||
await Util.wait(6.0)
|
||||
SceneManager.black_transition()
|
||||
await Util.wait(1.0)
|
||||
# 进入特写演出
|
||||
$"../Closeup绞肉机".display()
|
||||
# 切肉声消失
|
||||
create_tween().tween_property(sfx_monster, "volume_db", -100.0, 1.0)
|
||||
create_tween().tween_property(sfx_laugh, "position:x", -500.0, 3.0).as_relative()
|
||||
await Util.wait(3.0)
|
||||
# 镜头恢复前,显示小蝉 & 玩家起身
|
||||
SceneManager.get_player()._play_animation()
|
||||
var ambush_xchan = $"../Ambush小蝉消失" as Ambush2D
|
||||
ambush_xchan.visible = true
|
||||
ambush_xchan.modulate.a = 0.0
|
||||
ambush_xchan.triggered.connect(
|
||||
func(): create_tween().tween_property(ambush_xchan, "modulate:a", 0.0, 1.0)
|
||||
)
|
||||
create_tween().tween_property(ambush_xchan, "modulate:a", 1.0, 1.0)
|
||||
camera.tween_zoom(1.0, 3.0)
|
||||
create_tween().tween_property(camera, "force_offset:x", 0.0, 3.0)
|
||||
create_tween().tween_property(light, "energy", 0.0, 2.0)
|
||||
await Util.wait(3.0)
|
||||
SceneManager.pop_os_with_str("c03_s07_胖子游戏结束")
|
||||
SceneManager.unlock_player()
|
||||
camera.force_offset = Vector2.ZERO
|
||||
EventManager.set_stage_if_greater("c03_meat_grinder", 3)
|
||||
|
||||
|
||||
func _on_pre_stage_updated() -> void:
|
||||
|
@ -69,8 +69,8 @@ func start_show() -> void:
|
||||
DialogueManager.show_dialogue_balloon(GlobalConfig.DIALOG_C03, "c03_绞肉机回忆小蝶和小婵7")
|
||||
await DialogueManager.dialogue_ended
|
||||
await Util.wait(1.5)
|
||||
# c03_meat_grinder: 0:初始化 1:已装转盘 2:绞肉机演出 3:演出结束
|
||||
EventManager.set_stage("c03_meat_grinder", 3)
|
||||
# c03_meat_grinder: 0:初始化 1:已装转盘 2:胖子游戏结束 3:绞肉机演出 4:演出结束
|
||||
EventManager.set_stage("c03_meat_grinder", 4)
|
||||
EventManager.set_stage("c03_well_show", 1)
|
||||
# 覆盖转场效果
|
||||
SceneManager.white_transition(1.5, 2.0)
|
||||
|
@ -112,7 +112,7 @@ func chop_right(aiming_duration := AIMING_DURATION) -> void:
|
||||
tween.tween_callback(shake)
|
||||
tween.tween_callback(func(): aiming -= 1)
|
||||
tween.tween_interval(0.1)
|
||||
tween.tween_property(remote_right_shadow, "scale", Vector2(0.2, 0.2), 0.2)
|
||||
tween.tween_property(remote_right_shadow, "scale", Vector2(0.2, 0.2), 0.5)
|
||||
tween.parallel().tween_property(remote_right_side, "position:y", RESET_Y, 0.4)
|
||||
tween.tween_callback(toggle_safe_period.bind(false))
|
||||
|
||||
@ -159,7 +159,7 @@ func _physics_process(delta: float) -> void:
|
||||
var speed = MOVE_PLUS_SPEED
|
||||
speed += abs(player.velocity.x)
|
||||
if aiming:
|
||||
speed *= 0.3
|
||||
speed *= 0.6
|
||||
global_position.x = move_toward(x, target_x, delta * speed)
|
||||
# if Time.get_ticks_msec() % 100 == 0:
|
||||
# prints(x, target_x)
|
||||
|