优化第一章谢幕演出
This commit is contained in:
parent
9268dd36fe
commit
3ae63f2000
@ -3178,21 +3178,21 @@ animations = [{
|
|||||||
"speed": 30.0
|
"speed": 30.0
|
||||||
}, {
|
}, {
|
||||||
"frames": [{
|
"frames": [{
|
||||||
"duration": 1.0,
|
"duration": 6.0,
|
||||||
"texture": ExtResource("767_juprk")
|
"texture": ExtResource("767_juprk")
|
||||||
}, {
|
}, {
|
||||||
"duration": 1.0,
|
"duration": 6.0,
|
||||||
"texture": ExtResource("768_pramq")
|
"texture": ExtResource("768_pramq")
|
||||||
}, {
|
}, {
|
||||||
"duration": 1.0,
|
"duration": 6.0,
|
||||||
"texture": ExtResource("769_rrudt")
|
"texture": ExtResource("769_rrudt")
|
||||||
}, {
|
}, {
|
||||||
"duration": 1.0,
|
"duration": 6.0,
|
||||||
"texture": ExtResource("770_t8u5r")
|
"texture": ExtResource("770_t8u5r")
|
||||||
}],
|
}],
|
||||||
"loop": false,
|
"loop": false,
|
||||||
"name": &"小蝶擦火柴蹲下起身",
|
"name": &"小蝶擦火柴蹲下起身",
|
||||||
"speed": 5.0
|
"speed": 30.0
|
||||||
}, {
|
}, {
|
||||||
"frames": [{
|
"frames": [{
|
||||||
"duration": 6.0,
|
"duration": 6.0,
|
||||||
|
@ -28,6 +28,7 @@ ui_auto_saved,自动保存成功,,,,,Auto save successful
|
|||||||
ui_press_e,按 E 与场景互动,,,,,Press E to interact
|
ui_press_e,按 E 与场景互动,,,,,Press E to interact
|
||||||
ui_press_q_to_exit,按 Q 可退出,,,,,
|
ui_press_q_to_exit,按 Q 可退出,,,,,
|
||||||
ui_use_prop,按 E 使用道具,,,,,Press E to use prop
|
ui_use_prop,按 E 使用道具,,,,,Press E to use prop
|
||||||
|
ui_right_click_prop,右键点击可检阅道具,,,,,
|
||||||
ui_left_mouse_shave,按住鼠标拖拽可刮开海报,,,,,
|
ui_left_mouse_shave,按住鼠标拖拽可刮开海报,,,,,
|
||||||
ui_important_item_update,重要物品已更新(按 B 打开背包),,,,,
|
ui_important_item_update,重要物品已更新(按 B 打开背包),,,,,
|
||||||
ui_switch_prop,点击图标可切换道具(或按 Z/C),,,,,
|
ui_switch_prop,点击图标可切换道具(或按 Z/C),,,,,
|
||||||
|
|
@ -23,6 +23,7 @@
|
|||||||
按 E 与场景互动 [ID:ui_press_e]
|
按 E 与场景互动 [ID:ui_press_e]
|
||||||
按 Q 可退出 [ID:ui_press_q_to_exit]
|
按 Q 可退出 [ID:ui_press_q_to_exit]
|
||||||
按 E 使用道具 [ID:ui_use_prop]
|
按 E 使用道具 [ID:ui_use_prop]
|
||||||
|
右键点击可检阅道具 [ID:ui_right_click_prop]
|
||||||
按住鼠标拖拽可刮开海报 [ID:ui_left_mouse_shave]
|
按住鼠标拖拽可刮开海报 [ID:ui_left_mouse_shave]
|
||||||
重要物品已更新(按 B 打开背包) [ID:ui_important_item_update]
|
重要物品已更新(按 B 打开背包) [ID:ui_important_item_update]
|
||||||
点击图标可切换道具(或按 Z/C) [ID:ui_switch_prop]
|
点击图标可切换道具(或按 Z/C) [ID:ui_switch_prop]
|
||||||
|
@ -7,16 +7,26 @@ const DEBUG = true
|
|||||||
const RES_FILE_FORMAT = ".tres"
|
const RES_FILE_FORMAT = ".tres"
|
||||||
|
|
||||||
## layers
|
## layers
|
||||||
|
# 设置
|
||||||
const CANVAS_LAYER_SETTINGS = 30
|
const CANVAS_LAYER_SETTINGS = 30
|
||||||
|
# bag
|
||||||
const CANVAS_LAYER_BAG = 25
|
const CANVAS_LAYER_BAG = 25
|
||||||
|
# dialog
|
||||||
const CANVAS_LAYER_DIALOG = 23
|
const CANVAS_LAYER_DIALOG = 23
|
||||||
|
# main 场景的 UI 层(prop hud、上下mask、notification)
|
||||||
const CANVAS_LAYER_UI = 22
|
const CANVAS_LAYER_UI = 22
|
||||||
|
# 道具 inspector(prop/local)
|
||||||
const CANVAS_LAYER_PROP_INSPECTOR = 20
|
const CANVAS_LAYER_PROP_INSPECTOR = 20
|
||||||
|
# ground loader 转场等 mask 层
|
||||||
const CANVAS_LAYER_GROUND_MASK = 14
|
const CANVAS_LAYER_GROUND_MASK = 14
|
||||||
|
# 特殊全屏效果(无 shading)
|
||||||
|
const CANVAS_LAYER_EFFECT = 5
|
||||||
|
# 全屏 shading
|
||||||
const CANVAS_LAYER_SHADING = 10
|
const CANVAS_LAYER_SHADING = 10
|
||||||
|
# 小游戏
|
||||||
const CANVAS_LAYER_LITTLE_GAME = 5
|
const CANVAS_LAYER_LITTLE_GAME = 5
|
||||||
|
# 前景层
|
||||||
const CANVAS_LAYER_FG = 2
|
const CANVAS_LAYER_FG = 2
|
||||||
const CANVAS_LAYER_HD_ENTITY = 1
|
|
||||||
|
|
||||||
const DIALOG_IGNORE_INPUT = "ignore_input"
|
const DIALOG_IGNORE_INPUT = "ignore_input"
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ func c02_fire_count_down_try_start():
|
|||||||
return
|
return
|
||||||
c02_fire_count_down_timer = Timer.new()
|
c02_fire_count_down_timer = Timer.new()
|
||||||
c02_fire_count_down_timer.autostart = true
|
c02_fire_count_down_timer.autostart = true
|
||||||
c02_fire_count_down_timer.wait_time = 60
|
c02_fire_count_down_timer.wait_time = 10
|
||||||
c02_fire_count_down_timer.one_shot = false
|
c02_fire_count_down_timer.one_shot = false
|
||||||
c02_fire_count_down_timer.timeout.connect(_on_c02_fire_count_down_timeout)
|
c02_fire_count_down_timer.timeout.connect(_on_c02_fire_count_down_timeout)
|
||||||
add_child(c02_fire_count_down_timer)
|
add_child(c02_fire_count_down_timer)
|
||||||
@ -54,6 +54,8 @@ func _on_c02_fire_count_down_timeout():
|
|||||||
# c02_9小蝉_游戏失败效果
|
# c02_9小蝉_游戏失败效果
|
||||||
var sfx = preload("uid://chebys30sd8ee")
|
var sfx = preload("uid://chebys30sd8ee")
|
||||||
AudioManager.play_sfx(sfx)
|
AudioManager.play_sfx(sfx)
|
||||||
|
await get_tree().create_timer(1.0).timeout
|
||||||
|
SceneManager.show_black_hand(true, 0.5)
|
||||||
await get_tree().create_timer(3.0).timeout
|
await get_tree().create_timer(3.0).timeout
|
||||||
SceneManager.get_ground_loader().transition_to_scene("c02_s03", "4")
|
SceneManager.get_ground_loader().transition_to_scene("c02_s03", "4")
|
||||||
# TODO 音效
|
# TODO 音效
|
||||||
|
@ -22,6 +22,7 @@ func _ready():
|
|||||||
func get_ground_loader() -> GroundLoader:
|
func get_ground_loader() -> GroundLoader:
|
||||||
return get_node_or_null("/root/Main/GroundLoader") as GroundLoader
|
return get_node_or_null("/root/Main/GroundLoader") as GroundLoader
|
||||||
|
|
||||||
|
|
||||||
# restart scene in debug launch...
|
# restart scene in debug launch...
|
||||||
func is_restarting() -> bool:
|
func is_restarting() -> bool:
|
||||||
var ground = get_ground()
|
var ground = get_ground()
|
||||||
@ -354,3 +355,16 @@ func show_bag():
|
|||||||
func quit_game():
|
func quit_game():
|
||||||
ArchiveManager.save_all()
|
ArchiveManager.save_all()
|
||||||
get_tree().quit()
|
get_tree().quit()
|
||||||
|
|
||||||
|
|
||||||
|
###### Effects
|
||||||
|
|
||||||
|
# 黑手
|
||||||
|
var black_hand_scene = preload("uid://d2ftpqvtvl00h")
|
||||||
|
|
||||||
|
|
||||||
|
func show_black_hand(play_sfx := true, queue_free_delay := 0.0):
|
||||||
|
var hand = black_hand_scene.instantiate()
|
||||||
|
hand.name = "BlackHand"
|
||||||
|
get_tree().current_scene.add_child(hand)
|
||||||
|
hand.run_effect(play_sfx, queue_free_delay)
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://dy488fl2ijtb4" path="res://asset/art/ui/inverted_point_light_masks/021.png" id="23_t66ls"]
|
[ext_resource type="Texture2D" uid="uid://dy488fl2ijtb4" path="res://asset/art/ui/inverted_point_light_masks/021.png" id="23_t66ls"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bo2ee2uhsp6l2" path="res://asset/art/ui/inverted_point_light_masks/022.png" id="24_1ylis"]
|
[ext_resource type="Texture2D" uid="uid://bo2ee2uhsp6l2" path="res://asset/art/ui/inverted_point_light_masks/022.png" id="24_1ylis"]
|
||||||
[ext_resource type="Texture2D" uid="uid://gxl7kkkkq5vd" path="res://asset/art/ui/inverted_point_light_masks/023.png" id="25_dvr6b"]
|
[ext_resource type="Texture2D" uid="uid://gxl7kkkkq5vd" path="res://asset/art/ui/inverted_point_light_masks/023.png" id="25_dvr6b"]
|
||||||
[ext_resource type="Script" uid="uid://dts3vcdacsvh" path="res://scene/shading/fog.gd" id="26_wm1nd"]
|
[ext_resource type="Script" uid="uid://dts3vcdacsvh" path="res://scene/effect/fog.gd" id="26_wm1nd"]
|
||||||
|
|
||||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_jw18h"]
|
[sub_resource type="FastNoiseLite" id="FastNoiseLite_jw18h"]
|
||||||
noise_type = 2
|
noise_type = 2
|
@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=8 format=3 uid="uid://h0s5ms7r7d8g"]
|
[gd_scene load_steps=8 format=3 uid="uid://h0s5ms7r7d8g"]
|
||||||
|
|
||||||
[ext_resource type="Shader" uid="uid://cr3jq30n7muy4" path="res://scene/shading/ghost.gdshader" id="1_n4q4i"]
|
[ext_resource type="Shader" uid="uid://cr3jq30n7muy4" path="res://scene/effect/ghost.gdshader" id="1_n4q4i"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bc64s5xfysrc3" path="res://asset/art/scene/c01/s07_书店外/bg_书店外_夜晚.png" id="4_lap87"]
|
[ext_resource type="Texture2D" uid="uid://bc64s5xfysrc3" path="res://asset/art/scene/c01/s07_书店外/bg_书店外_夜晚.png" id="4_lap87"]
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fv2fx"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fv2fx"]
|
@ -1,13 +1,13 @@
|
|||||||
[gd_scene load_steps=43 format=3 uid="uid://3gk1gxwanw24"]
|
[gd_scene load_steps=43 format=3 uid="uid://3gk1gxwanw24"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://lxjflxn04684" path="res://scene/shading/shading_layer.gd" id="1_6w7er"]
|
[ext_resource type="Script" uid="uid://lxjflxn04684" path="res://scene/effect/shading_layer.gd" id="1_6w7er"]
|
||||||
[ext_resource type="Shader" uid="uid://do181iuabeoom" path="res://asset/shader/vignette.gdshader" id="1_akp6k"]
|
[ext_resource type="Shader" uid="uid://do181iuabeoom" path="res://asset/shader/vignette.gdshader" id="1_akp6k"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dibfvlmarlkg6" path="res://asset/art/scene/c02/旧版/s01_街道/bg_公寓入口.png" id="2_r3a31"]
|
[ext_resource type="Texture2D" uid="uid://dibfvlmarlkg6" path="res://asset/art/scene/c02/旧版/s01_街道/bg_公寓入口.png" id="2_r3a31"]
|
||||||
[ext_resource type="Shader" uid="uid://bg7cjm3cust3p" path="res://asset/shader/glitcheffect.gdshader" id="3_qjv5u"]
|
[ext_resource type="Shader" uid="uid://bg7cjm3cust3p" path="res://asset/shader/glitcheffect.gdshader" id="3_qjv5u"]
|
||||||
[ext_resource type="Shader" uid="uid://cwuxtdwmhahhp" path="res://asset/shader/palette.gdshader" id="4_n5nu8"]
|
[ext_resource type="Shader" uid="uid://cwuxtdwmhahhp" path="res://asset/shader/palette.gdshader" id="4_n5nu8"]
|
||||||
[ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="4_sglhm"]
|
[ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="4_sglhm"]
|
||||||
[ext_resource type="Texture2D" uid="uid://36k1j0qw66tm" path="res://asset/shader/palette/bloodmoon21-1x.png" id="5_ios50"]
|
[ext_resource type="Texture2D" uid="uid://36k1j0qw66tm" path="res://asset/shader/palette/bloodmoon21-1x.png" id="5_ios50"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/shading/fog.tscn" id="7_7084x"]
|
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog.tscn" id="7_7084x"]
|
||||||
[ext_resource type="Material" uid="uid://7wllwmfkfvsb" path="res://asset/shader/cloud.tres" id="7_cmfij"]
|
[ext_resource type="Material" uid="uid://7wllwmfkfvsb" path="res://asset/shader/cloud.tres" id="7_cmfij"]
|
||||||
[ext_resource type="Shader" uid="uid://3lssj7jwlhxl" path="res://asset/shader/chromatic_abberation.gdshader" id="8_b0unx"]
|
[ext_resource type="Shader" uid="uid://3lssj7jwlhxl" path="res://asset/shader/chromatic_abberation.gdshader" id="8_b0unx"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bmlhwa80lywa3" path="res://asset/art/ui/inverted_point_light_masks/000.png" id="8_v5h2g"]
|
[ext_resource type="Texture2D" uid="uid://bmlhwa80lywa3" path="res://asset/art/ui/inverted_point_light_masks/000.png" id="8_v5h2g"]
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bhl1b5ren8emk"
|
uid="uid://bhl1b5ren8emk"
|
||||||
path="res://.godot/imported/smoke.png-6594d98b9f388075486a8864d514070c.ctex"
|
path="res://.godot/imported/smoke.png-d6fe8f3d722987ede5ddae176417a3ab.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://scene/shading/smoke.png"
|
source_file="res://scene/effect/smoke.png"
|
||||||
dest_files=["res://.godot/imported/smoke.png-6594d98b9f388075486a8864d514070c.ctex"]
|
dest_files=["res://.godot/imported/smoke.png-d6fe8f3d722987ede5ddae176417a3ab.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=5 format=3 uid="uid://bwce0niymxrou"]
|
[gd_scene load_steps=5 format=3 uid="uid://bwce0niymxrou"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bhl1b5ren8emk" path="res://scene/shading/smoke.png" id="1_705e3"]
|
[ext_resource type="Texture2D" uid="uid://bhl1b5ren8emk" path="res://scene/effect/smoke.png" id="1_705e3"]
|
||||||
|
|
||||||
[sub_resource type="Curve" id="Curve_r8ddf"]
|
[sub_resource type="Curve" id="Curve_r8ddf"]
|
||||||
_limits = [-2.0, 2.0, -1.0, 1.0]
|
_limits = [-2.0, 2.0, -1.0, 1.0]
|
21
scene/effect/黑手.gd
Normal file
21
scene/effect/黑手.gd
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
extends CanvasLayer
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
layer = GlobalConfig.CANVAS_LAYER_EFFECT
|
||||||
|
|
||||||
|
|
||||||
|
func run_effect(play_sfx := true, queue_free_delay := 0.0):
|
||||||
|
if not is_node_ready():
|
||||||
|
await ready
|
||||||
|
var aplayer = $AnimationPlayer as AnimationPlayer
|
||||||
|
aplayer.play("双手捂屏幕")
|
||||||
|
if play_sfx:
|
||||||
|
$"Sfx捂手音效".play()
|
||||||
|
aplayer.animation_finished.connect(_on_animation_finished.bind(queue_free_delay))
|
||||||
|
|
||||||
|
|
||||||
|
func _on_animation_finished(_a, queue_free_delay):
|
||||||
|
if queue_free_delay > 0:
|
||||||
|
await get_tree().create_timer(queue_free_delay).timeout
|
||||||
|
queue_free()
|
1
scene/effect/黑手.gd.uid
Normal file
1
scene/effect/黑手.gd.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://bd0ev6tgqlx3r
|
141
scene/effect/黑手.tscn
Normal file
141
scene/effect/黑手.tscn
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
[gd_scene load_steps=9 format=3 uid="uid://d2ftpqvtvl00h"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://hv6bqkjw4clv" path="res://asset/art/scene/c02/结尾演出小蝶分镜特写/e_黑手左.png" id="1_mvq0r"]
|
||||||
|
[ext_resource type="Script" uid="uid://bd0ev6tgqlx3r" path="res://scene/effect/黑手.gd" id="1_oa0hm"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://coilus3pohj5j" path="res://asset/art/scene/c02/结尾演出小蝶分镜特写/e_黑手右.png" id="2_2evqm"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://b8sbtn3l37uh" path="res://asset/audio/sfx/旧版/c02/红屏.mp3" id="2_gd1dm"]
|
||||||
|
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_gy14l"]
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_oa0hm"]
|
||||||
|
resource_name = "双手捂屏幕"
|
||||||
|
length = 3.0
|
||||||
|
step = 0.02
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("黑手左:position")
|
||||||
|
tracks/0/interp = 2
|
||||||
|
tracks/0/loop_wrap = false
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.5, 1, 2.8),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Vector2(-131, 253), Vector2(9, 217), Vector2(86, 191), Vector2(288, 132)]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("黑手右:position")
|
||||||
|
tracks/1/interp = 2
|
||||||
|
tracks/1/loop_wrap = false
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.5, 1.02, 2.8),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Vector2(694, 244), Vector2(554, 216), Vector2(418, 190), Vector2(291, 132)]
|
||||||
|
}
|
||||||
|
tracks/2/type = "value"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("黑手左:scale")
|
||||||
|
tracks/2/interp = 2
|
||||||
|
tracks/2/loop_wrap = false
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.9, 2.3, 2.8),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Vector2(0.8, 0.8), Vector2(1.2, 1.2), Vector2(2, 2), Vector2(2.5, 2.5)]
|
||||||
|
}
|
||||||
|
tracks/3/type = "value"
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/path = NodePath("黑手右:scale")
|
||||||
|
tracks/3/interp = 2
|
||||||
|
tracks/3/loop_wrap = false
|
||||||
|
tracks/3/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.9, 2.3, 2.8),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Vector2(0.8, 0.8), Vector2(1.2, 1.2), Vector2(2, 2), Vector2(2.5, 2.5)]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_gd1dm"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("黑手左:position")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Vector2(-131, 253)]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("黑手右:position")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Vector2(694, 244)]
|
||||||
|
}
|
||||||
|
tracks/2/type = "value"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("黑手左:scale")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Vector2(1, 1)]
|
||||||
|
}
|
||||||
|
tracks/3/type = "value"
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/path = NodePath("黑手右:scale")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Vector2(1, 1)]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_43ipm"]
|
||||||
|
_data = {
|
||||||
|
&"RESET": SubResource("Animation_gd1dm"),
|
||||||
|
&"双手捂屏幕": SubResource("Animation_oa0hm")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="黑手Effect" type="CanvasLayer"]
|
||||||
|
script = ExtResource("1_oa0hm")
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
libraries = {
|
||||||
|
&"": SubResource("AnimationLibrary_43ipm")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Sfx捂手音效" type="AudioStreamPlayer" parent="."]
|
||||||
|
stream = ExtResource("2_gd1dm")
|
||||||
|
bus = &"game_sfx"
|
||||||
|
script = ExtResource("3_gy14l")
|
||||||
|
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
||||||
|
|
||||||
|
[node name="黑手左" type="Sprite2D" parent="."]
|
||||||
|
position = Vector2(-131, 253)
|
||||||
|
texture = ExtResource("1_mvq0r")
|
||||||
|
offset = Vector2(150, 0)
|
||||||
|
|
||||||
|
[node name="黑手右" type="Sprite2D" parent="."]
|
||||||
|
position = Vector2(694, 244)
|
||||||
|
texture = ExtResource("2_2evqm")
|
||||||
|
offset = Vector2(-150, 0)
|
@ -1,124 +0,0 @@
|
|||||||
@tool
|
|
||||||
extends Node2D
|
|
||||||
|
|
||||||
signal sign_mark_offset_updated
|
|
||||||
|
|
||||||
# sign_mark 节点在 ready 时会直接读取
|
|
||||||
@export var sign_mark_offset := Vector2.ZERO:
|
|
||||||
set(val):
|
|
||||||
sign_mark_offset = val
|
|
||||||
sign_mark_offset_updated.emit(val)
|
|
||||||
@export var reload := false:
|
|
||||||
set(val):
|
|
||||||
_reload()
|
|
||||||
reload = false
|
|
||||||
@export var sprite_name := "name":
|
|
||||||
set(val):
|
|
||||||
if sprite_name and sprite_name != val:
|
|
||||||
_remove_sprite(sprite_name)
|
|
||||||
sprite_name = val
|
|
||||||
_reload()
|
|
||||||
@export var texture: Texture2D:
|
|
||||||
set(val):
|
|
||||||
texture = val
|
|
||||||
_reload()
|
|
||||||
@export var sprite_scale := 1.0:
|
|
||||||
set(val):
|
|
||||||
sprite_scale = val
|
|
||||||
_update_sprite_transform(true)
|
|
||||||
@export var sprite_ref: Sprite2D
|
|
||||||
|
|
||||||
const RATIO = 4.0
|
|
||||||
|
|
||||||
@onready var sign_mark = %Sign as Sign
|
|
||||||
@onready var area2d = %Area2D as Area2D
|
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
|
||||||
_reload()
|
|
||||||
set_notify_transform(true)
|
|
||||||
# set_notify_local_transform(true)
|
|
||||||
item_rect_changed.connect(_update_sprite_transform)
|
|
||||||
if Engine.is_editor_hint():
|
|
||||||
return
|
|
||||||
area2d.body_entered.connect(_reset)
|
|
||||||
area2d.body_exited.connect(_on_cancel)
|
|
||||||
sign_mark.interacted.connect(_on_interacted)
|
|
||||||
sign_mark.cancel.connect(_on_cancel)
|
|
||||||
|
|
||||||
|
|
||||||
func _notification(what: int) -> void:
|
|
||||||
if what == NOTIFICATION_TRANSFORM_CHANGED:
|
|
||||||
if not is_node_ready():
|
|
||||||
await ready
|
|
||||||
_update_sprite_transform()
|
|
||||||
|
|
||||||
|
|
||||||
func _reload():
|
|
||||||
if not texture or not sprite_name:
|
|
||||||
return
|
|
||||||
var layer = _get_hd_layer()
|
|
||||||
if not layer:
|
|
||||||
return
|
|
||||||
sprite_ref = layer.get_node_or_null(sprite_name) as Sprite2D
|
|
||||||
if not sprite_ref:
|
|
||||||
sprite_ref = Sprite2D.new()
|
|
||||||
layer.add_child(sprite_ref)
|
|
||||||
sprite_ref.owner = layer
|
|
||||||
sprite_ref.name = sprite_name
|
|
||||||
sprite_ref.texture = texture
|
|
||||||
sprite_ref.z_index = 0
|
|
||||||
sprite_ref.centered = true
|
|
||||||
sprite_ref.visible = true
|
|
||||||
_update_sprite_transform()
|
|
||||||
|
|
||||||
|
|
||||||
func _remove_sprite(sprite_node_name):
|
|
||||||
if sprite_ref:
|
|
||||||
sprite_ref.queue_free()
|
|
||||||
sprite_ref = null
|
|
||||||
if not sprite_name:
|
|
||||||
return
|
|
||||||
var layer = _get_hd_layer()
|
|
||||||
if layer:
|
|
||||||
var sprite = layer.get_node_or_null(sprite_node_name)
|
|
||||||
layer.remove_child(sprite)
|
|
||||||
sprite.queue_free()
|
|
||||||
|
|
||||||
|
|
||||||
func _get_hd_layer() -> CanvasLayer:
|
|
||||||
return get_node_or_null("../../SubViewportContainer/SubViewport/HdLayer") as CanvasLayer
|
|
||||||
|
|
||||||
|
|
||||||
func _update_sprite_transform(update_scale := false):
|
|
||||||
if not sprite_ref:
|
|
||||||
return
|
|
||||||
sprite_ref.global_position = global_position * RATIO
|
|
||||||
if update_scale:
|
|
||||||
sprite_ref.scale = Vector2(sprite_scale, sprite_scale)
|
|
||||||
|
|
||||||
|
|
||||||
var interacted = false
|
|
||||||
var cancel_time = 0.0
|
|
||||||
|
|
||||||
|
|
||||||
func _on_interacted() -> void:
|
|
||||||
if Time.get_ticks_msec() - cancel_time < 700:
|
|
||||||
return
|
|
||||||
if interacted:
|
|
||||||
_on_cancel()
|
|
||||||
return
|
|
||||||
interacted = true
|
|
||||||
SceneManager.get_camera_marker().tween_zoom(1.8)
|
|
||||||
SceneManager.focus_node(self)
|
|
||||||
# DialogueManager.show_dialogue_balloon(dialog, "diyizhang_01_03_mimi3")
|
|
||||||
|
|
||||||
|
|
||||||
func _on_cancel(_body = null):
|
|
||||||
SceneManager.focus_player_and_reset_zoom()
|
|
||||||
interacted = false
|
|
||||||
cancel_time = Time.get_ticks_msec()
|
|
||||||
|
|
||||||
|
|
||||||
func _reset(_body):
|
|
||||||
interacted = false
|
|
@ -1 +0,0 @@
|
|||||||
uid://c5hjtm0kn3ig3
|
|
@ -1,39 +0,0 @@
|
|||||||
[gd_scene load_steps=7 format=3 uid="uid://bj4ufua0b0k34"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://c5hjtm0kn3ig3" path="res://scene/entity/hd_entity.gd" id="1_fp2a8"]
|
|
||||||
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/UI/click.wav" id="2_eiqig"]
|
|
||||||
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_5dpvj"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="3_jupnr"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bei1s1uucktso" path="res://asset/art/tool/neutral_point_light.webp" id="3_oxpta"]
|
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_gffp4"]
|
|
||||||
resource_local_to_scene = true
|
|
||||||
size = Vector2(20, 70)
|
|
||||||
|
|
||||||
[node name="HdEntity" type="Marker2D"]
|
|
||||||
script = ExtResource("1_fp2a8")
|
|
||||||
|
|
||||||
[node name="Sfx" type="AudioStreamPlayer" parent="."]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
stream = ExtResource("2_eiqig")
|
|
||||||
bus = &"game_sfx"
|
|
||||||
script = ExtResource("3_5dpvj")
|
|
||||||
|
|
||||||
[node name="Sign" parent="." instance=ExtResource("3_jupnr")]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
|
|
||||||
[node name="PointLight2D" type="PointLight2D" parent="."]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
position = Vector2(0, -35)
|
|
||||||
scale = Vector2(0.2, 0.2)
|
|
||||||
energy = 0.0
|
|
||||||
texture = ExtResource("3_oxpta")
|
|
||||||
texture_scale = 0.5
|
|
||||||
|
|
||||||
[node name="Area2D" type="Area2D" parent="."]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
collision_layer = 0
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
shape = SubResource("RectangleShape2D_gffp4")
|
|
@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=9 format=3 uid="uid://dayyx4jerj7io"]
|
[gd_scene load_steps=8 format=3 uid="uid://dayyx4jerj7io"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://bee4ot74k4wg2" path="res://scene/ground/ground.gd" id="1_0vrlo"]
|
[ext_resource type="Script" uid="uid://bee4ot74k4wg2" path="res://scene/ground/ground.gd" id="1_0vrlo"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cjhw5ecygrqty" path="res://scene/player/main_player.tscn" id="3_atha7"]
|
[ext_resource type="PackedScene" uid="uid://cjhw5ecygrqty" path="res://scene/player/main_player.tscn" id="3_atha7"]
|
||||||
@ -6,13 +6,6 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://cqkeegrcdjyg4" path="res://scene/ground/camera/camera_focus_marker.tscn" id="4_mgk0a"]
|
[ext_resource type="PackedScene" uid="uid://cqkeegrcdjyg4" path="res://scene/ground/camera/camera_focus_marker.tscn" id="4_mgk0a"]
|
||||||
[ext_resource type="Script" uid="uid://dpnny2y808k71" path="res://config/audio/random_audio_stream_player.gd" id="5_7mb2q"]
|
[ext_resource type="Script" uid="uid://dpnny2y808k71" path="res://config/audio/random_audio_stream_player.gd" id="5_7mb2q"]
|
||||||
|
|
||||||
[sub_resource type="GDScript" id="GDScript_qxugl"]
|
|
||||||
script/source = "extends CanvasLayer
|
|
||||||
|
|
||||||
func _ready() -> void:
|
|
||||||
layer = GlobalConfig.CANVAS_LAYER_HD_ENTITY
|
|
||||||
"
|
|
||||||
|
|
||||||
[sub_resource type="Gradient" id="Gradient_p7aaq"]
|
[sub_resource type="Gradient" id="Gradient_p7aaq"]
|
||||||
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1)
|
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1)
|
||||||
|
|
||||||
@ -72,22 +65,6 @@ offset = Vector2(0, -120)
|
|||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
points = PackedVector2Array(37, 150, 519, 150)
|
points = PackedVector2Array(37, 150, 519, 150)
|
||||||
|
|
||||||
[node name="SubViewportContainer" type="SubViewportContainer" parent="."]
|
|
||||||
offset_right = 2256.0
|
|
||||||
offset_bottom = 1268.0
|
|
||||||
scale = Vector2(0.25, 0.25)
|
|
||||||
mouse_filter = 2
|
|
||||||
|
|
||||||
[node name="SubViewport" type="SubViewport" parent="SubViewportContainer"]
|
|
||||||
transparent_bg = true
|
|
||||||
handle_input_locally = false
|
|
||||||
canvas_item_default_texture_filter = 0
|
|
||||||
size = Vector2i(2256, 1268)
|
|
||||||
render_target_update_mode = 4
|
|
||||||
|
|
||||||
[node name="HdLayer" type="CanvasLayer" parent="SubViewportContainer/SubViewport"]
|
|
||||||
script = SubResource("GDScript_qxugl")
|
|
||||||
|
|
||||||
[node name="DirectionalLight2D" type="DirectionalLight2D" parent="."]
|
[node name="DirectionalLight2D" type="DirectionalLight2D" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
blend_mode = 2
|
blend_mode = 2
|
||||||
|
@ -1,38 +1,6 @@
|
|||||||
[gd_scene load_steps=9 format=3 uid="uid://clxgkj80yin2"]
|
[gd_scene load_steps=2 format=3 uid="uid://clxgkj80yin2"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://ec4w1mj0g6hw" path="res://scene/ground/ground_loader.gd" id="1_6mjre"]
|
[ext_resource type="Script" uid="uid://ec4w1mj0g6hw" path="res://scene/ground/ground_loader.gd" id="1_6mjre"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/shading/fog.tscn" id="2_o1iiq"]
|
|
||||||
[ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="3_5t7s3"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dol25yn3fixim" path="res://asset/art/fog_mask.png" id="4_o1iiq"]
|
|
||||||
|
|
||||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_e16yg"]
|
|
||||||
noise_type = 2
|
|
||||||
fractal_type = 2
|
|
||||||
|
|
||||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_gvcke"]
|
|
||||||
width = 1600
|
|
||||||
height = 400
|
|
||||||
seamless = true
|
|
||||||
seamless_blend_skirt = 0.25
|
|
||||||
noise = SubResource("FastNoiseLite_e16yg")
|
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_j5cou"]
|
|
||||||
resource_local_to_scene = true
|
|
||||||
shader = ExtResource("3_5t7s3")
|
|
||||||
shader_parameter/noise = SubResource("NoiseTexture2D_gvcke")
|
|
||||||
shader_parameter/grey_level = 0.6
|
|
||||||
shader_parameter/speed = 0.5
|
|
||||||
|
|
||||||
[sub_resource type="SpriteFrames" id="SpriteFrames_fx3fv"]
|
|
||||||
animations = [{
|
|
||||||
"frames": [{
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("4_o1iiq")
|
|
||||||
}],
|
|
||||||
"loop": false,
|
|
||||||
"name": &"default",
|
|
||||||
"speed": 5.0
|
|
||||||
}]
|
|
||||||
|
|
||||||
[node name="GroundLoader" type="Node2D"]
|
[node name="GroundLoader" type="Node2D"]
|
||||||
script = ExtResource("1_6mjre")
|
script = ExtResource("1_6mjre")
|
||||||
@ -67,12 +35,3 @@ grow_horizontal = 2
|
|||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
mouse_filter = 2
|
mouse_filter = 2
|
||||||
color = Color(0, 0, 0, 0)
|
color = Color(0, 0, 0, 0)
|
||||||
|
|
||||||
[node name="Fog" parent="MaskLayer" instance=ExtResource("2_o1iiq")]
|
|
||||||
visible = false
|
|
||||||
z_index = 5
|
|
||||||
material = SubResource("ShaderMaterial_j5cou")
|
|
||||||
position = Vector2(330, -48)
|
|
||||||
sprite_frames = SubResource("SpriteFrames_fx3fv")
|
|
||||||
animation = &"default"
|
|
||||||
frame = 0
|
|
||||||
|
@ -105,6 +105,7 @@ func _on_paper_interacted():
|
|||||||
right_door.holding = false
|
right_door.holding = false
|
||||||
await SceneManager.get_inspector().quit_and_hidden
|
await SceneManager.get_inspector().quit_and_hidden
|
||||||
$"捡起纸片后开门声".play()
|
$"捡起纸片后开门声".play()
|
||||||
|
SceneManager.pop_center_notification(tr("ui_right_click_prop"))
|
||||||
|
|
||||||
|
|
||||||
# 钢琴音效,每次按下播放不同音符
|
# 钢琴音效,每次按下播放不同音符
|
||||||
|
@ -825,14 +825,7 @@ position = Vector2(21, 39)
|
|||||||
texture = ExtResource("3_vmr0f")
|
texture = ExtResource("3_vmr0f")
|
||||||
offset = Vector2(0, 0)
|
offset = Vector2(0, 0)
|
||||||
|
|
||||||
[node name="SubViewportContainer" parent="Ground" index="7"]
|
[node name="DirectionalLight2D" parent="Ground" index="7"]
|
||||||
offset_top = -2.0
|
|
||||||
offset_bottom = 1266.0
|
|
||||||
|
|
||||||
[node name="HdLayer" parent="Ground/SubViewportContainer/SubViewport" index="0"]
|
|
||||||
layer = -1
|
|
||||||
|
|
||||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
|
||||||
rotation = -0.000622023
|
rotation = -0.000622023
|
||||||
energy = 0.3
|
energy = 0.3
|
||||||
blend_mode = 1
|
blend_mode = 1
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
[ext_resource type="AudioStream" uid="uid://cwq0jaa708tf1" path="res://asset/audio/sfx/环境音/序章/02_孤儿院走廊_秋千声音.wav" id="12_huyl5"]
|
[ext_resource type="AudioStream" uid="uid://cwq0jaa708tf1" path="res://asset/audio/sfx/环境音/序章/02_孤儿院走廊_秋千声音.wav" id="12_huyl5"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cw3q5pvciumil" path="res://scene/entity/interactable.tscn" id="12_idjp0"]
|
[ext_resource type="PackedScene" uid="uid://cw3q5pvciumil" path="res://scene/entity/interactable.tscn" id="12_idjp0"]
|
||||||
[ext_resource type="AudioStream" uid="uid://mfu0btujldql" path="res://asset/audio/sfx/环境音/序章/02_孤儿院走廊_跷跷板声音.wav" id="13_phmvd"]
|
[ext_resource type="AudioStream" uid="uid://mfu0btujldql" path="res://asset/audio/sfx/环境音/序章/02_孤儿院走廊_跷跷板声音.wav" id="13_phmvd"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/shading/fog.tscn" id="14_d5def"]
|
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog.tscn" id="14_d5def"]
|
||||||
[ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="15_22a7a"]
|
[ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="15_22a7a"]
|
||||||
[ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="15_q7j0p"]
|
[ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="15_q7j0p"]
|
||||||
[ext_resource type="AudioStream" uid="uid://bv7std2s8bb0p" path="res://asset/audio/sfx/环境音/序章/童谣.wav" id="15_qq2uh"]
|
[ext_resource type="AudioStream" uid="uid://bv7std2s8bb0p" path="res://asset/audio/sfx/环境音/序章/童谣.wav" id="15_qq2uh"]
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://bbuskt4kwkwpl" path="res://asset/art/scene/c01/s07_书店外/bg_书店外_黄昏.png" id="3_l7171"]
|
[ext_resource type="Texture2D" uid="uid://bbuskt4kwkwpl" path="res://asset/art/scene/c01/s07_书店外/bg_书店外_黄昏.png" id="3_l7171"]
|
||||||
[ext_resource type="AudioStream" uid="uid://cxwvfeuq4o71o" path="res://asset/audio/sfx/环境音/序章/03_书店外黄昏.wav" id="3_na2nu"]
|
[ext_resource type="AudioStream" uid="uid://cxwvfeuq4o71o" path="res://asset/audio/sfx/环境音/序章/03_书店外黄昏.wav" id="3_na2nu"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dklacql2hdtwv" path="res://asset/art/scene/c01/s07_书店外/e_装饰 书店外黄昏.png" id="4_8do8y"]
|
[ext_resource type="Texture2D" uid="uid://dklacql2hdtwv" path="res://asset/art/scene/c01/s07_书店外/e_装饰 书店外黄昏.png" id="4_8do8y"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/shading/fog.tscn" id="4_62isb"]
|
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog.tscn" id="4_62isb"]
|
||||||
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_c7jb6"]
|
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_c7jb6"]
|
||||||
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_ulvsd"]
|
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_ulvsd"]
|
||||||
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="5_3pha1"]
|
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="5_3pha1"]
|
||||||
|
@ -7,12 +7,12 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://gpwul4tcu43h" path="res://asset/art/scene/c01/s09_公寓楼外/bg_黄包车裁剪场景.png" id="3_828bq"]
|
[ext_resource type="Texture2D" uid="uid://gpwul4tcu43h" path="res://asset/art/scene/c01/s09_公寓楼外/bg_黄包车裁剪场景.png" id="3_828bq"]
|
||||||
[ext_resource type="AudioStream" uid="uid://cyy88bgsvf3e2" path="res://asset/audio/sfx/环境音/序章/06_公寓楼道_花枯萎.wav" id="3_b5sdk"]
|
[ext_resource type="AudioStream" uid="uid://cyy88bgsvf3e2" path="res://asset/audio/sfx/环境音/序章/06_公寓楼道_花枯萎.wav" id="3_b5sdk"]
|
||||||
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_3f7n1"]
|
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_3f7n1"]
|
||||||
[ext_resource type="PackedScene" uid="uid://h0s5ms7r7d8g" path="res://scene/shading/ghost.tscn" id="4_wqm5r"]
|
[ext_resource type="PackedScene" uid="uid://h0s5ms7r7d8g" path="res://scene/effect/ghost.tscn" id="4_wqm5r"]
|
||||||
[ext_resource type="Script" uid="uid://bbg4vopj4apl6" path="res://scene/entity/audio/bgm_control.gd" id="5_hy0mc"]
|
[ext_resource type="Script" uid="uid://bbg4vopj4apl6" path="res://scene/entity/audio/bgm_control.gd" id="5_hy0mc"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="5_pssh2"]
|
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="5_pssh2"]
|
||||||
[ext_resource type="AudioStream" uid="uid://c1orqd7uxh8iu" path="res://asset/audio/sfx/环境音/序章/05_诡异通用_2.wav" id="6_lrqbi"]
|
[ext_resource type="AudioStream" uid="uid://c1orqd7uxh8iu" path="res://asset/audio/sfx/环境音/序章/05_诡异通用_2.wav" id="6_lrqbi"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dol25yn3fixim" path="res://asset/art/fog_mask.png" id="7_828bq"]
|
[ext_resource type="Texture2D" uid="uid://dol25yn3fixim" path="res://asset/art/fog_mask.png" id="7_828bq"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/shading/fog.tscn" id="7_wrhtk"]
|
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog.tscn" id="7_wrhtk"]
|
||||||
[ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="8_0ohlv"]
|
[ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="8_0ohlv"]
|
||||||
[ext_resource type="SpriteFrames" uid="uid://c2peyi2l65h47" path="res://asset/art/gif/c01_公寓外街道/c01_公寓外街道_frames.tres" id="10_0ohlv"]
|
[ext_resource type="SpriteFrames" uid="uid://c2peyi2l65h47" path="res://asset/art/gif/c01_公寓外街道/c01_公寓外街道_frames.tres" id="10_0ohlv"]
|
||||||
[ext_resource type="Script" uid="uid://dxq5c05ab7uyu" path="res://scene/ground/script/c01/s00_ghost_footstep.gd" id="11_6w7lv"]
|
[ext_resource type="Script" uid="uid://dxq5c05ab7uyu" path="res://scene/ground/script/c01/s00_ghost_footstep.gd" id="11_6w7lv"]
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://svvlohuicvhf" path="res://scene/entity/ambient/light.tscn" id="5_kywnm"]
|
[ext_resource type="PackedScene" uid="uid://svvlohuicvhf" path="res://scene/entity/ambient/light.tscn" id="5_kywnm"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dnbutraty2285" path="res://scene/entity/partical/particals_ash_vertical.tscn" id="6_mfjjt"]
|
[ext_resource type="PackedScene" uid="uid://dnbutraty2285" path="res://scene/entity/partical/particals_ash_vertical.tscn" id="6_mfjjt"]
|
||||||
[ext_resource type="PackedScene" uid="uid://ci34db7xool2n" path="res://scene/ground/script/c01/s01_书店外_自动枯萎的花朵.tscn" id="7_aq8vg"]
|
[ext_resource type="PackedScene" uid="uid://ci34db7xool2n" path="res://scene/ground/script/c01/s01_书店外_自动枯萎的花朵.tscn" id="7_aq8vg"]
|
||||||
[ext_resource type="PackedScene" uid="uid://h0s5ms7r7d8g" path="res://scene/shading/ghost.tscn" id="8_gk0gq"]
|
[ext_resource type="PackedScene" uid="uid://h0s5ms7r7d8g" path="res://scene/effect/ghost.tscn" id="8_gk0gq"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="9_nqlku"]
|
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="9_nqlku"]
|
||||||
[ext_resource type="Script" uid="uid://dxq5c05ab7uyu" path="res://scene/ground/script/c01/s00_ghost_footstep.gd" id="10_1tspp"]
|
[ext_resource type="Script" uid="uid://dxq5c05ab7uyu" path="res://scene/ground/script/c01/s00_ghost_footstep.gd" id="10_1tspp"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cn1ypquvs07wx" path="res://scene/ground/script/c01/s12_飘动的寻人启事.tscn" id="11_pwu7i"]
|
[ext_resource type="PackedScene" uid="uid://cn1ypquvs07wx" path="res://scene/ground/script/c01/s12_飘动的寻人启事.tscn" id="11_pwu7i"]
|
||||||
@ -21,7 +21,7 @@
|
|||||||
[ext_resource type="SpriteFrames" uid="uid://db7m3aks5w65j" path="res://asset/art/gif/c01_书店外街道_夜晚小孩害怕/c01_书店外街道_夜晚小孩害怕_frames.tres" id="14_7jjl5"]
|
[ext_resource type="SpriteFrames" uid="uid://db7m3aks5w65j" path="res://asset/art/gif/c01_书店外街道_夜晚小孩害怕/c01_书店外街道_夜晚小孩害怕_frames.tres" id="14_7jjl5"]
|
||||||
[ext_resource type="PackedScene" uid="uid://b50n0hvs4yh75" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn" id="14_ct084"]
|
[ext_resource type="PackedScene" uid="uid://b50n0hvs4yh75" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn" id="14_ct084"]
|
||||||
[ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="14_guu7t"]
|
[ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="14_guu7t"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/shading/fog.tscn" id="15_pvvjq"]
|
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog.tscn" id="15_pvvjq"]
|
||||||
[ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="16_guu7t"]
|
[ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="16_guu7t"]
|
||||||
[ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="17_nta2f"]
|
[ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="17_nta2f"]
|
||||||
[ext_resource type="Texture2D" uid="uid://5byh65ppidsu" path="res://asset/art/scene/c01/s07_书店外/书店外街道夜晚 参考.png" id="18_0xa0c"]
|
[ext_resource type="Texture2D" uid="uid://5byh65ppidsu" path="res://asset/art/scene/c01/s07_书店外/书店外街道夜晚 参考.png" id="18_0xa0c"]
|
||||||
|
@ -79,9 +79,6 @@ func _on_ground_ready() -> void:
|
|||||||
# 奠字 + 纸钱
|
# 奠字 + 纸钱
|
||||||
$"../DeployLayer/新背景_奠".visible = true
|
$"../DeployLayer/新背景_奠".visible = true
|
||||||
|
|
||||||
bully_layer = $"../DeployLayer/霸凌"
|
|
||||||
burning_layer = $"../DeployLayer/火灾"
|
|
||||||
|
|
||||||
small_shoe = $"../DeployLayer/Pickable小鞋子" as Pickable2D
|
small_shoe = $"../DeployLayer/Pickable小鞋子" as Pickable2D
|
||||||
|
|
||||||
if ArchiveManager.get_global_value("c02_madman_interacted", false) and not data.camera_played:
|
if ArchiveManager.get_global_value("c02_madman_interacted", false) and not data.camera_played:
|
||||||
@ -109,6 +106,8 @@ func _on_ground_ready() -> void:
|
|||||||
elif data.camera_played:
|
elif data.camera_played:
|
||||||
small_shoe.enabled = true
|
small_shoe.enabled = true
|
||||||
|
|
||||||
|
bully_layer = $"../DeployLayer/霸凌"
|
||||||
|
burning_layer = $"../DeployLayer/火灾"
|
||||||
if ArchiveManager.get_global_value("c02_ball_game_stage", 0) >= 3:
|
if ArchiveManager.get_global_value("c02_ball_game_stage", 0) >= 3:
|
||||||
_setup_bully_or_burning(true)
|
_setup_bully_or_burning(true)
|
||||||
|
|
||||||
@ -178,7 +177,11 @@ func eavesdrop() -> void:
|
|||||||
ArchiveManager.set_global_entry("c02_eavesdrop_finished", true)
|
ArchiveManager.set_global_entry("c02_eavesdrop_finished", true)
|
||||||
|
|
||||||
|
|
||||||
func _setup_bully_or_burning(reenter_scene:=false):
|
func _setup_bully_or_burning(reenter_scene := false):
|
||||||
|
if not ArchiveManager.get_global_value("c02_eavesdrop_finished"):
|
||||||
|
# 弹珠游戏结束后就开始霸凌,此时禁止偷听。第一章结束后(火灾结束),第二章再偷听
|
||||||
|
$"../DeployLayer/Ambush偷听对话".enabled = false
|
||||||
|
eavesdrop_window.visible = false
|
||||||
if ArchiveManager.get_global_value("c02_burning_end"):
|
if ArchiveManager.get_global_value("c02_burning_end"):
|
||||||
# 火灾演出完全结束
|
# 火灾演出完全结束
|
||||||
burning_layer.visible = false
|
burning_layer.visible = false
|
||||||
@ -226,6 +229,7 @@ func bully_ambush():
|
|||||||
sdf2d.finished.connect(func(): sdf2d.volume_db -= 5, CONNECT_ONE_SHOT)
|
sdf2d.finished.connect(func(): sdf2d.volume_db -= 5, CONNECT_ONE_SHOT)
|
||||||
await animation_finished
|
await animation_finished
|
||||||
|
|
||||||
|
|
||||||
func bully_end():
|
func bully_end():
|
||||||
SceneManager.release_player()
|
SceneManager.release_player()
|
||||||
# #TODO 小猫玩具微亮
|
# #TODO 小猫玩具微亮
|
||||||
@ -280,7 +284,6 @@ func _on_counter_interacted():
|
|||||||
SceneManager.release_player()
|
SceneManager.release_player()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func run_away():
|
func run_away():
|
||||||
SceneManager.pop_debug_dialog_info("美术", "牵手跑开")
|
SceneManager.pop_debug_dialog_info("美术", "牵手跑开")
|
||||||
var player = SceneManager.get_player()
|
var player = SceneManager.get_player()
|
||||||
|
@ -1022,9 +1022,9 @@ position = Vector2(-88, -7)
|
|||||||
scale = Vector2(1.08, 1.08)
|
scale = Vector2(1.08, 1.08)
|
||||||
|
|
||||||
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
|
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
|
||||||
points = PackedVector2Array(37, 150, 2350, 150)
|
points = PackedVector2Array(37, 150, 2250, 150)
|
||||||
|
|
||||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
[node name="DirectionalLight2D" parent="Ground" index="7"]
|
||||||
visible = false
|
visible = false
|
||||||
energy = 0.6
|
energy = 0.6
|
||||||
blend_mode = 1
|
blend_mode = 1
|
||||||
|
@ -21,10 +21,10 @@ func _ready() -> void:
|
|||||||
DialogueManager.show_dialogue_balloon(dialogue, "c02_s03_敲门游戏intro")
|
DialogueManager.show_dialogue_balloon(dialogue, "c02_s03_敲门游戏intro")
|
||||||
await DialogueManager.dialogue_ended
|
await DialogueManager.dialogue_ended
|
||||||
if (
|
if (
|
||||||
# 未偷听,或已敲门成功,则禁用
|
# not ArchiveManager.get_global_value("c02_eavesdrop_finished", false) or
|
||||||
not ArchiveManager.get_global_value("c02_eavesdrop_finished", false)
|
# ArchiveManager.get_global_value("c02_meat_dropping", false) or
|
||||||
or ArchiveManager.get_global_value("c02_meat_dropping", false)
|
# 敲门成功,则禁用
|
||||||
or ArchiveManager.get_global_value("c02_meat_given", false)
|
ArchiveManager.get_global_value("c02_meat_given", false)
|
||||||
):
|
):
|
||||||
button.disabled = true
|
button.disabled = true
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user