绞肉机演出流程;第二章结尾井边演出;胖子游戏;李癞房间柜子
This commit is contained in:
parent
132adcc343
commit
30ee263e90
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
@ -3,15 +3,15 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cxaonpvi5g0xv"
|
||||
path="res://.godot/imported/药房.png-55350a3c705d29fb1de2dfe982a85f89.ctex"
|
||||
path="res://.godot/imported/药方.png-a3abfd63df96e3b027eda3642a38f285.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://asset/art/scene/c03/s04_李癞房间/柜子特写/药房.png"
|
||||
dest_files=["res://.godot/imported/药房.png-55350a3c705d29fb1de2dfe982a85f89.ctex"]
|
||||
source_file="res://asset/art/scene/c03/s04_李癞房间/柜子特写/药方.png"
|
||||
dest_files=["res://.godot/imported/药方.png-a3abfd63df96e3b027eda3642a38f285.ctex"]
|
||||
|
||||
[params]
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 12 KiB |
Binary file not shown.
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 13 KiB |
19
asset/audio/sfx/环境音/amb_玩家主动选择离开游戏.ogg.import
Normal file
19
asset/audio/sfx/环境音/amb_玩家主动选择离开游戏.ogg.import
Normal file
@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://dlvxxvcx7ga3w"
|
||||
path="res://.godot/imported/amb_玩家主动选择离开游戏.ogg-488bf805d9b3ffe36290d96d27c2b3d8.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://asset/audio/sfx/环境音/amb_玩家主动选择离开游戏.ogg"
|
||||
dest_files=["res://.godot/imported/amb_玩家主动选择离开游戏.ogg-488bf805d9b3ffe36290d96d27c2b3d8.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
@ -1,19 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://dlvxxvcx7ga3w"
|
||||
path="res://.godot/imported/amb_第二章结尾.ogg-5b3e4bbb5af26683d4c49855c1c00d2d.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://asset/audio/sfx/环境音/第二章/amb_第二章结尾.ogg"
|
||||
dest_files=["res://.godot/imported/amb_第二章结尾.ogg-5b3e4bbb5af26683d4c49855c1c00d2d.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
@ -1,7 +1,7 @@
|
||||
~ c02_纸人互动_离开公寓
|
||||
你要离开芦昌公寓吗? [ID:c02_纸人互动_离开公寓1]
|
||||
- 离开 [ID:c02_纸人互动_离开公寓2]
|
||||
do SceneManager.checkout_index_page()
|
||||
do GlobalFunctor.c02_exit_from_corridor()
|
||||
- 留下 [ID:c02_纸人互动_离开公寓3]
|
||||
=> END
|
||||
|
||||
|
@ -214,20 +214,32 @@
|
||||
=> END
|
||||
|
||||
|
||||
~ c03_绞肉机回忆小蝶和小婵
|
||||
~ c03_绞肉机回忆小蝶和小婵1
|
||||
小小蝶: 喏,侬的玻璃弹子,我帮侬拿回来了。
|
||||
小蝉: 谢谢。
|
||||
=> END
|
||||
|
||||
~ c03_绞肉机回忆小蝶和小婵2
|
||||
小小蝶: 你的弹子老好看的,我从来没看到过这种样子的。
|
||||
小蝉: ...侬要欢喜,我就送给侬。
|
||||
=> END
|
||||
|
||||
~ c03_绞肉机回忆小蝶和小婵3
|
||||
小小蝶: 谢谢侬,但是我(阿拉)爸不让我玩这个。
|
||||
小小蝶: 他老是讲小姑娘要文一点,要有小姑娘的样子,其实...我玻璃弹子打的比他们好的多呢。
|
||||
小小蝶: ...你(呐)爸爸呢?
|
||||
小蝉: 嗯...他蛮好的。
|
||||
小小蝶: 他管侬管的紧哇,是不是经常会的讲‘都是为了侬好’这种闲话啊?
|
||||
=> END
|
||||
|
||||
~ c03_绞肉机回忆小蝶和小婵4
|
||||
小蝉: 有时候(辰光)会的,他蛮吓人的。
|
||||
小蝉: 我、我不想惹(za)他不开心。
|
||||
小小蝶: 还是当大人好。等我们长大了,就没人再讲咱们是一懂不懂的小朋友了。
|
||||
小小蝶: 到那个时候,我欢喜撒就组撒、伐想组就伐组,彻底解放了!
|
||||
=> END
|
||||
|
||||
~ c03_绞肉机回忆小蝶和小婵5
|
||||
小蝉: 真好啊。
|
||||
小小蝶: 诶,我马上就要过生日了!侬想...咦,妈妈,侬哪能来了?
|
||||
小小蝶: 那个,这是我刚刚认识的好朋友,她叫、她叫...
|
||||
@ -241,14 +253,17 @@
|
||||
小蝉: 我要是还活着…就能拉你起来了
|
||||
小蝶: 方小蝉?我好像…想起你是谁了…
|
||||
小蝉: 嗯…那你可以…离开这里了吗?
|
||||
|
||||
是否答应小蝉离开这里?
|
||||
- 是
|
||||
# 黑屏播放结束音效后回到主菜单
|
||||
You chose option 1
|
||||
do GlobalFunctor.c03_final_choose_exit()
|
||||
=> END
|
||||
- 否
|
||||
# 继续对白
|
||||
You chose option 2
|
||||
|
||||
小蝶: 你…为什么要…诶?
|
||||
=> END
|
||||
|
||||
~ c03_井边回忆_无选项
|
||||
小蝉: 我要是还活着…就能拉你起来了
|
||||
小蝶: 方小蝉?我好像…想起你是谁了…
|
||||
=> END
|
@ -28,6 +28,10 @@ c03_drug_game: 0:初始化 1:获得药方 2:获得药包
|
||||
c03_prison_flyer: 0:初始化 1:刮开
|
||||
# 囚室门锁
|
||||
c03_prison_lock: 0:初始化 1:打开
|
||||
# 绞肉机
|
||||
c03_meat_grinder: 0:初始化 1:已装转盘 2:绞肉机演出 3:演出结束
|
||||
# 结尾井边演出
|
||||
c03_well_show: 0:初始化 1:准备演出 2:演出完成
|
||||
=> END
|
||||
|
||||
~ EventStage_c04
|
||||
|
@ -67,6 +67,7 @@
|
||||
药材只能放到碗中或原处 [ID:ui_center_notify_c03放到碗中或原处]
|
||||
从碗口处放入药材 [ID:ui_center_notify_c03碗口放入药材]
|
||||
已准备好研磨 [ID:ui_center_notify_c03准备研磨]
|
||||
缺少转轮,按 E 使用道具 [ID:ui_center_notify_c03绞肉机缺少转轮]
|
||||
|
||||
|
||||
获得道具 [ID:ui_获得道具]
|
||||
|
@ -3252,6 +3252,17 @@ animations = [{
|
||||
"speed": 6.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.5,
|
||||
"texture": ExtResource("561_absvs")
|
||||
}, {
|
||||
"duration": 1.5,
|
||||
"texture": ExtResource("562_d128g")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"c02_吕萍_背靠呼吸",
|
||||
"speed": 2.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("561_absvs")
|
||||
}, {
|
||||
@ -3303,7 +3314,7 @@ animations = [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("577_y1k3y")
|
||||
}],
|
||||
"loop": true,
|
||||
"loop": false,
|
||||
"name": &"c02_吕萍_背靠起身",
|
||||
"speed": 6.0
|
||||
}, {
|
||||
@ -4655,7 +4666,7 @@ animations = [{
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"c03_胖子游戏_掉下来",
|
||||
"speed": 7.0
|
||||
"speed": 6.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
@ -4724,7 +4735,7 @@ animations = [{
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"c03_胖子游戏_瘦子走",
|
||||
"speed": 5.0
|
||||
"speed": 6.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
@ -4747,5 +4758,5 @@ animations = [{
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"c03_胖子游戏_瘦子跑",
|
||||
"speed": 5.0
|
||||
"speed": 6.0
|
||||
}]
|
||||
|
9
config/audio/sfx/footstep_胖子游戏.tres
Normal file
9
config/audio/sfx/footstep_胖子游戏.tres
Normal file
@ -0,0 +1,9 @@
|
||||
[gd_resource type="Resource" script_class="AudioStreamCollection" load_steps=4 format=3 uid="uid://iyo6a8rv35rq"]
|
||||
|
||||
[ext_resource type="AudioStream" uid="uid://cg5sn4mdaxrqf" path="res://asset/audio/effect/footstep/footstep_grass_001.ogg" id="1_vboyp"]
|
||||
[ext_resource type="AudioStream" uid="uid://cy3t548f0ojfp" path="res://asset/audio/effect/footstep/footstep_grass_000.ogg" id="2_evogo"]
|
||||
[ext_resource type="Script" uid="uid://bgxi2pq6x5d88" path="res://config/audio/audio_stream_collection.gd" id="3_soveh"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("3_soveh")
|
||||
audios = Array[AudioStream]([ExtResource("1_vboyp"), ExtResource("2_evogo")])
|
@ -100,3 +100,33 @@ func c03_get_paper_coin(_node = null) -> bool:
|
||||
SceneManager.enable_prop_item("prop_3个纸铜钱")
|
||||
printerr("c03_get_paper_coin: stage should not be greater than 3, but got %d" % stage)
|
||||
return false
|
||||
|
||||
|
||||
# amb_玩家主动选择离开游戏 8.46s
|
||||
var stream_exit_by_choice = preload("uid://dlvxxvcx7ga3w")
|
||||
|
||||
func c02_exit_from_corridor() -> void:
|
||||
SceneManager.lock_player()
|
||||
if not ArchiveManager.get_global_value("has_exited_by_player_choice"):
|
||||
ArchiveManager.set_global_entry("has_exited_by_player_choice", true)
|
||||
# 首次选择时,播放离开音效
|
||||
SceneManager.black_transition(0.7, 10.0)
|
||||
# amb_玩家主动选择离开游戏 8.46s
|
||||
AudioManager.play_sfx(stream_exit_by_choice)
|
||||
await Util.wait(8.5)
|
||||
SceneManager.unlock_player()
|
||||
SceneManager.checkout_index_page()
|
||||
|
||||
|
||||
func c03_final_choose_exit() -> void:
|
||||
EventManager.set_stage_if_greater("c03_well_show", 2)
|
||||
ArchiveManager.set_global_entry("has_exited_by_player_choice", true)
|
||||
# 黑屏播放结束音效后回到主菜单
|
||||
# 如果出公寓做过选择,此处就不出现选择
|
||||
SceneManager.lock_player()
|
||||
SceneManager.black_transition(0.7, 10.0)
|
||||
AudioManager.play_sfx(stream_exit_by_choice)
|
||||
await Util.wait(8.5)
|
||||
SceneManager.unlock_player()
|
||||
SceneManager.checkout_index_page()
|
||||
|
||||
|
@ -76,6 +76,17 @@ func get_player() -> MainPlayer:
|
||||
return null
|
||||
|
||||
|
||||
func pause_and_hide_player_sprite(duration := 2.0) -> void:
|
||||
var player = get_player()
|
||||
if player:
|
||||
player.toggle_pause_state(true)
|
||||
player.hide_sprite = true
|
||||
if duration > 0:
|
||||
await Util.wait(duration)
|
||||
player.hide_sprite = false
|
||||
player.toggle_pause_state(false)
|
||||
|
||||
|
||||
func resettle_player(global_position_x: float, direction: Vector2) -> void:
|
||||
var player = get_player()
|
||||
if player:
|
||||
|
@ -45,7 +45,7 @@ signal animation_finished
|
||||
if is_node_ready():
|
||||
_check_character_runtime_status()
|
||||
if val > 3:
|
||||
freeze_player(1, val, true)
|
||||
player_action(val, false)
|
||||
|
||||
# 使用 new,方便在 editor 中刷新新值
|
||||
var current_animation_config: Dictionary
|
||||
|
@ -51,6 +51,9 @@ var ANIMATION_CONFIG = {
|
||||
16: [&"", Vector2.ONE, Vector2(0, -50.0), &"", &"c00_吕萍_记笔记_right"],
|
||||
17: [&"", Vector2.ONE, Vector2(0, -50.0), &"c02_吕萍_头痛蹲下_左", &"c02_吕萍_头痛蹲下_右"],
|
||||
18: [&"", Vector2.ONE, Vector2(-37, -24.0), &"", &"c03_吕萍_被吓到摔倒"],
|
||||
# 第二章井边站起来
|
||||
19: [&"", Vector2.ONE, Vector2(2.5, -48.0), &"c02_吕萍_背靠起身", &""],
|
||||
20: [&"", Vector2.ONE, Vector2(2.5, -48.0), &"c02_吕萍_背靠呼吸", &""],
|
||||
},
|
||||
"吕萍爬行":
|
||||
{
|
||||
@ -187,11 +190,11 @@ var ANIMATION_CONFIG = {
|
||||
"胖子游戏":
|
||||
{
|
||||
"scale": Vector2(1, 1),
|
||||
"speed_walking": 55.0,
|
||||
"speed_walking": 70.0,
|
||||
"can_run": true,
|
||||
"speed_runnig": 100.0,
|
||||
"speed_runnig": 110.0,
|
||||
"walk_footstep": 0.5,
|
||||
"run_footstep": 7.0 / 9.0 / 2.0,
|
||||
"run_footstep": 0.5,
|
||||
"os_height": 70.0,
|
||||
"light_height": 20.0,
|
||||
# 如果使用 auto,就会自动以最低点为基准
|
||||
|
@ -27,7 +27,6 @@ func hold_cancel_before_exit() -> void:
|
||||
_holding_cancel_before_exit = true
|
||||
|
||||
|
||||
|
||||
# 可以直接调用
|
||||
func display() -> void:
|
||||
if current_child:
|
||||
|
@ -13,6 +13,7 @@ const FOOTSTEP_AUDIO = {
|
||||
"室外": preload("res://config/audio/sfx/footstep_室外.tres"),
|
||||
"crawling": preload("res://config/audio/sfx/footstep_crawling.tres"),
|
||||
"盒子猫": preload("res://config/audio/sfx/footstep_meow.tres"),
|
||||
"胖子游戏": preload("res://config/audio/sfx/footstep_胖子游戏.tres"),
|
||||
}
|
||||
|
||||
# Exports
|
||||
@ -33,7 +34,7 @@ var default_portal := "left"
|
||||
if is_node_ready():
|
||||
reset_player_y()
|
||||
@export_group("Sound")
|
||||
@export_enum("none", "ghost", "硬地面", "室外", "crawling", "盒子猫") var footstep_type: String = "硬地面":
|
||||
@export_enum("none", "ghost", "硬地面", "室外", "crawling", "盒子猫", "胖子游戏") var footstep_type: String = "硬地面":
|
||||
set(val):
|
||||
footstep_type = val
|
||||
if is_node_ready():
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=100 format=3 uid="uid://djc2uaefhmu7"]
|
||||
[gd_scene load_steps=99 format=3 uid="uid://djc2uaefhmu7"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_0dylx"]
|
||||
[ext_resource type="Script" uid="uid://dsp5plrdkrsd7" path="res://scene/ground/scene/c02/s03_院子.gd" id="2_dt5aj"]
|
||||
@ -72,8 +72,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="65_rgrem"]
|
||||
[ext_resource type="SpriteFrames" uid="uid://vadgcpixpkj1" path="res://asset/art/gif/c03_一楼胖李癞/c03_一楼胖李癞_frames.tres" id="66_deuom"]
|
||||
[ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="67_h2lyo"]
|
||||
[ext_resource type="Script" uid="uid://c6bdubwu8phvc" path="res://scene/ground/script/c02/s03_event二章井边回忆.gd" id="72_18q2p"]
|
||||
[ext_resource type="PackedScene" uid="uid://y6em3na3d05d" path="res://scene/ground/script/c02/s03_closeup二章井边回忆.tscn" id="73_lt8c0"]
|
||||
[ext_resource type="Script" uid="uid://cts4fvgir2lur" path="res://scene/ground/script/c02/s03_event_2d第二章结束井边演出.gd" id="72_18q2p"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_rt2lh"]
|
||||
length = 0.001
|
||||
@ -1288,13 +1287,19 @@ move_configs = Array[Dictionary]([{
|
||||
debug_mov_animation = "辫子癞子_走路_右"
|
||||
metadata/_custom_type_script = "uid://cphfob11f7atx"
|
||||
|
||||
[node name="Event二章井边回忆" type="Node2D" parent="Ground/DeployLayer" index="38"]
|
||||
[node name="Event2D第二章结束井边演出" type="Node2D" parent="Ground/DeployLayer" index="38"]
|
||||
position = Vector2(2100, 0)
|
||||
script = ExtResource("72_18q2p")
|
||||
event_name = &"c03_well_show"
|
||||
event_stages = Array[int]([1])
|
||||
metadata/_custom_type_script = "uid://bkkiyk5jkdw4d"
|
||||
|
||||
[node name="Closeup二章井边回忆" parent="Ground/DeployLayer/Event二章井边回忆" instance=ExtResource("23_81juy")]
|
||||
packed_scene = ExtResource("73_lt8c0")
|
||||
quit_closeup_on_cancel = false
|
||||
[node name="Pro小蝉" type="AnimatedSprite2D" parent="Ground/DeployLayer/Event2D第二章结束井边演出"]
|
||||
position = Vector2(88, 54)
|
||||
sprite_frames = ExtResource("39_rnk1v")
|
||||
animation = &"小婵呼吸"
|
||||
script = ExtResource("67_h2lyo")
|
||||
metadata/_custom_type_script = "uid://cphfob11f7atx"
|
||||
|
||||
[node name="PointLight2D" type="PointLight2D" parent="Ground/AmbientLayer" index="0"]
|
||||
light_mask = 4
|
||||
@ -1305,9 +1310,9 @@ range_item_cull_mask = 4
|
||||
texture = SubResource("GradientTexture2D_plfv5")
|
||||
|
||||
[node name="MainPlayer" parent="Ground" index="5"]
|
||||
position = Vector2(2128, 93)
|
||||
position = Vector2(2236, 93)
|
||||
player_movement_rect = Rect2(17, -158, 2233, 316)
|
||||
facing_direction = Vector2(1, 0)
|
||||
facing_direction = Vector2(-1, -1)
|
||||
|
||||
[node name="CameraFocusMarker" parent="Ground" index="6"]
|
||||
limit_right = 2380
|
||||
|
@ -34,8 +34,9 @@ func eavesdrop_luren() -> void:
|
||||
# 对话
|
||||
DialogueManager.show_dialogue_balloon(dialogue_c03, "c03_s01_三楼偷听陆仁小蝶")
|
||||
await DialogueManager.dialogue_ended
|
||||
await Util.wait(1)
|
||||
SceneManager.player_action(14, true)
|
||||
await Util.wait(1.0)
|
||||
EventManager.set_stage("c03_invite_xchan_supper", 1)
|
||||
await Util.wait(1.5)
|
||||
SceneManager.player_action(14, true)
|
||||
await SceneManager.pop_os_with_str("c03_s01_偷听完3012")
|
||||
SceneManager.unlock_player()
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=32 format=3 uid="uid://dlrbhfvnd3cs0"]
|
||||
[gd_scene load_steps=33 format=3 uid="uid://dlrbhfvnd3cs0"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_eb2op"]
|
||||
[ext_resource type="Script" uid="uid://c0rh2n36ait6i" path="res://scene/ground/scene/c03/s01_三楼.gd" id="2_ow08b"]
|
||||
@ -23,20 +23,10 @@
|
||||
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="18_0xq6i"]
|
||||
[ext_resource type="Texture2D" uid="uid://dagy852q0fduh" path="res://asset/art/scene/c03/s01_三楼/e_治病木牌.png" id="19_hmme5"]
|
||||
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="20_hmme5"]
|
||||
[ext_resource type="Script" uid="uid://dekt5dv2je54r" path="res://scene/ground/script/c03/s01_event_2d偷听陆仁.gd" id="22_axwjj"]
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_krvxg"]
|
||||
interpolation_mode = 2
|
||||
offsets = PackedFloat32Array(0, 0.693168, 1)
|
||||
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_4rrrd"]
|
||||
gradient = SubResource("Gradient_krvxg")
|
||||
height = 100
|
||||
fill = 2
|
||||
fill_from = Vector2(0.5, 0.5)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_chbaa"]
|
||||
atlas = ExtResource("11_4y4hg")
|
||||
region = Rect2(0, 0, 6, 14)
|
||||
@ -73,6 +63,17 @@ animations = [{
|
||||
"speed": 10.0
|
||||
}]
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_krvxg"]
|
||||
interpolation_mode = 2
|
||||
offsets = PackedFloat32Array(0, 0.693168, 1)
|
||||
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_4rrrd"]
|
||||
gradient = SubResource("Gradient_krvxg")
|
||||
height = 100
|
||||
fill = 2
|
||||
fill_from = Vector2(0.5, 0.5)
|
||||
|
||||
[node name="S01" type="Node2D"]
|
||||
metadata/_edit_horizontal_guides_ = [98.0]
|
||||
|
||||
@ -144,23 +145,10 @@ event_name = &"c03_s01_meat_put"
|
||||
event_stages = Array[int]([1])
|
||||
metadata/_custom_type_script = "uid://bkkiyk5jkdw4d"
|
||||
|
||||
[node name="窗口闪动" type="AnimatedSprite2D" parent="Ground/DeployLayer/Event2D放肉后"]
|
||||
position = Vector2(434, -15)
|
||||
sprite_frames = ExtResource("10_krvxg")
|
||||
animation = &"三楼窗户动画"
|
||||
autoplay = "三楼窗户动画"
|
||||
frame = 5
|
||||
frame_progress = 0.482491
|
||||
|
||||
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/Event2D放肉后/窗口闪动"]
|
||||
scale = Vector2(1.12987, 0.87752)
|
||||
texture = SubResource("GradientTexture2D_4rrrd")
|
||||
|
||||
[node name="CloseupDemo公告" parent="Ground/DeployLayer/Event2D放肉后" instance=ExtResource("6_obrgj")]
|
||||
position = Vector2(573, -6)
|
||||
texture = ExtResource("11_amci2")
|
||||
packed_scene = ExtResource("7_d27sg")
|
||||
pause_sfx_on_display = null
|
||||
|
||||
[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Event2D放肉后/CloseupDemo公告"]
|
||||
script = ExtResource("6_yaa68")
|
||||
@ -265,18 +253,32 @@ scale = Vector2(0.8, 0.8)
|
||||
texture = ExtResource("5_fnwup")
|
||||
flip_h = true
|
||||
|
||||
[node name="Ambush偷听陆仁" parent="Ground/DeployLayer" index="9" instance=ExtResource("20_hmme5")]
|
||||
[node name="Event2D偷听陆仁" type="Node2D" parent="Ground/DeployLayer" index="9"]
|
||||
script = ExtResource("22_axwjj")
|
||||
event_name = &"c03_invite_xchan_supper"
|
||||
event_stages = Array[int]([0])
|
||||
pre_event_name = &"c03_s01_meat_put"
|
||||
pre_event_stages = Array[int]([1])
|
||||
metadata/_custom_type_script = "uid://bkkiyk5jkdw4d"
|
||||
|
||||
[node name="窗口闪动" type="AnimatedSprite2D" parent="Ground/DeployLayer/Event2D偷听陆仁"]
|
||||
position = Vector2(434, -15)
|
||||
sprite_frames = ExtResource("10_krvxg")
|
||||
animation = &"三楼窗户动画"
|
||||
autoplay = "三楼窗户动画"
|
||||
frame = 5
|
||||
frame_progress = 0.482491
|
||||
|
||||
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/Event2D偷听陆仁/窗口闪动"]
|
||||
scale = Vector2(1.12987, 0.87752)
|
||||
texture = SubResource("GradientTexture2D_4rrrd")
|
||||
|
||||
[node name="Ambush偷听陆仁" parent="Ground/DeployLayer/Event2D偷听陆仁" instance=ExtResource("20_hmme5")]
|
||||
position = Vector2(434, 9)
|
||||
trigger_mode = "interact"
|
||||
one_shot = false
|
||||
hook_method = "eavesdrop_luren"
|
||||
|
||||
[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Ambush偷听陆仁"]
|
||||
script = ExtResource("6_yaa68")
|
||||
updater_event = &"c03_s01_meat_put"
|
||||
trigger_event = &"c03_invite_xchan_supper"
|
||||
trigger_mode = "triggered"
|
||||
metadata/_custom_type_script = "uid://0wjaho6qkg6s"
|
||||
|
||||
[node name="MainPlayer" parent="Ground" index="5"]
|
||||
position = Vector2(34, 98)
|
||||
catty_light_energy = 0.5
|
||||
@ -284,10 +286,7 @@ player_movement_rect = Rect2(30, -158, 693, 316)
|
||||
facing_direction = Vector2(1, 0)
|
||||
|
||||
[node name="CameraFocusMarker" parent="Ground" index="6"]
|
||||
limit_left = 0
|
||||
limit_top = -158
|
||||
limit_right = 749
|
||||
limit_bottom = 158
|
||||
|
||||
[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"]
|
||||
texture = ExtResource("5_ow08b")
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=26 format=3 uid="uid://c7c88hg2cl1j7"]
|
||||
[gd_scene load_steps=27 format=3 uid="uid://c7c88hg2cl1j7"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_byh4s"]
|
||||
[ext_resource type="Script" uid="uid://byw2swgt783oa" path="res://scene/ground/scene/c03/s04_李癞房间.gd" id="2_vjibx"]
|
||||
@ -23,6 +23,7 @@
|
||||
[ext_resource type="AudioStream" uid="uid://qvy062jtmtbn" path="res://asset/audio/mixkit/mixkit-man-coughing-2224.ogg" id="17_tk48j"]
|
||||
[ext_resource type="AudioStream" uid="uid://copg4yfv32fgn" path="res://asset/audio/mixkit/mixkit-man-coughing-loud-2222.ogg" id="18_q7jtk"]
|
||||
[ext_resource type="AudioStream" uid="uid://cvp1j6211ghtj" path="res://asset/audio/mixkit/mixkit-sick-male-cough-2225.ogg" id="19_27fnr"]
|
||||
[ext_resource type="PackedScene" uid="uid://b6ymfeft65wof" path="res://scene/ground/script/c03/s04_closeup柜子.tscn" id="23_q7jtk"]
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
||||
|
||||
@ -150,6 +151,12 @@ unique_name_in_owner = true
|
||||
position = Vector2(76, 42)
|
||||
prop_key = "prop_药方"
|
||||
|
||||
[node name="Closeup柜子" parent="Ground/DeployLayer" index="9" instance=ExtResource("6_dbkw8")]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(104, 41)
|
||||
packed_scene = ExtResource("23_q7jtk")
|
||||
sign_mark_offset = Vector2(0, -11.02)
|
||||
|
||||
[node name="MainPlayer" parent="Ground" index="5"]
|
||||
position = Vector2(63, 100)
|
||||
catty_light_energy = 0.5
|
||||
|
@ -66,12 +66,6 @@ catty_light_energy = 0.5
|
||||
player_movement_rect = Rect2(26, -158, 519, 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
|
||||
|
||||
[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"]
|
||||
position = Vector2(8.5, 0)
|
||||
texture = ExtResource("5_l22xv")
|
||||
|
@ -14,13 +14,28 @@ func _ready() -> void:
|
||||
|
||||
|
||||
#region node_reference
|
||||
var closeup绞肉机: Closeup2D
|
||||
#endregion
|
||||
|
||||
|
||||
# 读取设置变量名
|
||||
func _setup_node_reference() -> void:
|
||||
pass
|
||||
closeup绞肉机 = $"../DeployLayer/Closeup绞肉机"
|
||||
|
||||
|
||||
func _on_ground_ready() -> void:
|
||||
pass
|
||||
# c03_meat_grinder: 0:初始化 1:已装转盘 2:绞肉机演出 3:演出结束
|
||||
if EventManager.get_stage("c03_meat_grinder") == 2:
|
||||
# 进入演出
|
||||
SceneManager.get_player().global_position.x = $"../DeployLayer/portal_2".global_position.x
|
||||
_grinder_show()
|
||||
|
||||
|
||||
func _grinder_show() -> void:
|
||||
# 胖子从屠宰间桌子左侧的上方掉落,站起看向右侧
|
||||
# 镜头移动至桌子,棺材怪正在切桌上的肉块,桌面右边放着绞肉机。
|
||||
# 右侧传来小蝉(小女孩)的笑声(or喊声),棺材怪被吸引离开,向右侧爬去
|
||||
# 同时画面移回左侧,胖子不见,小蝶站在胖子原先掉落的位置(玩家可以开始操控)
|
||||
# 小蝉站在绞肉机前,玩家走近后小蝉消失。
|
||||
# TODO 演出
|
||||
closeup绞肉机.display()
|
||||
|
@ -1,7 +1,7 @@
|
||||
[gd_scene load_steps=18 format=3 uid="uid://c67732f2we13j"]
|
||||
[gd_scene load_steps=20 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" path="res://scene/ground/scene/c03/s07_屠宰间.gd" id="2_oxs1j"]
|
||||
[ext_resource type="Script" uid="uid://dh5vxhnfnua3q" path="res://scene/ground/scene/c03/s07_屠宰间.gd" id="2_oxs1j"]
|
||||
[ext_resource type="AudioStream" uid="uid://b2mudqvq1dmng" path="res://asset/audio/sfx/环境音/白噪音/白噪声房间里1.ogg" id="3_jfgnj"]
|
||||
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_t8dkf"]
|
||||
[ext_resource type="Texture2D" uid="uid://btdwnxrmipv4h" path="res://asset/art/scene/c03/s07_屠宰间/fg_屠宰间前景.png" id="5_0gnm3"]
|
||||
@ -13,9 +13,11 @@
|
||||
[ext_resource type="Script" uid="uid://bngxf1rrcqxri" path="res://scene/entity/ux/swing_2d.gd" id="7_dly68"]
|
||||
[ext_resource type="Texture2D" uid="uid://bp52cb7wtt7ql" path="res://asset/art/scene/c03/s07_屠宰间/长桌.png" id="7_es8d4"]
|
||||
[ext_resource type="Texture2D" uid="uid://cjau5qsqql2qu" path="res://asset/art/scene/c03/s07_屠宰间/和谐版/和谐版ren.png" id="8_dly68"]
|
||||
[ext_resource type="Texture2D" uid="uid://vp6jay4dfd3" path="res://asset/art/scene/c03/s07_屠宰间/绞肉机.png" id="8_thx4k"]
|
||||
[ext_resource type="Texture2D" uid="uid://v4icuu7bhjwb" path="res://asset/art/scene/c03/s07_屠宰间/人肉3.png" id="9_jfgnj"]
|
||||
[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"]
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
||||
|
||||
@ -70,11 +72,20 @@ target_scene = "c03_s09"
|
||||
target_portal = "left"
|
||||
status = "opened"
|
||||
|
||||
[node name="长桌" type="Sprite2D" parent="Ground/DeployLayer" index="3"]
|
||||
[node name="portal_2" parent="Ground/DeployLayer" index="3" instance=ExtResource("6_t8dkf")]
|
||||
position = Vector2(316, 34)
|
||||
debug_note = "胖子游戏结束,回到绞肉机前"
|
||||
portal_name = "2"
|
||||
|
||||
[node name="长桌" type="Sprite2D" parent="Ground/DeployLayer" index="4"]
|
||||
position = Vector2(358, 53)
|
||||
texture = ExtResource("7_es8d4")
|
||||
|
||||
[node name="悬挂物" type="Node2D" parent="Ground/DeployLayer" index="4"]
|
||||
[node name="绞肉机" type="Sprite2D" parent="Ground/DeployLayer/长桌"]
|
||||
position = Vector2(-41, -34)
|
||||
texture = ExtResource("8_thx4k")
|
||||
|
||||
[node name="悬挂物" type="Node2D" parent="Ground/DeployLayer" index="5"]
|
||||
|
||||
[node name="人" type="Node2D" parent="Ground/DeployLayer/悬挂物"]
|
||||
position = Vector2(-64, -2)
|
||||
@ -104,10 +115,19 @@ script = ExtResource("5_vyti6")
|
||||
original_texture = ExtResource("9_jfgnj")
|
||||
metadata/_custom_type_script = "uid://dt8cfnm2og4h"
|
||||
|
||||
[node name="Closeup绞肉机" parent="Ground/DeployLayer" index="5" instance=ExtResource("14_48a3r")]
|
||||
[node name="Closeup绞肉机" parent="Ground/DeployLayer" index="6" instance=ExtResource("14_48a3r")]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(316, 21)
|
||||
packed_scene = ExtResource("15_48a3r")
|
||||
quit_closeup_on_cancel = false
|
||||
|
||||
[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])
|
||||
metadata/_custom_type_script = "uid://0wjaho6qkg6s"
|
||||
|
||||
[node name="MainPlayer" parent="Ground" index="5"]
|
||||
position = Vector2(63, 95)
|
||||
catty_light_energy = 0.5
|
||||
|
@ -212,12 +212,6 @@ catty_light_energy = 0.5
|
||||
player_movement_rect = Rect2(37, -158, 502, 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
|
||||
|
||||
[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"]
|
||||
position = Vector2(8, 0)
|
||||
texture = ExtResource("5_i2s3v")
|
||||
|
@ -4,7 +4,7 @@ extends AnimationRoot
|
||||
|
||||
# 覆盖该方法
|
||||
func _default_data() -> Dictionary:
|
||||
return {}
|
||||
return {"has_entered": false}
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
@ -23,4 +23,12 @@ func _setup_node_reference() -> void:
|
||||
|
||||
|
||||
func _on_ground_ready() -> void:
|
||||
pass
|
||||
_check_first_enter()
|
||||
|
||||
|
||||
func _check_first_enter() -> void:
|
||||
if not data["has_entered"]:
|
||||
SceneManager.lock_player(0, 5, true)
|
||||
set_data("has_entered", true)
|
||||
await SceneManager.pause_and_hide_player_sprite(1.5)
|
||||
SceneManager.unlock_player()
|
@ -17,6 +17,7 @@ metadata/_edit_horizontal_guides_ = [-627.0]
|
||||
scene_name = "c03_s10"
|
||||
display_hud = false
|
||||
player_y = 60
|
||||
footstep_type = "胖子游戏"
|
||||
|
||||
[node name="AnimationPlayer" parent="Ground" index="0"]
|
||||
libraries = {
|
||||
@ -47,9 +48,6 @@ texture = ExtResource("6_or232")
|
||||
|
||||
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
|
||||
position = Vector2(77, 11)
|
||||
target_scene = "c03_s01"
|
||||
target_portal = "1"
|
||||
status = "opened"
|
||||
|
||||
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
|
||||
position = Vector2(963, 50)
|
||||
@ -59,7 +57,7 @@ target_portal = "left"
|
||||
[node name="MainPlayer" parent="Ground" index="5"]
|
||||
position = Vector2(63, 95)
|
||||
character = "胖子游戏"
|
||||
player_movement_rect = Rect2(80, -158, 394, 316)
|
||||
player_movement_rect = Rect2(30, -158, 948, 316)
|
||||
facing_direction = Vector2(1, 0)
|
||||
|
||||
[node name="CameraFocusMarker" parent="Ground" index="6"]
|
||||
|
@ -28,6 +28,7 @@ func _on_ground_ready() -> void:
|
||||
|
||||
func _check_first_enter() -> void:
|
||||
if not data["has_entered"]:
|
||||
await SceneManager.lock_player(0, 6, true)
|
||||
SceneManager.unlock_player()
|
||||
SceneManager.lock_player(0, 6, true)
|
||||
set_data("has_entered", true)
|
||||
await SceneManager.pause_and_hide_player_sprite(1.5)
|
||||
SceneManager.unlock_player()
|
@ -21,6 +21,7 @@ metadata/_edit_horizontal_guides_ = [-627.0]
|
||||
scene_name = "c03_s11"
|
||||
display_hud = false
|
||||
player_y = 100
|
||||
footstep_type = "胖子游戏"
|
||||
|
||||
[node name="AnimationPlayer" parent="Ground" index="0"]
|
||||
libraries = {
|
||||
@ -55,12 +56,12 @@ texture = ExtResource("6_hx2uj")
|
||||
|
||||
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
|
||||
position = Vector2(304, -6)
|
||||
target_scene = "c03_s01"
|
||||
target_portal = "1"
|
||||
status = "opened"
|
||||
debug_note = "不要移动,已与爬出出口的动画位置对齐"
|
||||
|
||||
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
|
||||
position = Vector2(1392, -9)
|
||||
target_scene = "c03_s12"
|
||||
target_portal = "left"
|
||||
|
||||
[node name="Pro探子" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="2"]
|
||||
position = Vector2(818, -27)
|
||||
|
@ -27,6 +27,7 @@ func _on_ground_ready() -> void:
|
||||
|
||||
|
||||
func eat_meat() -> void:
|
||||
SceneManager.lock_player()
|
||||
$"../DeployLayer/Ambush吃肉".enabled = false
|
||||
await SceneManager.get_player().walk_to_x(850.0).finished
|
||||
# 第一帧没有瘦子,后面才有
|
||||
@ -35,4 +36,10 @@ func eat_meat() -> void:
|
||||
sprite.play()
|
||||
sprite.frame = 1
|
||||
player.hide_sprite = true
|
||||
await sprite.animation_finished
|
||||
SceneManager.unlock_player()
|
||||
# c03_meat_grinder: 0:初始化 1:已装转盘 2:绞肉机演出 3:演出结束
|
||||
EventManager.set_stage_if_greater("c03_meat_grinder", 2)
|
||||
SceneManager.get_ground_loader().transition_to_scene("c03_s07", "2")
|
||||
|
||||
|
||||
|
@ -18,6 +18,7 @@ metadata/_edit_horizontal_guides_ = [-627.0]
|
||||
scene_name = "c03_s12"
|
||||
display_hud = false
|
||||
player_y = 63
|
||||
footstep_type = "胖子游戏"
|
||||
|
||||
[node name="AnimationPlayer" parent="Ground" index="0"]
|
||||
libraries = {
|
||||
@ -43,9 +44,6 @@ offset = Vector2(0, -158)
|
||||
|
||||
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
|
||||
position = Vector2(69, 21)
|
||||
target_scene = "c03_s01"
|
||||
target_portal = "1"
|
||||
status = "opened"
|
||||
|
||||
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
|
||||
position = Vector2(1392, -9)
|
||||
@ -68,11 +66,11 @@ hook_method = "eat_meat"
|
||||
[node name="MainPlayer" parent="Ground" index="5"]
|
||||
position = Vector2(69, 95)
|
||||
character = "胖子游戏"
|
||||
player_movement_rect = Rect2(290, -158, 1110, 316)
|
||||
player_movement_rect = Rect2(30, -158, 820, 316)
|
||||
facing_direction = Vector2(1, 0)
|
||||
|
||||
[node name="CameraFocusMarker" parent="Ground" index="6"]
|
||||
limit_right = 1500
|
||||
limit_right = 1200
|
||||
|
||||
[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"]
|
||||
offset = Vector2(0, 50)
|
||||
|
58
scene/ground/script/c02/s03_event_2d第二章结束井边演出.gd
Normal file
58
scene/ground/script/c02/s03_event_2d第二章结束井边演出.gd
Normal file
@ -0,0 +1,58 @@
|
||||
@tool
|
||||
extends Event2D
|
||||
|
||||
# var prev_stage := 0
|
||||
# var stage := 0
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
super._ready()
|
||||
if Engine.is_editor_hint():
|
||||
return
|
||||
|
||||
|
||||
func _on_global_stage_updated(e: StringName, s: int) -> void:
|
||||
super._on_global_stage_updated(e, s)
|
||||
|
||||
|
||||
func _on_ground_ready(_ground: Ground2D) -> void:
|
||||
# c03_well_show: 0:初始化 1:准备演出 2:演出完成
|
||||
if stage == 1:
|
||||
_start_well_show()
|
||||
|
||||
const start_x = 2236.0
|
||||
|
||||
@onready var xchan = $"Pro小蝉" as ProAnimatedSprite2D
|
||||
|
||||
func _start_well_show() -> void:
|
||||
xchan.modulate.a = 0.0
|
||||
var player = SceneManager.get_player()
|
||||
SceneManager.lock_player()
|
||||
player.position.x = start_x
|
||||
player.set_facing_direction(Vector2.LEFT)
|
||||
# c02_吕萍_背靠呼吸
|
||||
player.player_action(20, false)
|
||||
await Util.wait(3.0)
|
||||
var tween = create_tween()
|
||||
tween.tween_property(xchan, "modulate:a", 1.0, 1.0)
|
||||
await tween.finished
|
||||
if not ArchiveManager.get_global_value("has_exited_by_player_choice"):
|
||||
DialogueManager.show_dialogue_balloon(GlobalConfig.DIALOG_C03, "c03_井边回忆")
|
||||
else:
|
||||
DialogueManager.show_dialogue_balloon(GlobalConfig.DIALOG_C03, "c03_井边回忆_无选项")
|
||||
await DialogueManager.dialogue_ended
|
||||
# 如果选择离开,此处不会设置,需要在 GlobalFunctor.c03_final_choose_exit() 中设置
|
||||
EventManager.set_stage_if_greater("c03_well_show", 2)
|
||||
create_tween().tween_property(xchan, "modulate:a", 0.0, 0.5)
|
||||
await Util.wait(1.0)
|
||||
# c02_吕萍_背靠起身
|
||||
await player.player_action(19, true)
|
||||
SceneManager.unlock_player()
|
||||
|
||||
|
||||
func _on_pre_stage_updated() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func _on_stage_updated() -> void:
|
||||
pass
|
1
scene/ground/script/c02/s03_event_2d第二章结束井边演出.gd.uid
Normal file
1
scene/ground/script/c02/s03_event_2d第二章结束井边演出.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://cts4fvgir2lur
|
@ -1 +0,0 @@
|
||||
uid://c6bdubwu8phvc
|
1
scene/ground/script/c03/s01_event_2d偷听陆仁.gd.uid
Normal file
1
scene/ground/script/c03/s01_event_2d偷听陆仁.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://dekt5dv2je54r
|
10
scene/ground/script/c03/s04_closeup柜子.gd
Normal file
10
scene/ground/script/c03/s04_closeup柜子.gd
Normal file
@ -0,0 +1,10 @@
|
||||
extends CanvasLayer
|
||||
|
||||
@warning_ignore("unused_signal")
|
||||
signal exit(arg)
|
||||
|
||||
func _ready() -> void:
|
||||
layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME
|
||||
|
||||
# TODO 拿药方后,启动 drug game
|
||||
EventManager.set_stage("c03_drug_game", 1)
|
1
scene/ground/script/c03/s04_closeup柜子.gd.uid
Normal file
1
scene/ground/script/c03/s04_closeup柜子.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://bp23kh1gi3asj
|
50
scene/ground/script/c03/s04_closeup柜子.tscn
Normal file
50
scene/ground/script/c03/s04_closeup柜子.tscn
Normal file
@ -0,0 +1,50 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://b6ymfeft65wof"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bp23kh1gi3asj" path="res://scene/ground/script/c03/s04_closeup柜子.gd" id="1_2ow0y"]
|
||||
[ext_resource type="Texture2D" uid="uid://dluphta2op6kq" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/背景.png" id="2_rmoey"]
|
||||
[ext_resource type="Texture2D" uid="uid://cy1jly6cetwms" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/图层 11.png" id="3_ard2c"]
|
||||
[ext_resource type="Texture2D" uid="uid://dylb3p5sijet1" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/李弟照片.png" id="3_d7uum"]
|
||||
[ext_resource type="Texture2D" uid="uid://cxaonpvi5g0xv" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/药方.png" id="5_rmoey"]
|
||||
[ext_resource type="Texture2D" uid="uid://dpo1lwepl0jaf" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/碗.png" id="7_qfnr1"]
|
||||
[ext_resource type="PackedScene" uid="uid://bkk1rxx36ghrl" path="res://scene/entity/ux/hover_light_click_area.tscn" id="8_kxw4a"]
|
||||
[ext_resource type="Texture2D" uid="uid://doclbaxmuy2v0" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/麻将.png" id="9_gdtfm"]
|
||||
|
||||
[node name="Closeup柜子" type="CanvasLayer"]
|
||||
script = ExtResource("1_2ow0y")
|
||||
|
||||
[node name="BG" type="TextureRect" parent="."]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("2_rmoey")
|
||||
|
||||
[node name="照片" type="Sprite2D" parent="."]
|
||||
position = Vector2(281, 80)
|
||||
texture = ExtResource("3_d7uum")
|
||||
|
||||
[node name="Hover药方" parent="." instance=ExtResource("8_kxw4a")]
|
||||
position = Vector2(442, 181)
|
||||
|
||||
[node name="药方" type="Sprite2D" parent="Hover药方"]
|
||||
texture = ExtResource("5_rmoey")
|
||||
|
||||
[node name="碗" type="Sprite2D" parent="."]
|
||||
position = Vector2(229, 187)
|
||||
texture = ExtResource("7_qfnr1")
|
||||
|
||||
[node name="Hover麻将" parent="碗" instance=ExtResource("8_kxw4a")]
|
||||
position = Vector2(-69, -40)
|
||||
|
||||
[node name="麻将" type="Sprite2D" parent="碗/Hover麻将"]
|
||||
texture = ExtResource("9_gdtfm")
|
||||
|
||||
[node name="遮罩" type="TextureRect" parent="."]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
texture = ExtResource("3_ard2c")
|
@ -5,16 +5,82 @@ signal exit(arg)
|
||||
|
||||
@onready var wheel = $Wheel as Wheel2D
|
||||
@onready var wheel_sfx = $"Sfx转盘齿轮"
|
||||
@onready var sfx_success = $"Sfx转动完成"
|
||||
@onready var wheel_sprite = $"转盘" as AnimatedSprite2D
|
||||
@onready var hand_sprite = $"手" as Node2D
|
||||
@onready var animation_player = $AnimationPlayer as AnimationPlayer
|
||||
|
||||
# c03_meat_grinder: 0:初始化 1:已装转盘 2:绞肉机演出 3:演出结束
|
||||
var stage := 0
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
stage = EventManager.get_stage("c03_meat_grinder")
|
||||
layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME
|
||||
if stage == 0:
|
||||
# 需要装转盘
|
||||
SceneManager.pop_center_notification("ui_center_notify_c03绞肉机缺少转轮")
|
||||
wheel_sprite.hide()
|
||||
elif stage == 1:
|
||||
# 演出并传送到胖子游戏
|
||||
_wheel_placed_and_show()
|
||||
elif stage == 2:
|
||||
SceneManager.pop_center_notification("ui_center_notify_drag_to_rotate")
|
||||
wheel_sprite.show()
|
||||
# 需连接转动信号
|
||||
wheel.rotated.connect(_on_wheel_rotated)
|
||||
elif stage == 3:
|
||||
# 无需转动
|
||||
wheel_sprite.show()
|
||||
|
||||
|
||||
var rotationg_steps := 0
|
||||
const TOTAL_STEPS = 6 * 3 # 转 3 圈
|
||||
|
||||
|
||||
func _on_wheel_rotated(_radiant: float) -> void:
|
||||
if rotationg_steps >= TOTAL_STEPS:
|
||||
return
|
||||
if not wheel_sfx.playing:
|
||||
wheel_sfx.play()
|
||||
rotationg_steps += 1
|
||||
wheel_sprite.frame = wrapi(wheel_sprite.frame + 1, 0, 3)
|
||||
if rotationg_steps == TOTAL_STEPS:
|
||||
# 成功
|
||||
sfx_success.play()
|
||||
animation_player.play("catch_fragments")
|
||||
await animation_player.animation_finished
|
||||
animation_player.play("hand_swinging")
|
||||
var c03_mem = $"二章结尾回忆" as Node2D
|
||||
c03_mem.exit.connect(exit.emit)
|
||||
c03_mem.show()
|
||||
c03_mem.modulate.a = 0.0
|
||||
await Util.wait(2.0)
|
||||
DialogueManager.show_dialogue_balloon(
|
||||
GlobalConfig.DIALOG_C03, "c03_绞肉机回忆小蝶和小婵1", [GlobalConfig.DIALOG_IGNORE_INPUT]
|
||||
)
|
||||
var tween = create_tween()
|
||||
tween.tween_interval(3.0)
|
||||
tween.tween_property(c03_mem, "modulate:a", 1.0, 3.0)
|
||||
await DialogueManager.dialogue_ended
|
||||
if tween and tween.is_running():
|
||||
await tween.finished
|
||||
c03_mem.start_show()
|
||||
|
||||
|
||||
func _wheel_placed_and_show() -> void:
|
||||
wheel_sprite.show()
|
||||
#TODO 演出,结束后传送到胖子游戏
|
||||
SceneManager.get_ground_loader().transition_to_scene("c03_s10", "left")
|
||||
|
||||
|
||||
func _unhandled_input(event: InputEvent) -> void:
|
||||
if stage == 0 and event.is_action_pressed("interact"):
|
||||
get_viewport().set_input_as_handled()
|
||||
var prop = SceneManager.get_current_prop()
|
||||
if prop == "prop_转轮":
|
||||
SceneManager.disable_prop_item("prop_转轮")
|
||||
EventManager.set_stage("c03_meat_grinder", 1)
|
||||
_wheel_placed_and_show()
|
||||
else:
|
||||
SceneManager.get_prop_hud().on_toggle_invalid_prop()
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=21 format=3 uid="uid://5bubirvt8ep8"]
|
||||
[gd_scene load_steps=23 format=3 uid="uid://5bubirvt8ep8"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://gr8bw36fdnnf" path="res://scene/ground/script/c03/s07_closeup绞肉机.gd" id="1_lvehu"]
|
||||
[ext_resource type="AudioStream" uid="uid://l6dxu32a1086" path="res://asset/audio/effect/action/beltHandle1.ogg" id="2_d41yl"]
|
||||
@ -7,75 +7,14 @@
|
||||
[ext_resource type="Texture2D" uid="uid://bvxsgvq38ncx1" path="res://asset/art/scene/c03/s07_屠宰间/绞肉机/手没影子.png" id="3_gfq0x"]
|
||||
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_iuias"]
|
||||
[ext_resource type="Texture2D" uid="uid://d32o331t38vh4" path="res://asset/art/scene/c03/s07_屠宰间/绞肉机/绞肉机.png" id="3_lvehu"]
|
||||
[ext_resource type="AudioStream" uid="uid://b6lu4a4whiv2y" path="res://asset/audio/effect/action/metalPot2.ogg" id="4_i0kt1"]
|
||||
[ext_resource type="Texture2D" uid="uid://bsofwu28n35cy" path="res://asset/art/scene/c03/s07_屠宰间/绞肉机/弹珠(合并).png" id="4_u54mm"]
|
||||
[ext_resource type="Texture2D" uid="uid://5op3wqpuye38" path="res://asset/art/scene/c03/s07_屠宰间/绞肉机/转盘1.png" id="5_u54mm"]
|
||||
[ext_resource type="Texture2D" uid="uid://cpdgphtx6cp71" path="res://asset/art/scene/c03/s07_屠宰间/绞肉机/转盘2.png" id="7_55v22"]
|
||||
[ext_resource type="PackedScene" uid="uid://dry6mhv6x0ppl" path="res://scene/little_game/gadget/wheel.tscn" id="7_u54mm"]
|
||||
[ext_resource type="Texture2D" uid="uid://npapl80avpl5" path="res://asset/art/scene/c03/s07_屠宰间/绞肉机/转盘3.png" id="8_jqgt2"]
|
||||
[ext_resource type="SpriteFrames" uid="uid://cmvr3lbwe3h7p" path="res://asset/art/gif/c03_特写与游戏动画/c03_特写与游戏动画_frames.tres" id="11_iuias"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_d41yl"]
|
||||
resource_name = "catch_fragments"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("手/弹珠:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("手/弹珠:modulate")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.233333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("手/弹珠:position")
|
||||
tracks/2/interp = 2
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2, 0.533333),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(89, 11), Vector2(90, 27), Vector2(68, 81)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("手/弹珠:rotation")
|
||||
tracks/3/interp = 2
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5, 0.633333),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [-0.261799, -0.174533, 0.0]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Sfx掉出弹珠:playing")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
[ext_resource type="Texture2D" uid="uid://cxajbmcmwtm3e" path="res://asset/art/gif/c03_特写与游戏动画/结尾特写_二楼黄昏/0.png" id="11_iuias"]
|
||||
[ext_resource type="PackedScene" uid="uid://y6em3na3d05d" path="res://scene/ground/script/c03/二章结尾回忆.tscn" id="15_xvgti"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_iuias"]
|
||||
length = 0.001
|
||||
@ -151,6 +90,106 @@ tracks/5/keys = {
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("手:visible")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_d41yl"]
|
||||
resource_name = "catch_fragments"
|
||||
length = 2.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("手/弹珠:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(1.3),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("手/弹珠:modulate")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(1.3, 1.53333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("手/弹珠:position")
|
||||
tracks/2/interp = 2
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(1.3, 1.5, 1.83333),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(89, 11), Vector2(90, 27), Vector2(68, 81)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("手/弹珠:rotation")
|
||||
tracks/3/interp = 2
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(1.3, 1.8, 1.93333),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [-0.261799, -0.174533, 0.0]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Sfx掉出弹珠:playing")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(1.16667),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("手:position")
|
||||
tracks/5/interp = 2
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0, 1.3),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(100, 300), Vector2(201, 102)]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("手:visible")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_i0kt1"]
|
||||
resource_name = "hand_swinging"
|
||||
@ -201,7 +240,7 @@ animations = [{
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
"speed": 6.0
|
||||
}]
|
||||
|
||||
[node name="Closeup绞肉机" type="CanvasLayer"]
|
||||
@ -211,7 +250,6 @@ script = ExtResource("1_lvehu")
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_iuias")
|
||||
}
|
||||
autoplay = "hand_swinging"
|
||||
|
||||
[node name="Sfx转盘齿轮" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("2_d41yl")
|
||||
@ -220,6 +258,13 @@ bus = &"game_sfx"
|
||||
script = ExtResource("3_iuias")
|
||||
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
||||
|
||||
[node name="Sfx转动完成" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("4_i0kt1")
|
||||
volume_db = -20.0
|
||||
bus = &"game_sfx"
|
||||
script = ExtResource("3_iuias")
|
||||
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
||||
|
||||
[node name="Sfx掉出弹珠" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("2_d41yl")
|
||||
bus = &"game_sfx"
|
||||
@ -235,14 +280,16 @@ grow_vertical = 2
|
||||
texture = ExtResource("2_lvehu")
|
||||
|
||||
[node name="手" type="Sprite2D" parent="."]
|
||||
light_mask = 3
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
light_mask = 33
|
||||
position = Vector2(201, 102)
|
||||
texture = ExtResource("3_gfq0x")
|
||||
centered = false
|
||||
|
||||
[node name="弹珠" type="Sprite2D" parent="手"]
|
||||
visible = false
|
||||
light_mask = 3
|
||||
light_mask = 33
|
||||
z_index = 1
|
||||
position = Vector2(54, 65)
|
||||
texture = ExtResource("4_u54mm")
|
||||
@ -257,7 +304,7 @@ position = Vector2(81, 166)
|
||||
energy = 0.7
|
||||
blend_mode = 1
|
||||
range_layer_max = 10
|
||||
range_item_cull_mask = 2
|
||||
range_item_cull_mask = 32
|
||||
texture = SubResource("GradientTexture2D_u54mm")
|
||||
|
||||
[node name="转盘" type="AnimatedSprite2D" parent="."]
|
||||
@ -265,12 +312,10 @@ position = Vector2(413, 125)
|
||||
sprite_frames = SubResource("SpriteFrames_gfq0x")
|
||||
offset = Vector2(-2, 6)
|
||||
|
||||
[node name="手拿弹珠" type="AnimatedSprite2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
[node name="手拿弹珠 参考" type="Sprite2D" parent="."]
|
||||
visible = false
|
||||
sprite_frames = ExtResource("11_iuias")
|
||||
animation = &"结尾特写_二楼黄昏"
|
||||
autoplay = "结尾特写_二楼黄昏"
|
||||
light_mask = 3
|
||||
texture = ExtResource("11_iuias")
|
||||
centered = false
|
||||
|
||||
[node name="Wheel" parent="." instance=ExtResource("7_u54mm")]
|
||||
@ -287,3 +332,7 @@ grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
texture = ExtResource("2_gfq0x")
|
||||
|
||||
[node name="二章结尾回忆" parent="." instance=ExtResource("15_xvgti")]
|
||||
visible = false
|
||||
z_index = 1
|
||||
|
@ -1,6 +1,5 @@
|
||||
extends CanvasLayer
|
||||
extends Node2D
|
||||
|
||||
@warning_ignore("unused_signal")
|
||||
signal exit(arg)
|
||||
|
||||
@onready var light = %"PointLight2D" as PointLight2D
|
||||
@ -13,24 +12,45 @@ signal exit(arg)
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME
|
||||
facing_sprite.hide()
|
||||
sitting_sprite.hide()
|
||||
holding_balls_sprite.show()
|
||||
serious_sprite.show()
|
||||
blink_sprite.hide()
|
||||
light.hide()
|
||||
# 更新光
|
||||
light_sprite.frame_changed.connect(_on_light_frame_changed)
|
||||
_start_show()
|
||||
|
||||
|
||||
func _start_show() -> void:
|
||||
func start_show() -> void:
|
||||
DialogueManager.show_dialogue_balloon(GlobalConfig.DIALOG_C03, "c03_绞肉机回忆小蝶和小婵2")
|
||||
await DialogueManager.dialogue_ended
|
||||
sitting_sprite.show()
|
||||
light.show()
|
||||
var tween = create_tween()
|
||||
tween.tween_interval(2.0)
|
||||
tween.tween_property(holding_balls_sprite, "modulate:a", 0.0, 1.0)
|
||||
tween.tween_interval(2.0)
|
||||
tween.tween_callback(_watch_back)
|
||||
tween.tween_interval(2.0)
|
||||
tween.tween_callback(_smile)
|
||||
await tween.finished
|
||||
DialogueManager.show_dialogue_balloon(GlobalConfig.DIALOG_C03, "c03_绞肉机回忆小蝶和小婵3")
|
||||
await DialogueManager.dialogue_ended
|
||||
await _watch_back()
|
||||
DialogueManager.show_dialogue_balloon(GlobalConfig.DIALOG_C03, "c03_绞肉机回忆小蝶和小婵4")
|
||||
await DialogueManager.dialogue_ended
|
||||
DialogueManager.show_dialogue_balloon(GlobalConfig.DIALOG_C03, "c03_绞肉机回忆小蝶和小婵5")
|
||||
_smile()
|
||||
await DialogueManager.dialogue_ended
|
||||
# c03_meat_grinder: 0:初始化 1:已装转盘 2:绞肉机演出 3:演出结束
|
||||
EventManager.set_stage_if_greater("c03_meat_grinder", 3)
|
||||
EventManager.set_stage_if_greater("c03_well_show", 1)
|
||||
# 李氏癞子房间离井边演出比较近,所以选择 5 号门
|
||||
SceneManager.get_ground_loader().transition_to_scene("c02_s03", "5")
|
||||
|
||||
|
||||
var dialog_was_ended = false
|
||||
|
||||
func _on_dialogue_ended(_res) -> void:
|
||||
if _res == GlobalConfig.DIALOG_C03:
|
||||
dialog_was_ended = true
|
||||
DialogueManager.dialogue_ended.disconnect(_on_dialogue_ended)
|
||||
|
||||
|
||||
func _on_light_frame_changed() -> void:
|
||||
@ -43,6 +63,7 @@ func _watch_back() -> void:
|
||||
var tween = create_tween()
|
||||
tween.tween_property(sitting_sprite, "modulate:a", 0.0, 0.3)
|
||||
tween.parallel().tween_property(facing_sprite, "modulate:a", 1.0, 0.3)
|
||||
await tween.finished
|
||||
|
||||
|
||||
func _smile() -> void:
|
@ -1,32 +1,32 @@
|
||||
[gd_scene load_steps=15 format=3 uid="uid://y6em3na3d05d"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bij1q2wnhiwon" path="res://scene/ground/script/c02/s03_closeup二章井边回忆.gd" id="1_5f5ti"]
|
||||
[ext_resource type="Texture2D" uid="uid://osx2bnmowgdp" path="res://asset/art/scene/c03/c03_小婵结局特写/在前面坐着.png" id="2_2det8"]
|
||||
[ext_resource type="Texture2D" uid="uid://cbxau3puh8v53" path="res://asset/art/scene/c03/c03_小婵结局特写/背景.png" id="2_u6lip"]
|
||||
[ext_resource type="SpriteFrames" uid="uid://cmvr3lbwe3h7p" path="res://asset/art/gif/c03_特写与游戏动画/c03_特写与游戏动画_frames.tres" id="2_xco75"]
|
||||
[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="2_yk0s2"]
|
||||
[ext_resource type="Texture2D" uid="uid://stx50570akrx" path="res://asset/art/scene/c03/c03_小婵结局特写/1.png" id="3_pti5e"]
|
||||
[ext_resource type="Texture2D" uid="uid://ccckf5akonfad" path="res://asset/art/scene/c03/c03_小婵结局特写/嘴不笑.png" id="3_te5og"]
|
||||
[ext_resource type="Texture2D" uid="uid://vgv0ytt6lwec" path="res://asset/art/scene/c03/c03_小婵结局特写/2.png" id="4_2opy8"]
|
||||
[ext_resource type="Texture2D" uid="uid://dk03eu87ikw3j" path="res://asset/art/scene/c03/c03_小婵结局特写/3.png" id="5_cri2g"]
|
||||
[ext_resource type="Texture2D" uid="uid://qd38mmstkeah" path="res://asset/art/scene/c03/c03_小婵结局特写/4.png" id="6_vyioo"]
|
||||
[ext_resource type="Texture2D" uid="uid://bwhwaxya41opt" path="res://asset/art/scene/c03/c03_小婵结局特写/眼睛半睁开.png" id="6_wrn47"]
|
||||
[ext_resource type="Texture2D" uid="uid://cjy05wfotint" path="res://asset/art/scene/c03/c03_小婵结局特写/闭眼.png" id="7_2whda"]
|
||||
[ext_resource type="Script" uid="uid://bij1q2wnhiwon" path="res://scene/ground/script/c03/二章结尾回忆.gd" id="1_bac1h"]
|
||||
[ext_resource type="Texture2D" uid="uid://cbxau3puh8v53" path="res://asset/art/scene/c03/c03_小婵结局特写/背景.png" id="2_ot150"]
|
||||
[ext_resource type="Texture2D" uid="uid://stx50570akrx" path="res://asset/art/scene/c03/c03_小婵结局特写/1.png" id="3_uj34s"]
|
||||
[ext_resource type="Texture2D" uid="uid://vgv0ytt6lwec" path="res://asset/art/scene/c03/c03_小婵结局特写/2.png" id="4_ienih"]
|
||||
[ext_resource type="Texture2D" uid="uid://dk03eu87ikw3j" path="res://asset/art/scene/c03/c03_小婵结局特写/3.png" id="5_oboyl"]
|
||||
[ext_resource type="Texture2D" uid="uid://qd38mmstkeah" path="res://asset/art/scene/c03/c03_小婵结局特写/4.png" id="6_0ujmt"]
|
||||
[ext_resource type="Texture2D" uid="uid://osx2bnmowgdp" path="res://asset/art/scene/c03/c03_小婵结局特写/在前面坐着.png" id="7_vwpx1"]
|
||||
[ext_resource type="SpriteFrames" uid="uid://cmvr3lbwe3h7p" path="res://asset/art/gif/c03_特写与游戏动画/c03_特写与游戏动画_frames.tres" id="8_8oj5m"]
|
||||
[ext_resource type="Texture2D" uid="uid://ccckf5akonfad" path="res://asset/art/scene/c03/c03_小婵结局特写/嘴不笑.png" id="9_xajew"]
|
||||
[ext_resource type="Texture2D" uid="uid://bwhwaxya41opt" path="res://asset/art/scene/c03/c03_小婵结局特写/眼睛半睁开.png" id="10_a682h"]
|
||||
[ext_resource type="Texture2D" uid="uid://cjy05wfotint" path="res://asset/art/scene/c03/c03_小婵结局特写/闭眼.png" id="11_dw5n6"]
|
||||
[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="12_ukh83"]
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_w0x0n"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("3_pti5e")
|
||||
"texture": ExtResource("3_uj34s")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("4_2opy8")
|
||||
"texture": ExtResource("4_ienih")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("5_cri2g")
|
||||
"texture": ExtResource("5_oboyl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("6_vyioo")
|
||||
"texture": ExtResource("6_0ujmt")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
@ -37,37 +37,34 @@ animations = [{
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("6_wrn47")
|
||||
"texture": ExtResource("10_a682h")
|
||||
}, {
|
||||
"duration": 2.0,
|
||||
"texture": ExtResource("7_2whda")
|
||||
"texture": ExtResource("11_dw5n6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("6_wrn47")
|
||||
"texture": ExtResource("10_a682h")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"default",
|
||||
"speed": 12.0
|
||||
}]
|
||||
|
||||
[node name="Closeup二章井边回忆" type="CanvasLayer"]
|
||||
script = ExtResource("1_5f5ti")
|
||||
[node name="二章结尾回忆" type="Node2D"]
|
||||
script = ExtResource("1_bac1h")
|
||||
|
||||
[node name="BG" type="TextureRect" parent="."]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("2_u6lip")
|
||||
[node name="BG" type="Sprite2D" parent="."]
|
||||
texture = ExtResource("2_ot150")
|
||||
centered = false
|
||||
|
||||
[node name="PointLight2D" type="PointLight2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
light_mask = 2
|
||||
blend_mode = 2
|
||||
range_layer_max = 10
|
||||
range_item_cull_mask = 2
|
||||
texture = ExtResource("3_pti5e")
|
||||
texture = ExtResource("3_uj34s")
|
||||
offset = Vector2(282, 158)
|
||||
|
||||
[node name="光线" type="AnimatedSprite2D" parent="."]
|
||||
@ -81,15 +78,17 @@ centered = false
|
||||
|
||||
[node name="小蝉坐着" type="Sprite2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
light_mask = 2
|
||||
position = Vector2(264, 160)
|
||||
texture = ExtResource("2_2det8")
|
||||
texture = ExtResource("7_vwpx1")
|
||||
|
||||
[node name="小蝉特写" type="AnimatedSprite2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
light_mask = 2
|
||||
position = Vector2(110, 0)
|
||||
sprite_frames = ExtResource("2_xco75")
|
||||
sprite_frames = ExtResource("8_8oj5m")
|
||||
animation = &"结尾小婵头发飘"
|
||||
autoplay = "结尾小婵头发飘"
|
||||
centered = false
|
||||
@ -98,7 +97,7 @@ centered = false
|
||||
unique_name_in_owner = true
|
||||
light_mask = 2
|
||||
position = Vector2(165, 146)
|
||||
texture = ExtResource("3_te5og")
|
||||
texture = ExtResource("9_xajew")
|
||||
|
||||
[node name="眨眼" type="AnimatedSprite2D" parent="小蝉特写"]
|
||||
unique_name_in_owner = true
|
||||
@ -117,24 +116,21 @@ autostart = true
|
||||
[node name="参考" type="AnimatedSprite2D" parent="."]
|
||||
visible = false
|
||||
light_mask = 0
|
||||
sprite_frames = ExtResource("2_xco75")
|
||||
sprite_frames = ExtResource("8_8oj5m")
|
||||
animation = &"结尾小婵参考"
|
||||
centered = false
|
||||
|
||||
[node name="手拿弹珠" type="AnimatedSprite2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
sprite_frames = ExtResource("2_xco75")
|
||||
sprite_frames = ExtResource("8_8oj5m")
|
||||
animation = &"结尾特写_二楼黄昏"
|
||||
autoplay = "结尾特写_二楼黄昏"
|
||||
centered = false
|
||||
|
||||
[node name="遮罩" type="TextureRect" parent="."]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
texture = ExtResource("2_yk0s2")
|
||||
[node name="遮罩" type="Sprite2D" parent="."]
|
||||
position = Vector2(0, 38)
|
||||
scale = Vector2(1.2, 1)
|
||||
texture = ExtResource("12_ukh83")
|
||||
centered = false
|
||||
|
||||
[connection signal="timeout" from="小蝉特写/眨眼/TimerBlink" to="." method="_on_timer_blink_timeout"]
|
Loading…
Reference in New Issue
Block a user