棺材怪出场演出;胖子拖小蝉演出

This commit is contained in:
cakipaul 2025-08-01 15:40:50 +08:00
parent d634d7a0b2
commit e79786dc23
20 changed files with 388 additions and 61 deletions

View File

@ -1,4 +1,4 @@
[gd_resource type="SpriteFrames" load_steps=28 format=3 uid="uid://cvjl0m6b5oc6f"]
[gd_resource type="SpriteFrames" load_steps=31 format=3 uid="uid://cvjl0m6b5oc6f"]
[ext_resource type="Texture2D" uid="uid://ckbbouqh1mapo" path="res://asset/art/gif/c03_棺材怪/砍桌子/0.png" id="1_iydkj"]
[ext_resource type="Texture2D" uid="uid://dw1ncs8skt6qo" path="res://asset/art/gif/c03_棺材怪/地下呼吸帧/0.png" id="1_sim85"]
@ -20,8 +20,11 @@
[ext_resource type="Texture2D" uid="uid://dolqhvju6w37p" path="res://asset/art/gif/c03_棺材怪/棺材怪受惊/2.png" id="15_r7cqh"]
[ext_resource type="Texture2D" uid="uid://cj8bhyeispud7" path="res://asset/art/gif/c03_棺材怪/棺材怪受惊/3.png" id="16_6iwnc"]
[ext_resource type="Texture2D" uid="uid://doa4s1rlf57ec" path="res://asset/art/gif/c03_棺材怪/棺材怪走路/0.png" id="17_5j20w"]
[ext_resource type="Texture2D" path="res://asset/art/gif/c03_棺材怪/棺材怪受惊_呼吸/0.png" id="17_gjgq1"]
[ext_resource type="Texture2D" uid="uid://be1csxrctn75b" path="res://asset/art/gif/c03_棺材怪/棺材怪走路/1.png" id="18_0h5aq"]
[ext_resource type="Texture2D" path="res://asset/art/gif/c03_棺材怪/棺材怪受惊_呼吸/1.png" id="18_gawdl"]
[ext_resource type="Texture2D" uid="uid://bmfdak3dd3l3v" path="res://asset/art/gif/c03_棺材怪/棺材怪走路/2.png" id="19_l366s"]
[ext_resource type="Texture2D" path="res://asset/art/gif/c03_棺材怪/棺材怪受惊_呼吸/2.png" id="19_ubxjo"]
[ext_resource type="Texture2D" uid="uid://cpvbf2up2fp3d" path="res://asset/art/gif/c03_棺材怪/棺材怪走路/3.png" id="20_q5euy"]
[ext_resource type="Texture2D" uid="uid://bl2qevd1sbe7y" path="res://asset/art/gif/c03_棺材怪/爬墙循环动画/0.png" id="21_bse6b"]
[ext_resource type="Texture2D" uid="uid://mcr3gajkr1kk" path="res://asset/art/gif/c03_棺材怪/爬墙循环动画/1.png" id="22_vpwxa"]
@ -100,6 +103,20 @@ animations = [{
}, {
"frames": [{
"duration": 6.0,
"texture": ExtResource("17_gjgq1")
}, {
"duration": 30.0,
"texture": ExtResource("18_gawdl")
}, {
"duration": 45.0,
"texture": ExtResource("19_ubxjo")
}],
"loop": true,
"name": &"棺材怪受惊_呼吸",
"speed": 30.0
}, {
"frames": [{
"duration": 6.0,
"texture": ExtResource("17_5j20w")
}, {
"duration": 6.0,

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dkxeh156pni32"
path="res://.godot/imported/0.png-f510368b6db39ec9401881d7c4f493ac.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://asset/art/gif/c03_棺材怪/棺材怪受惊_呼吸/0.png"
dest_files=["res://.godot/imported/0.png-f510368b6db39ec9401881d7c4f493ac.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b65vwisqo8pc6"
path="res://.godot/imported/1.png-415f30b46e7b6040f955394ee01b459b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://asset/art/gif/c03_棺材怪/棺材怪受惊_呼吸/1.png"
dest_files=["res://.godot/imported/1.png-415f30b46e7b6040f955394ee01b459b.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bhm2nsqjdc3yp"
path="res://.godot/imported/2.png-fd125169a1c3281a5bc294377a93fe33.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://asset/art/gif/c03_棺材怪/棺材怪受惊_呼吸/2.png"
dest_files=["res://.godot/imported/2.png-fd125169a1c3281a5bc294377a93fe33.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

View File

@ -21,10 +21,12 @@ c03_f2_madman_runaway: 0:初始化 1:跑开_纸人挡路 2:消除纸人
c03_invite_xchan_supper=4 & c03_s03_laizi_braid=2 -> c03_f2_madman_runaway=2
# 一楼浆糊演出
c03_f1_paste_show: 0:初始化 1:演出结束
# 李癞
c03_before_mahjong_game: 0:初始化 1:粘舌头和刀把 2:给药 4:准备好进入游戏
c03_mahjong_game: 0:初始化 1:麻将已给牌 2:麻将出千 3:麻将结束
c03_li_paperwoman: 0:初始化隐藏 1:显示纸人 2:纸舌头完成 3:给药完成
c03_drug_game: 0:初始化 1:获得药方 2:获得药包
c03_pangzi_pull_xchan: 0:初始化 1:准备演出 2:演出完成
# 囚室海报
c03_prison_flyer: 0:初始化 1:刮开
c03_prison_lock: 0:初始化 1:打开

View File

@ -207,7 +207,7 @@
麻将 [#texture=c03/两个麻将.png] [ID:prop_两个麻将]
王守义出老千时用的麻将{br}我听说,那会儿赌场由黑帮控制,秩序混乱,赌徒设局被抓后,往往下场凄惨,只有极少数人能够全身而退。 [ID:prop_两个麻将_说明]
符纸 [#texture=c03/符纸纸条.png][#inspect=c03/ux_符纸纸条.png] [ID:prop_符纸]
符纸说明 [ID:prop_符纸_说明]
切记将符纸布于墙面和棺体,等候七日,在水中滴入髫年血,待其于水中凝固,后浇洒于棺体,事成将髫年尸首交于我,方能保你日后平安。 [ID:prop_符纸_说明]
沾血的纸条 [#texture=c03/沾血的纸条.png] [#inspect=c03/ux_沾血的纸条.png] [ID:prop_沾血的纸条]
文开,近日几条丘八又上门,娘仍未告诉他们你在何处,如今世道乱,苟活不耻,保命为上,盼望与儿早日重逢。[ID:prop_沾血的纸条_说明]
=> END

View File

@ -4500,7 +4500,20 @@ animations = [{
}, {
"duration": 1.0,
"texture": ExtResource("920_686vb")
}],
"loop": false,
"name": &"c03_胖子_托小孩",
"speed": 7.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("972_fff22")
}],
"loop": false,
"name": &"c03_胖子_托小孩_停",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("921_428ge")
}, {
@ -4657,8 +4670,8 @@ animations = [{
"duration": 1.0,
"texture": ExtResource("972_fff22")
}],
"loop": true,
"name": &"c03_胖子_托小孩",
"loop": false,
"name": &"c03_胖子_拖小孩_走",
"speed": 7.0
}, {
"frames": [{

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=69 format=3 uid="uid://cootarwb44vvh"]
[gd_scene load_steps=72 format=3 uid="uid://cootarwb44vvh"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_qkymk"]
[ext_resource type="Script" uid="uid://cbt0ubygchxvv" path="res://scene/ground/scene/c02/s06_二楼.gd" id="2_4dg6u"]
@ -49,6 +49,9 @@
[ext_resource type="Texture2D" uid="uid://b5kolhax7pf4u" path="res://asset/art/scene/c02/s06_二楼楼道/小猫纸条.png" id="37_rjlld"]
[ext_resource type="Script" uid="uid://bnm8wuspfx303" path="res://scene/ground/script/c02/event_2d_xchan_run_away.gd" id="39_t5e0j"]
[ext_resource type="SpriteFrames" uid="uid://di43shn22n5ph" path="res://asset/art/gif/c00_通用动作/c00_通用动作_frames.tres" id="40_7i4w0"]
[ext_resource type="Script" uid="uid://bc8hqbn2avyon" path="res://scene/ground/script/c02/s06_event胖子拖小蝉.gd" id="49_3pfyq"]
[ext_resource type="SpriteFrames" uid="uid://b7fhheih1hbvf" path="res://config/animation/entity_sprite_frames.tres" id="50_qdiuf"]
[ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="51_a5tb2"]
[sub_resource type="Animation" id="Animation_k01ve"]
length = 0.001
@ -890,7 +893,7 @@ fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(1, 1)
[node name="S06" type="Node2D"]
metadata/_edit_horizontal_guides_ = [-12.0]
metadata/_edit_horizontal_guides_ = [-12.0, 95.0]
metadata/_edit_vertical_guides_ = [24.0]
[node name="Ground" parent="." instance=ExtResource("1_qkymk")]
@ -1404,6 +1407,39 @@ move_configs = Array[Dictionary]([{
}])
debug_mov_animation = "c00_头套小婵_run"
[node name="Event胖子拖小蝉" type="Node2D" parent="Ground/DeployLayer" index="26"]
script = ExtResource("49_3pfyq")
event_name = &"c03_pangzi_pull_xchan"
event_stages = Array[int]([1])
metadata/_custom_type_script = "uid://bkkiyk5jkdw4d"
[node name="胖子拖小蝉" type="AnimatedSprite2D" parent="Ground/DeployLayer/Event胖子拖小蝉"]
position = Vector2(190, 29)
sprite_frames = ExtResource("50_qdiuf")
animation = &"c03_胖子_托小孩"
script = ExtResource("51_a5tb2")
autostart = false
action_configs = Array[Dictionary]([{
"animation_intro": &"c03_胖子_托小孩",
&"animation_next": "c03_胖子_拖小孩_走",
"animation_wait_time": 0.0,
"intro_loop": 1
}])
move_configs = Array[Dictionary]([{
"animation": "c03_胖子_拖小孩_走",
"animation_next": "c03_胖子_托小孩_停",
"movement_x": 450.0,
"velocity": Vector2(80, 0)
}])
debug_mov_animation = "c03_胖子_拖小孩_走"
metadata/_custom_type_script = "uid://cphfob11f7atx"
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/Event胖子拖小蝉/胖子拖小蝉"]
position = Vector2(-8, -1)
color = Color(1, 0.829639, 0.785629, 1)
energy = 0.15
texture = ExtResource("11_2rktm")
[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(63, 95)
catty_light_energy = 0.5
@ -1422,7 +1458,6 @@ texture = ExtResource("5_26mqt")
points = PackedVector2Array(26, 150, 900, 150)
[node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.9
blend_mode = 1

View File

@ -41,6 +41,7 @@ func _on_coffin_exit(arg) -> void:
func _coffin_monster_climb_out() -> void:
sfx_2d棺材呼吸声.play()
SceneManager.lock_player()
play("monster_first_contact")
await Util.wait(1.0)
@ -52,7 +53,12 @@ func _coffin_monster_climb_out() -> void:
func monster_disappear_ambush() -> void:
sfx_2d棺材呼吸声.easing_kill()
$"../DeployLayer/Pro棺材怪2/Sfx2D棺材叫儿".easing_kill(6.0)
var monster = $"../DeployLayer/Pro棺材怪2"
var tween = create_tween()
tween.tween_property(monster, "modulate:a", 0.0, 0.4)
SceneManager.pop_debug_dialog_info("音效", "棺材怪突然消失sfx")
func shake_on_walking() -> void:
SceneManager.get_camera_marker().shake_camera(2.0)

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=23 format=3 uid="uid://dfln301xllqpn"]
[gd_scene load_steps=26 format=3 uid="uid://dfln301xllqpn"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_8vqn6"]
[ext_resource type="Script" uid="uid://dxt2u1jajrm1g" path="res://scene/ground/scene/c03/s09_棺材房.gd" id="2_8vqn6"]
@ -19,6 +19,8 @@
[ext_resource type="Texture2D" uid="uid://d3rl4pyal4bao" path="res://asset/art/scene/c03/s09_棺材房/角落胖子干尸.png" id="14_htuhx"]
[ext_resource type="AudioStream" uid="uid://b8gsppgtp8tdk" path="res://asset/audio/sfx/旧版/lvping/footstep_earth_left.ogg" id="15_qr48f"]
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="15_rcrkk"]
[ext_resource type="AudioStream" uid="uid://ce8rpo6mmrysf" path="res://asset/audio/peiyin/c03/c03_棺材怪_2.ogg" id="19_840is"]
[ext_resource type="AudioStream" uid="uid://wt7jlambh6y" path="res://asset/audio/peiyin/c03/c03_棺材怪_3.ogg" id="20_8k23x"]
[sub_resource type="Animation" id="Animation_htuhx"]
length = 0.001
@ -118,10 +120,22 @@ tracks/7/keys = {
"update": 1,
"values": [false]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("DeployLayer/Pro棺材怪2/Sfx2D棺材叫儿:playing")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_alans"]
resource_name = "monster_first_contact"
length = 10.0
length = 14.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
@ -129,7 +143,7 @@ tracks/0/path = NodePath("DeployLayer/Pro棺材怪/呼吸声跟随1:remote_path"
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 4.83334),
"times": PackedFloat32Array(0, 9.63334),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [NodePath("../../Sfx2D棺材呼吸声"), NodePath("")]
@ -141,7 +155,7 @@ tracks/1/path = NodePath("DeployLayer/Pro棺材怪:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 3.66667, 4.83334),
"times": PackedFloat32Array(0, 4.66668, 9.63334),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector2(453, -100), Vector2(453, -100), Vector2(-100, -100)]
@ -153,43 +167,72 @@ tracks/2/path = NodePath("DeployLayer/Pro棺材怪2:position")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 5.83333, 7.26667),
"times": PackedFloat32Array(0, 11.2, 13.2667),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector2(-88, 12), Vector2(-88, 12), Vector2(50, 12)]
}
tracks/3/type = "value"
tracks/3/type = "method"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("DeployLayer/Pro棺材怪2/呼吸声跟随2:remote_path")
tracks/3/path = NodePath("AnimationPlayer")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 5),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [NodePath(""), NodePath("../../Sfx2D棺材呼吸声")]
"times": PackedFloat32Array(4.83334, 6.26667, 7.53334, 9.13334, 11.0333, 12.4667),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"values": [{
"args": [],
"method": &"shake_on_walking"
}, {
"args": [],
"method": &"shake_on_walking"
}, {
"args": [],
"method": &"shake_on_walking"
}, {
"args": [],
"method": &"shake_on_walking"
}, {
"args": [],
"method": &"shake_on_walking"
}, {
"args": [],
"method": &"shake_on_walking"
}]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("DeployLayer/Pro棺材怪/Sfx2D棺材怪移动声:playing")
tracks/4/path = NodePath("DeployLayer/Pro棺材怪2/呼吸声跟随2:remote_path")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(3.70334, 5.66667),
"times": PackedFloat32Array(0, 9.8),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [NodePath(""), NodePath("../../Sfx2D棺材呼吸声")]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("DeployLayer/Pro棺材怪/Sfx2D棺材怪移动声:playing")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(4.70335, 10.4667),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/5/type = "method"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("MainPlayer")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0, 4.3),
tracks/6/type = "method"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("MainPlayer")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0, 5.33334),
"transitions": PackedFloat32Array(1, 1),
"values": [{
"args": [Vector2(1, 0)],
@ -199,26 +242,38 @@ tracks/5/keys = {
"method": &"set_facing_direction"
}]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("DeployLayer/Pro棺材怪2:animation")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(7.7),
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("DeployLayer/Pro棺材怪2:animation")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(13.3333),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [&"棺材怪受惊"]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("DeployLayer/Pro棺材怪2/Ambush棺材怪消失:enabled")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(9.4),
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("DeployLayer/Pro棺材怪2/Ambush棺材怪消失:enabled")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(14.2),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("DeployLayer/Pro棺材怪2/Sfx2D棺材叫儿:playing")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(13.5667),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
@ -230,6 +285,16 @@ _data = {
&"monster_first_contact": SubResource("Animation_alans")
}
[sub_resource type="AudioStreamInteractive" id="AudioStreamInteractive_qkb2a"]
clip_count = 2
clip_0/name = &"C 03 棺材怪 2"
clip_0/stream = ExtResource("19_840is")
clip_0/auto_advance = 1
clip_0/next_clip = 1
clip_1/name = &"C 03 棺材怪 3"
clip_1/stream = ExtResource("20_8k23x")
clip_1/auto_advance = 0
[node name="S09" type="Node2D"]
metadata/_edit_horizontal_guides_ = [-627.0]
@ -245,7 +310,7 @@ script = ExtResource("2_8vqn6")
[node name="Sfx背景音" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"]
stream = ExtResource("3_sssik")
volume_db = -5.0
volume_db = -15.0
autoplay = true
bus = &"game_sfx"
script = ExtResource("4_5at4l")
@ -284,7 +349,7 @@ note_key = "c03_s09_胖子干尸"
[node name="Sfx2D棺材呼吸声" type="AudioStreamPlayer2D" parent="Ground/DeployLayer" index="4"]
position = Vector2(341, 45)
stream = ExtResource("11_qr48f")
autoplay = true
volume_db = 10.0
max_distance = 1000.0
attenuation = 2.0
bus = &"game_sfx"
@ -320,7 +385,7 @@ metadata/_custom_type_script = "uid://cphfob11f7atx"
[node name="Sfx2D棺材怪移动声" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/Pro棺材怪"]
position = Vector2(15, -22)
stream = ExtResource("15_qr48f")
volume_db = 10.0
volume_db = -50.0
max_distance = 1000.0
attenuation = 2.0
bus = &"game_sfx"
@ -345,10 +410,16 @@ autoplay = "棺材怪走路"
flip_h = true
script = ExtResource("10_t7o3d")
autostart = false
action_configs = Array[Dictionary]([{
"animation_intro": &"棺材怪受惊",
&"animation_next": "棺材怪受惊_呼吸",
"animation_wait_time": 0.0,
"intro_loop": 1
}])
metadata/_custom_type_script = "uid://cphfob11f7atx"
[node name="Ambush棺材怪消失" parent="Ground/DeployLayer/Pro棺材怪2" instance=ExtResource("13_alans")]
position = Vector2(155, 45)
position = Vector2(151, 40)
enabled = false
hook_method = "monster_disappear_ambush"
@ -360,12 +431,25 @@ texture = ExtResource("15_rcrkk")
[node name="呼吸声跟随2" type="RemoteTransform2D" parent="Ground/DeployLayer/Pro棺材怪2"]
[node name="Sfx2D棺材叫儿" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/Pro棺材怪2"]
position = Vector2(39, 9)
stream = SubResource("AudioStreamInteractive_qkb2a")
max_distance = 500.0
attenuation = 2.5
bus = &"game_sfx"
script = ExtResource("10_htuhx")
metadata/_custom_type_script = "uid://wapo47a1oddf"
[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(325, 98)
catty_light_energy = 0.5
player_movement_rect = Rect2(77, -158, 347, 316)
facing_direction = Vector2(1, 0)
[node name="AudioListener2D" type="AudioListener2D" parent="Ground/MainPlayer" index="6"]
position = Vector2(1, -86)
current = true
[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"]
position = Vector2(27, 11)
scale = Vector2(1.1, 1.1)

View File

@ -29,15 +29,7 @@ func _on_ground_ready() -> void:
_check_first_enter()
var right_x = SceneManager.get_player().player_movement_rect.size.x
SceneManager.get_camera_marker().limit_right = int(right_x) + 50
await Util.wait(2.0)
monster.chop_left(1.0)
await Util.wait(4.0)
monster.chop_left(1.0)
await Util.wait(4.0)
monster.chop_left(1.0)
await Util.wait(4.0)
monster.chop_right(1.0)
_run_game()
func _check_first_enter() -> void:
@ -51,3 +43,13 @@ func _check_first_enter() -> void:
# 0:初始化; 1:砍字; 2:隐藏_定点砍; 3:显现_动态砍; 4:隐藏_追踪砍;
var current_stage := 0
func _run_game() -> void:
await Util.wait(2.0)
monster.chop_left(1.0)
await Util.wait(4.0)
monster.chop_left(1.0)
await Util.wait(4.0)
monster.chop_left(1.0)
await Util.wait(4.0)
monster.chop_right(1.0)

View File

@ -159,7 +159,7 @@ shape = SubResource("CapsuleShape2D_whxhi")
disabled = true
[node name="MonsterMoveTarget" type="Marker2D" parent="Ground/DeployLayer" index="7"]
position = Vector2(395, 50)
position = Vector2(1401, 7)
[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(396, 98)

View File

@ -0,0 +1,38 @@
@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:
if stage == 1:
var sprite = $"胖子拖小蝉"
# 胖子拖小蝉演出
SceneManager.lock_player()
sprite.play("c03_胖子_托小孩")
# c03_胖子_托小孩 结束
await sprite.animation_finished
# c03_胖子_拖小孩_走 结束
await sprite.animation_finished
SceneManager.unlock_player()
# 更新事件,节点消失
EventManager.set_stage_if_greater("c03_pangzi_pull_xchan", 2)
func _on_pre_stage_updated() -> void:
pass
func _on_stage_updated() -> void:
pass

View File

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

View File

@ -68,6 +68,7 @@ func _unhandled_input(event: InputEvent) -> void:
await animation_player.animation_finished
current_stage = 3
EventManager.set_stage_if_greater("c03_li_paperwoman", 3)
EventManager.set_stage_if_greater("c03_pangzi_pull_xchan", 1)
SceneManager.enable_prop_item("prop_2013钥匙")
animation_player.play("RESET")
# 交互完成,退出

View File

@ -6,14 +6,16 @@ signal exit(arg)
@onready var hover_knife = %"Hover刀" as HoverLightClickArea
@onready var hover_note = %"Hover纸条" as HoverLightClickArea
# c03_coffin: 0:初始化 1:拿走刀 2:拿走纸条_棺材怪演出 3:演出完成
var coffin_stage := 0
func _ready() -> void:
layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME
coffin_stage = EventManager.get_stage("c03_coffin")
# c03_coffin: 0:初始化 1:拿走刀 2:拿走纸条_棺材怪演出 3:演出完成
var coffin_stage = EventManager.get_stage("c03_coffin")
hover_knife.interacted.connect(_on_knife_interacted)
hover_note.interacted.connect(_on_note_interacted)
$"Sfx打开棺材".play()
#TODO
SceneManager.pop_debug_dialog_info("音效", "Sfx打开棺材")
if coffin_stage == 0:
SceneManager.pop_center_notification("ui_center_notify_c03粘刀把")
elif coffin_stage == 1:
@ -38,8 +40,16 @@ func _on_knife_interacted() -> void:
func _on_note_interacted() -> void:
hover_note.hide()
EventManager.set_stage("c03_coffin", 2)
var node = get_parent() as Closeup2D
if node:
node.hold_cancel_before_exit()
SceneManager.enable_important_item("prop_沾血的纸条")
# 遮住棺材怪
var color_rect = $"ColorRect"
create_tween().tween_property(color_rect, "modulate:a", 1.0, 0.5)
await SceneManager.get_inspector().quit_and_hidden
SceneManager.black_transition(0.7, 0.5)
await Util.wait(0.8)
exit.emit(true)
@ -47,6 +57,7 @@ func _on_note_interacted() -> void:
var knife_state := 0
func _unhandled_input(event: InputEvent) -> void:
var coffin_stage = EventManager.get_stage("c03_coffin")
if event.is_action_pressed("cancel") and coffin_stage == 0:
get_viewport().set_input_as_handled()
SceneManager.reset_temp_disabled_props()

View File

@ -16,6 +16,11 @@
[node name="Closeup棺材特写" type="CanvasLayer"]
script = ExtResource("1_6v1ol")
[node name="Sfx打开棺材" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
bus = &"game_sfx"
script = ExtResource("3_mobd5")
[node name="SfxInspect" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("2_bgvp8")
@ -106,3 +111,13 @@ updater_event = &"c03_coffin"
updater_mode = "shower"
updater_stages = Array[int]([0])
metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="ColorRect" type="ColorRect" parent="."]
modulate = Color(1, 1, 1, 0)
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 1
color = Color(0, 0, 0, 1)