第二章胖子游戏动画优化

This commit is contained in:
cakipaul 2025-07-29 22:14:54 +08:00
parent a164b27bd6
commit 2e1f88359b
21 changed files with 345 additions and 32 deletions

View File

@ -3254,9 +3254,6 @@ animations = [{
"frames": [{
"duration": 3.0,
"texture": ExtResource("561_absvs")
}, {
"duration": 14.0,
"texture": ExtResource("570_wpe64")
}],
"loop": true,
"name": &"c02_吕萍_背靠呼吸",
@ -3316,7 +3313,7 @@ animations = [{
}],
"loop": false,
"name": &"c02_吕萍_背靠起身",
"speed": 6.0
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,

View File

@ -258,7 +258,7 @@ func _setup_player_light() -> void:
directional_light.visible = true
# 设置角色身上光源
var should_enable_light = (
directional_light.blend_mode == Light2D.BLEND_MODE_SUB and directional_light.energy > 0.6
directional_light.blend_mode == Light2D.BLEND_MODE_SUB and directional_light.energy >= 0.6
)
player.enable_light = should_enable_light
print("_setup_player_light player.enable_light=", player.enable_light)

View File

@ -45,6 +45,7 @@ const GROUND_SCENE_PATH_DICT: Dictionary[String, Dictionary] = {
"c03_s10": {"path": "uid://clgwc3jcqarpe", "name": "胖子游戏1"},
"c03_s11": {"path": "uid://shgrg8qcr1cu", "name": "胖子游戏2"},
"c03_s12": {"path": "uid://cxabqg87g4vxc", "name": "胖子游戏3"},
"c03_s13": {"path": "uid://s6odh172gpbr", "name": "胖子游戏4"},
"c04_s01": {"path": "uid://drjnu33pga6i5", "name": "父母房间"},
}

View File

@ -272,6 +272,7 @@ unique_name_in_owner = true
position = Vector2(193, 22)
texture = ExtResource("18_t8u8e")
packed_scene = ExtResource("13_fl7if")
on_display_hide_hud = true
sign_mark_offset = Vector2(3, -5)
enabled = false

View File

@ -35,8 +35,10 @@ func _on_ground_ready() -> void:
closeup整理麻将游戏.enabled = mahjong_stage == 0
if mahjong_stage == 1:
closeup整理麻将游戏.display()
SceneManager.toggle_hud_display(false)
elif mahjong_stage == 2:
closeup麻将出千游戏.display()
SceneManager.toggle_hud_display(false)
closeup整理麻将游戏.exit.connect(_on_exit_sort_mahjong_game)
closeup麻将出千游戏.exit.connect(_on_exit_cheat_mahjong_game)
pickable药方.triggered.connect(_on_spec_picked, CONNECT_ONE_SHOT)
@ -55,6 +57,7 @@ func _on_exit_sort_mahjong_game(arg) -> void:
func _on_exit_cheat_mahjong_game(arg) -> void:
if arg:
SceneManager.toggle_hud_display(true)
EventManager.set_stage_if_greater("c03_mahjong_game", 3)
EventManager.set_stage_if_greater("c03_li_paperwoman", 1)
closeup麻将出千游戏.enabled = false

View File

@ -110,6 +110,7 @@ hook_dialogue_title = "c03_s05_肉铺隔门板偷听"
position = Vector2(424, 41)
texture = ExtResource("8_mv54a")
packed_scene = ExtResource("8_12how")
on_display_hide_hud = true
sign_mark_offset = Vector2(-2.6, -7.28)
[node name="Pickable新鲜的肉" parent="Ground/DeployLayer" index="4" instance=ExtResource("10_ma57s")]

View File

@ -77,12 +77,6 @@ catty_light_energy = 0.5
player_movement_rect = Rect2(45, -158, 473, 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(26, 0)
texture = ExtResource("5_f527l")

View File

@ -130,6 +130,7 @@ unique_name_in_owner = true
position = Vector2(316, 21)
packed_scene = ExtResource("15_48a3r")
quit_closeup_on_cancel = false
on_display_hide_hud = null
[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Closeup绞肉机"]
script = ExtResource("17_e1lvl")

View File

@ -147,6 +147,7 @@ portal_name = "1"
unique_name_in_owner = true
position = Vector2(62, 20)
packed_scene = ExtResource("9_w4bpd")
on_display_hide_hud = true
[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Closeup囚室门锁"]
script = ExtResource("9_oka3h")
@ -157,6 +158,7 @@ metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="Closeup囚室墙洞" parent="Ground/DeployLayer" index="4" instance=ExtResource("5_jua84")]
position = Vector2(276, 2)
packed_scene = ExtResource("7_2jtaw")
on_display_hide_hud = true
[node name="囚室墙洞海报" type="Sprite2D" parent="Ground/DeployLayer" index="5"]
position = Vector2(277, 7)
@ -199,6 +201,7 @@ prop_key = "prop_转轮"
visible = false
position = Vector2(233, 86)
packed_scene = ExtResource("17_06t0x")
on_display_hide_hud = true
[node name="符纸" type="Sprite2D" parent="Ground/DeployLayer/Closeup符纸"]
position = Vector2(-3.57628e-07, 6)

View File

@ -72,7 +72,7 @@ points = PackedVector2Array(30, 150, 978, 151)
[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.2
energy = 0.6
blend_mode = 1
[editable path="Ground"]

View File

@ -14,13 +14,15 @@ func _ready() -> void:
#region node_reference
var meat_hill: Node2D
var player: MainPlayer
#endregion
# 读取设置变量名
func _setup_node_reference() -> void:
pass
meat_hill = $"../DeployLayer/肉山" as Node2D
player = SceneManager.get_player() as MainPlayer
func _on_ground_ready() -> void:
_check_first_enter()
@ -28,7 +30,52 @@ func _on_ground_ready() -> void:
func _check_first_enter() -> void:
if not data["has_entered"]:
var x = $"../DeployLayer/portal_left".global_position.x
SceneManager.get_player().global_position.x = x
SceneManager.get_player().set_facing_direction(Vector2.RIGHT)
SceneManager.lock_player(0, 6, true)
set_data("has_entered", true)
await SceneManager.pause_and_hide_player_sprite(1.5)
SceneManager.unlock_player()
await SceneManager.get_player().animation_finished
SceneManager.unlock_player()
func talk_with_npc() -> void:
SceneManager.lock_player()
$"../DeployLayer/Pro探子".flip_h = false
var camera = SceneManager.get_camera_marker()
DialogueManager.show_dialogue_balloon(GlobalConfig.DIALOG_C03, "c03_胖子游戏对白")
var tween = create_tween()
tween.tween_property(camera, "force_offset:x", 100.0, 2.0)
await DialogueManager.dialogue_ended
tween = create_tween()
tween.tween_property(camera, "force_offset:x", 0.0, 1.5)
await Util.wait(1.0)
SceneManager.unlock_player()
await Util.wait(2.0)
# 天上掉肉
tween = create_tween()
meat_hill.global_position.x = player.global_position.x
var start_y = meat_hill.global_position.y
var target_y = player.global_position.y
# 伪自由落体2.0 s从 start_y tween 到 target_y
tween.tween_method(_drop_meat.bind(start_y, target_y), 0.0, 1.0, 1.0)
await tween.finished
camera.shake_camera()
SceneManager.lock_player()
# TODO
SceneManager.pop_debug_dialog_info("音效", "肉山掉落")
$"Sfx肉山掉落".play()
await Util.wait(3.0)
# 转场
SceneManager.unlock_player()
SceneManager.get_ground_loader().transition_to_scene("c03_s12", "left")
func _drop_meat(progress: float, start_y: float, target_y: float) -> void:
# 伪自由落体2.0 s从 start_y tween 到 target_y
# progress 先慢后快
progress = progress * progress * progress
var y = start_y + (target_y - start_y) * progress
meat_hill.global_position.y = y
meat_hill.global_position.x = player.global_position.x

View File

@ -1,9 +1,10 @@
[gd_scene load_steps=13 format=3 uid="uid://shgrg8qcr1cu"]
[gd_scene load_steps=20 format=3 uid="uid://shgrg8qcr1cu"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_lfcjf"]
[ext_resource type="Script" uid="uid://fejtkano6pn7" path="res://scene/ground/scene/c03/s11_胖子游戏2.gd" id="2_lfcjf"]
[ext_resource type="AudioStream" uid="uid://dvc2emnfcmabx" path="res://asset/audio/sfx/环境音/白噪音/白噪声楼道1.ogg" id="3_hx2uj"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_0w5fd"]
[ext_resource type="AudioStream" uid="uid://cv6aivf1jcvd3" path="res://asset/audio/mixkit/mixkit-meat-hit.ogg" id="5_k5x30"]
[ext_resource type="Texture2D" uid="uid://b1t0o8vqwjirh" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第三段/山顶.png" id="5_wqrgj"]
[ext_resource type="SpriteFrames" uid="uid://ca8u6yx6rv0xm" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第三段/c03_胖子游戏第三段_frames.tres" id="6_c73iv"]
[ext_resource type="Texture2D" uid="uid://w4ep0mqmkfo0" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第三段/山顶洞口.png" id="6_hx2uj"]
@ -11,11 +12,17 @@
[ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="7_hx2uj"]
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="9_0w5fd"]
[ext_resource type="Texture2D" uid="uid://c3gwj6ap8w7cj" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第三段/山顶文物.png" id="10_lyjg2"]
[ext_resource type="Texture2D" uid="uid://2hvfbno7wgjl" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉块4.png" id="12_0ry88"]
[ext_resource type="Texture2D" uid="uid://g3ohxmylc316" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉块3.png" id="12_wi43b"]
[ext_resource type="Texture2D" uid="uid://bieyil13hhemh" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉块2.png" id="13_k5x30"]
[ext_resource type="Texture2D" uid="uid://85unc5qju4kl" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉块5.png" id="14_wks4o"]
[ext_resource type="SpriteFrames" uid="uid://dy8b8dmgv3mdd" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第二段/c03_胖子游戏第二段_frames.tres" id="17_novpu"]
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="18_p0emk"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
[node name="S11" type="Node2D"]
metadata/_edit_horizontal_guides_ = [-627.0]
metadata/_edit_horizontal_guides_ = [-627.0, 58.0]
[node name="Ground" parent="." instance=ExtResource("1_lfcjf")]
scene_name = "c03_s11"
@ -40,6 +47,12 @@ mode = "场景背景音"
"感应玩家操作" = false
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="Sfx肉山掉落" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="1"]
stream = ExtResource("5_k5x30")
bus = &"game_sfx"
script = ExtResource("4_0w5fd")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="BGSprite2D" parent="Ground" index="2"]
light_mask = 5
texture = ExtResource("5_wqrgj")
@ -64,14 +77,16 @@ target_scene = "c03_s12"
target_portal = "left"
[node name="Pro探子" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="2"]
position = Vector2(818, -27)
position = Vector2(1046.5, -7.5)
sprite_frames = ExtResource("6_c73iv")
animation = &"日本鬼子呼吸帧"
autoplay = "日本鬼子呼吸帧"
flip_h = true
script = ExtResource("7_hx2uj")
metadata/_custom_type_script = "uid://cphfob11f7atx"
[node name="Pro水中肉" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="3"]
position = Vector2(1238, 58)
position = Vector2(1133, 73)
sprite_frames = ExtResource("6_c73iv")
animation = &"水中肉"
autoplay = "水中肉"
@ -79,16 +94,106 @@ script = ExtResource("7_hx2uj")
metadata/_custom_type_script = "uid://cphfob11f7atx"
[node name="Ambush对话探子" parent="Ground/DeployLayer" index="4" instance=ExtResource("9_0w5fd")]
position = Vector2(767, 25)
hook_dialogue_res = "c03"
hook_dialogue_title = "c03_胖子游戏对白"
position = Vector2(995.5, 44.5)
hook_method = "talk_with_npc"
[node name="文物" type="Sprite2D" parent="Ground/DeployLayer" index="5"]
position = Vector2(624, 62)
z_index = 10
position = Vector2(624, 65)
texture = ExtResource("10_lyjg2")
[node name="肉山" type="Node2D" parent="Ground/DeployLayer" index="6"]
z_index = 6
position = Vector2(901, -214)
[node name="天上掉的肉4" type="Sprite2D" parent="Ground/DeployLayer/肉山"]
position = Vector2(2.53979, -89.2959)
rotation = 0.307938
texture = ExtResource("12_0ry88")
[node name="天上掉的肉5" type="Sprite2D" parent="Ground/DeployLayer/肉山"]
position = Vector2(-27.4602, -67.2959)
rotation = -0.370446
texture = ExtResource("13_k5x30")
[node name="天上掉的肉" type="Sprite2D" parent="Ground/DeployLayer/肉山"]
position = Vector2(14.5398, -56.2959)
rotation = 0.138633
texture = ExtResource("13_k5x30")
[node name="天上掉的肉2" type="Sprite2D" parent="Ground/DeployLayer/肉山"]
position = Vector2(-43.4602, -32.2959)
rotation = -0.384091
scale = Vector2(1, 1)
texture = ExtResource("14_wks4o")
[node name="天上掉的肉3" type="Sprite2D" parent="Ground/DeployLayer/肉山"]
position = Vector2(-4.54016, -19.4051)
rotation = 0.0182861
scale = Vector2(1, 1)
texture = ExtResource("12_wi43b")
[node name="河里的手4" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="7"]
position = Vector2(1344, 17)
rotation = 1.5708
scale = Vector2(0.6, 0.6)
sprite_frames = ExtResource("17_novpu")
animation = &"小手"
autoplay = "小手"
frame_progress = 0.390838
speed_scale = 1.15
[node name="河里的手5" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="8"]
position = Vector2(1341, 68)
rotation = 1.5708
sprite_frames = ExtResource("17_novpu")
animation = &"小手"
autoplay = "小手"
frame_progress = 0.390838
speed_scale = 0.96
[node name="河里的手" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="9"]
position = Vector2(1078, 108)
rotation = 1.5708
scale = Vector2(1.5, 1.5)
sprite_frames = ExtResource("17_novpu")
animation = &"小手"
autoplay = "小手"
frame_progress = 0.32264
speed_scale = 0.85
[node name="河里的手2" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="10"]
position = Vector2(1306, 129)
rotation = 1.5708
scale = Vector2(2, 2)
sprite_frames = ExtResource("17_novpu")
animation = &"小手"
autoplay = "小手"
frame_progress = 0.390838
speed_scale = 0.92
[node name="河里的手3" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="11"]
position = Vector2(1245, 37)
rotation = 1.5708
scale = Vector2(0.8, 0.8)
sprite_frames = ExtResource("17_novpu")
animation = &"小手"
autoplay = "小手"
frame_progress = 0.390838
speed_scale = 0.9
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer" index="12"]
position = Vector2(1282, 100)
texture = ExtResource("18_p0emk")
texture_scale = 2.0
[node name="PointLight2D2" type="PointLight2D" parent="Ground/DeployLayer" index="13"]
position = Vector2(186, -158)
texture = ExtResource("18_p0emk")
texture_scale = 2.0
[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(1186, 58)
position = Vector2(900, 58)
character = "胖子游戏"
player_movement_rect = Rect2(290, -158, 1110, 316)
facing_direction = Vector2(1, 0)
@ -100,11 +205,10 @@ limit_right = 1500
offset = Vector2(0, 50)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(290, 150, 1400, 151)
points = PackedVector2Array(290, 150, 1000, 151)
[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.2
energy = 0.6
blend_mode = 1
[editable path="Ground"]

View File

@ -80,7 +80,7 @@ points = PackedVector2Array(30, 150, 850, 151)
[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.2
energy = 0.6
blend_mode = 1
[editable path="Ground"]

View File

@ -0,0 +1,45 @@
@tool
extends AnimationRoot
# 覆盖该方法
func _default_data() -> Dictionary:
return {}
func _ready() -> void:
super._ready()
if Engine.is_editor_hint():
return
#region node_reference
#endregion
# 读取设置变量名
func _setup_node_reference() -> void:
pass
func _on_ground_ready() -> void:
pass
func eat_meat() -> void:
SceneManager.lock_player()
$"../DeployLayer/Ambush吃肉".enabled = false
await SceneManager.get_player().walk_to_x(850.0).finished
# 第一帧没有瘦子,后面才有
var player = SceneManager.get_player() as MainPlayer
var sprite = $"../DeployLayer/Pro吃肉" as ProAnimatedSprite2D
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")

View File

@ -0,0 +1 @@
uid://ddawqvg4fjxv6

View File

@ -0,0 +1,86 @@
[gd_scene load_steps=10 format=3 uid="uid://s6odh172gpbr"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_via7g"]
[ext_resource type="Script" uid="uid://f4uampm47832" path="res://scene/ground/scene/c03/s12_胖子游戏3.gd" id="2_f2euj"]
[ext_resource type="AudioStream" uid="uid://dvc2emnfcmabx" path="res://asset/audio/sfx/环境音/白噪音/白噪声楼道1.ogg" id="3_ycw22"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_1c2tq"]
[ext_resource type="Texture2D" uid="uid://brfbsaw6v35ru" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第四段/胖子游戏第四段效果/0.png" id="5_olkfs"]
[ext_resource type="SpriteFrames" uid="uid://cb3b44a1jpybb" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第四段/c03_胖子游戏第四段_frames.tres" id="6_3jqsh"]
[ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="7_qn0ib"]
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="8_ir78c"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
[node name="S13" type="Node2D"]
metadata/_edit_horizontal_guides_ = [-627.0]
[node name="Ground" parent="." instance=ExtResource("1_via7g")]
scene_name = "c03_s13"
display_hud = false
player_y = 63
footstep_type = "胖子游戏"
[node name="AnimationPlayer" parent="Ground" index="0"]
libraries = {
&"": SubResource("AnimationLibrary_k01ve")
}
script = ExtResource("2_f2euj")
[node name="Sfx背景音" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"]
stream = ExtResource("3_ycw22")
volume_db = -5.0
autoplay = true
bus = &"game_sfx"
script = ExtResource("4_1c2tq")
mode = "场景背景音"
"循环播放" = true
"感应玩家操作" = false
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="BGSprite2D" parent="Ground" index="2"]
light_mask = 5
texture = ExtResource("5_olkfs")
offset = Vector2(0, -158)
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
position = Vector2(69, 21)
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
position = Vector2(1392, -9)
[node name="Pro吃肉" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="2"]
position = Vector2(850, 95)
sprite_frames = ExtResource("6_3jqsh")
animation = &"爬绞肉机最终的"
offset = Vector2(88, -105)
script = ExtResource("7_qn0ib")
metadata/_custom_type_script = "uid://cphfob11f7atx"
[node name="Ambush吃肉" parent="Ground/DeployLayer" index="3" instance=ExtResource("8_ir78c")]
position = Vector2(842, 54)
sign_mark_offset = Vector2(39, -9)
trigger_mode = "interact"
one_shot = false
hook_method = "eat_meat"
[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(69, 95)
character = "胖子游戏"
player_movement_rect = Rect2(30, -158, 820, 316)
facing_direction = Vector2(1, 0)
[node name="CameraFocusMarker" parent="Ground" index="6"]
limit_right = 1200
[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"]
offset = Vector2(0, 50)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(30, 150, 850, 151)
[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.6
blend_mode = 1
[editable path="Ground"]

View File

@ -25,6 +25,7 @@ const start_x = 2236.0
@onready var xchan = $"Pro小蝉" as ProAnimatedSprite2D
func _start_well_show() -> void:
SceneManager.toggle_hud_display(false)
xchan.modulate.a = 0.0
var player = SceneManager.get_player()
SceneManager.lock_player()
@ -32,7 +33,11 @@ func _start_well_show() -> void:
player.set_facing_direction(Vector2.LEFT)
# c02_吕萍_背靠呼吸
player.player_action(20, false)
await Util.wait(3.5)
# 多坐一会
await Util.wait(6.5)
# c02_吕萍_背靠起身
await player.player_action(19, true)
await Util.wait(2.0)
var tween = create_tween()
tween.tween_property(xchan, "modulate:a", 1.0, 1.0)
await tween.finished
@ -46,9 +51,8 @@ func _start_well_show() -> void:
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()
SceneManager.toggle_hud_display(true)
func _on_pre_stage_updated() -> void:

View File

@ -28,6 +28,7 @@ func _on_stage_updated() -> void:
func start_show() -> void:
SceneManager.toggle_hud_display(false)
SceneManager.lock_player()
# 隐藏玩家
SceneManager.get_player().visible = false
@ -48,3 +49,4 @@ func start_show() -> void:
SceneManager.focus_player_and_reset_zoom()
SceneManager.get_player().visible = true
SceneManager.unlock_player()
SceneManager.toggle_hud_display(true)

View File

@ -3,8 +3,12 @@ extends CanvasLayer
@warning_ignore("unused_signal")
signal exit(arg)
@onready var drug_spec
@onready var bowl
func _ready() -> void:
layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME
# TODO 拿药方后,启动 drug game
EventManager.set_stage("c03_drug_game", 1)

View File

@ -27,7 +27,16 @@ texture = ExtResource("3_d7uum")
[node name="Hover药方" parent="." instance=ExtResource("8_kxw4a")]
position = Vector2(442, 181)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hover药方"]
polygon = PackedVector2Array(95.5, -70.5, -17.3, -70.5, -18.6, -68.5, -19.9, -68.5, -22.5, -60.8, -22.5, -58.2, -45.6, -23.5, -46.8, -23.5, -53.5, -7.9, -53.5, -5, -69.5, 22, -69.5, 23.8, -90.5, 56.9, -90.5, 58.4, -95.2, 61.5, -95.5, 70.5, 38.9, 70.5, 43.1, 67.5, 46.6, 67.5, 62.6, 43.5, 64, 43.5, 95.5, -54.3)
[node name="药方" type="Sprite2D" parent="Hover药方"]
light_mask = 3
texture = ExtResource("5_rmoey")
[node name="PointLight2D" type="PointLight2D" parent="Hover药方"]
range_layer_max = 10
range_item_cull_mask = 2
texture = ExtResource("5_rmoey")
[node name="碗" type="Sprite2D" parent="."]
@ -37,7 +46,17 @@ texture = ExtResource("7_qfnr1")
[node name="Hover麻将" parent="碗" instance=ExtResource("8_kxw4a")]
position = Vector2(-69, -40)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="碗/Hover麻将"]
polygon = PackedVector2Array(17.5, -41.5, -17.3, -41.5, -20.3, -38.5, -22.3, -38.5, -35.4, -26.5, -37.1, -26.5, -37.5, -24.8, -37.5, -13.2, -33.1, -10.5, -32.2, -10.5, -24.5, 33.8, -24.5, 38.6, -20.2, 41.5, 11.3, 41.5, 37.1, 25.5, 37.5, 10.1, 17.5, -40)
[node name="麻将" type="Sprite2D" parent="碗/Hover麻将"]
light_mask = 3
texture = ExtResource("9_gdtfm")
[node name="PointLight2D" type="PointLight2D" parent="碗/Hover麻将"]
energy = 1.5
range_layer_max = 10
range_item_cull_mask = 2
texture = ExtResource("9_gdtfm")
[node name="遮罩" type="TextureRect" parent="."]

View File

@ -179,7 +179,7 @@ frame_progress = 1.0
[node name="TimerBlink" type="Timer" parent="小蝉特写branch/小蝉特写/眨眼"]
unique_name_in_owner = true
wait_time = 5.0
wait_time = 4.0
autostart = true
[node name="手拿弹珠" type="AnimatedSprite2D" parent="小蝉特写branch"]