部分细节调整

This commit is contained in:
cakipaul 2025-06-20 20:36:08 +08:00
parent b87dea61c3
commit 588550584c
12 changed files with 83 additions and 48 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d1s177c4g74ra"
path="res://.godot/imported/新小猫身体_特写.png-59ebc4bce6f6620afd77c561a002bf10.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://asset/art/prop/c02/新小猫身体_特写.png"
dest_files=["res://.godot/imported/新小猫身体_特写.png-59ebc4bce6f6620afd77c561a002bf10.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

@ -65,7 +65,7 @@
# c02
火柴 [#texture=c02/火柴.png] [ID:prop_火柴]
小猫玩具的脑袋 [#texture=c02/新小猫头.png] [ID:prop_小猫玩具的脑袋]
无头小猫玩具 [#texture=c02/新小猫身体.png] [ID:prop_无头小猫玩具]
无头小猫玩具 [#texture=c02/新小猫身体.png] [#inspect=c02/新小猫身体_特写.png] [ID:prop_无头小猫玩具]
小猫玩具 [#texture=c02/新小猫全身.png] [ID:prop_小猫玩具完整]
撕下的照片(上) [#texture=c02/照片_上.png] [ID:prop_撕下的照片上]
老虎钳 [#texture=c02/老虎钳物品.png][#inspect=c02/老虎钳.png] [ID:prop_老虎钳]

View File

@ -16,7 +16,7 @@ class_name CameraFocusMarker extends Camera2D
# @export var limit_top := 0
# @export var limit_bottom := 316.0
@export var zoom_ratio := 1.0
var speed := 3.0
var speed := 2.0
var _tweeked_position := Vector2.ZERO
@ -67,16 +67,13 @@ func _physics_process(delta: float) -> void:
if focusing_node is MainPlayer:
# player 的焦点在脚底,所以需要偏移 player 的高度。注意 y 轴是向下的,所以是减去 player 的高度
target_position.y -= focusing_node.current_animation_config.os_height * 0.7
# easing with speed
var new_position = lerp(global_position, target_position, speed * delta)
# var new_position = global_position + (target_position - global_position) * speed * delta
# clamp the position
var margin = half_screen_size / zoom_ratio
# var margin = half_screen_size
margin.y += shaded_height
new_position.x = clamp(new_position.x, limit_left + margin.x, limit_right - margin.x)
new_position.y = clamp(new_position.y, limit_top + margin.y, limit_bottom - margin.y)
global_position = new_position
target_position.x = clamp(target_position.x, limit_left + margin.x, limit_right - margin.x)
target_position.y = clamp(target_position.y, limit_top + margin.y, limit_bottom - margin.y)
# easing with speed
global_position = lerp(global_position, target_position, speed * delta)
# var taget_zoom = lerpf(zoom.x, zoom_ratio, speed * delta)
# zoom = Vector2(taget_zoom, taget_zoom)
zoom = Vector2(zoom_ratio, zoom_ratio)

View File

@ -46,7 +46,8 @@ func _on_ground_ready() -> void:
boxcat_portal.enabled = true
boxcat_portal.get_node("PointLight2D2").enabled = true
boxcat_portal.get_node("Sprite2D").texture = preload("uid://efhwoqtn21d8") # e_墙上纸张_boxcat
$"../DeployLayer/Closeup画".enabled = false
else:
$"../DeployLayer/Closeup画".enabled = true
if boxcat_played:
$"../DeployLayer/portal_left".status = "opened"
# 玩过小猫游戏,画框内容更新 禁止再进入

View File

@ -191,6 +191,7 @@ texture_scale = 0.15
[node name="Closeup画" parent="Ground/DeployLayer" index="3" instance=ExtResource("10_a48k2")]
position = Vector2(214, -19)
packed_scene = ExtResource("11_mc126")
enabled = false
[node name="Note画上脚印" parent="Ground/DeployLayer" index="4" instance=ExtResource("14_1ws4i")]
position = Vector2(214, -19)

View File

@ -698,11 +698,11 @@ texture = ExtResource("17_drmtd")
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/大老鼠"]
[node name="Ambush老鼠" parent="Ground/DeployLayer" index="11" instance=ExtResource("6_6xql4")]
position = Vector2(3230, 60)
position = Vector2(3822.5, 60.5)
hook_method = "mouse_animation"
[node name="老鼠衔大洋" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="12"]
position = Vector2(3229, 68)
position = Vector2(3846, 65)
sprite_frames = ExtResource("5_p4f1j")
animation = &"老鼠衔大洋进洞"

View File

@ -111,6 +111,7 @@ matched_sign_texture = null
[node name="Note进入隧道询问" parent="Ground/DeployLayer" index="2" instance=ExtResource("7_th1ek")]
position = Vector2(362, 20)
enabled = false
mode = "ballon"
dialogue = "c02"
note_sign_texture = ExtResource("8_to1d1")

View File

@ -17,6 +17,9 @@ func _ready() -> void:
layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME
button.pressed.connect(_on_button_pressed)
fail_time = Time.get_ticks_msec()
button.disabled = true
DialogueManager.show_dialogue_balloon(dialogue, "c02_s03_敲门游戏intro")
await DialogueManager.dialogue_ended
if (
# 未偷听,或已敲门成功,则禁用
not ArchiveManager.get_global_value("c02_eavesdrop_finished", false)
@ -24,10 +27,7 @@ func _ready() -> void:
or ArchiveManager.get_global_value("c02_meat_given", false)
):
button.disabled = true
return
button.disabled = true
DialogueManager.show_dialogue_balloon(dialogue, "c02_s03_敲门游戏intro")
await DialogueManager.dialogue_ended
else:
button.disabled = false

View File

@ -26,7 +26,7 @@ var audio_auto = preload("res://asset/audio/sfx/game/八音盒/自走八音盒.m
@onready var s3 = $"All/OpenedBox/Panel/Marker2D4" as Marker2D
@onready var danzhu = $"All/Drawer/Draggable1" as Draggable2D
@onready var maotou = $"All/Drawer/Draggable2" as Draggable2D
@onready var xiaomao = $"All/Drawer/Draggable2" as Draggable2D
@onready var xiaochan = $"All/Drawer/Draggable3" as Draggable2D
var slots: PackedVector2Array = []
@ -68,14 +68,14 @@ func _ready() -> void:
pic.queue_free()
if ArchiveManager.get_global_value("c02_musicbox_danzhu_taken"):
danzhu.queue_free()
if ArchiveManager.get_global_value("c02_musicbox_maotou_taken"):
maotou.queue_free()
if ArchiveManager.get_global_value("c02_musicbox_xiaomao_taken"):
xiaomao.queue_free()
if ArchiveManager.get_global_value("c02_musicbox_xiaochan_taken"):
xiaochan.queue_free()
pic.picked.connect(_on_prop_picked.bind("pic"))
danzhu.picked.connect(_on_prop_picked.bind("danzhu"))
maotou.picked.connect(_on_prop_picked.bind("maotou"))
xiaomao.picked.connect(_on_prop_picked.bind("xiaomao"))
xiaochan.picked.connect(_on_prop_picked.bind("xiaochan"))
d1.picked.connect(_on_picked)

View File

@ -32,7 +32,7 @@ func _ready() -> void:
checkout_round(0)
else:
intro()
label.hide()
label.modulate.a = 0
func intro():
@ -44,7 +44,7 @@ func intro():
get_tree().call_group(balls_name, "hide_away")
pivot.get_child(0).modulate.a = 0
DialogueManager.show_dialogue_balloon_scene(self, dialogue_c02, "c02_弹珠游戏0")
await dialogue_ended
await ball_dialogue_ended
func intro_finished():
@ -201,12 +201,12 @@ func _on_hit_ball_callback():
if round_id == 0:
round_ready = false
_success_dialogue()
await dialogue_ended
await ball_dialogue_ended
checkout_round(1)
elif round_id == 1 and hit_count >= 3:
round_ready = false
_success_dialogue()
await dialogue_ended
await ball_dialogue_ended
checkout_round(2)
elif round_id == 2 and hit_count >= 5:
round_ready = false
@ -232,7 +232,7 @@ func _on_hit_boundary():
# 后面的回合必须每次都击中球
get_tree().call_group("Balls" + str(round_id), "ease_out")
DialogueManager.show_dialogue_balloon_scene(self, dialogue_c02, "c02_弹珠游戏fail")
await dialogue_ended
await ball_dialogue_ended
reload_round()
else:
reload_hand_ball()
@ -248,7 +248,7 @@ func game_win() -> void:
$BallsFalling.emitting = true
pivot.visible = false
DialogueManager.show_dialogue_balloon_scene(self, dialogue_c02, "c02_弹珠游戏4")
await dialogue_ended
await ball_dialogue_ended
await get_tree().create_timer(3.0).timeout
exit.emit(true)
@ -272,7 +272,7 @@ func _unhandled_input(event: InputEvent) -> void:
# get_viewport().set_input_as_handled()
signal dialogue_ended
signal ball_dialogue_ended
## The current line
var dialogue_line: DialogueLine:
@ -297,17 +297,19 @@ func start(
func apply_dialogue_line() -> void:
var translation_key = dialogue_line.translation_key
label.text = ("[wave amp=10.0 freq=5.0][shake rate=4.0 level=3] " + tr(translation_key))
label.show()
# 因为版权问题,有些 mp3 文件打不开,所以使用 ogg 格式
var audio_path = "res://asset/audio/peiyin/ogg/%s.ogg" % translation_key
if FileAccess.file_exists(audio_path):
var stream = load(audio_path)
audio_player.stream = stream
audio_player.play()
await audio_player.finished
await get_tree().create_timer(1.0).timeout
else:
push_warning("No audio file found for " + translation_key)
await get_tree().create_timer(3.0).timeout
label.hide()
dialogue_ended.emit()
var tween = create_tween()
tween.tween_property(label, "modulate:a", 1.0, 0.5)
tween.tween_interval(2.0)
tween.tween_property(label, "modulate:a", 0.0, 0.5)
# # 因为版权问题,有些 mp3 文件打不开,所以使用 ogg 格式
# var audio_path = "res://asset/audio/peiyin/ogg/%s.ogg" % translation_key
# if FileAccess.file_exists(audio_path):
# var stream = load(audio_path)
# audio_player.stream = stream
# audio_player.play()
# await audio_player.finished
# await get_tree().create_timer(1.0).timeout
# else:
# push_warning("No audio file found for " + translation_key)
# await get_tree().create_timer(3.0).timeout
ball_dialogue_ended.emit()

View File

@ -4,7 +4,7 @@
[ext_resource type="Texture2D" uid="uid://bvf8b057baglw" path="res://asset/art/little_game/弹珠/bg_弹珠游戏.png" id="2_bm1k0"]
[ext_resource type="Texture2D" uid="uid://bs4tp4amd1kkm" path="res://asset/art/little_game/弹珠/抱手.png" id="3_3kvx4"]
[ext_resource type="AudioStream" uid="uid://bb6njoaxi2hbx" path="res://asset/audio/sfx/game/弹珠游戏/hit.ogg" id="3_co06r"]
[ext_resource type="FontVariation" uid="uid://1ryw42kej6lv" path="res://config/font_ui.tres" id="3_ctokx"]
[ext_resource type="FontFile" uid="uid://bnxdsxp7dst7f" path="res://asset/font/锐字太空混元像素简繁-闪 超黑_mianfeiziti.com.ttf" id="3_ctokx"]
[ext_resource type="PackedScene" uid="uid://bbcfjksjlyfx5" path="res://scene/little_game/弹珠游戏/ball.tscn" id="4_bm1k0"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_co06r"]
[ext_resource type="Texture2D" uid="uid://btplp6xvmc6sx" path="res://asset/art/little_game/弹珠/手屈伸/0.png" id="4_fk3jp"]
@ -275,7 +275,7 @@ offset_top = -1.0
offset_right = 100.0
offset_bottom = 78.0
grow_horizontal = 2
theme_override_constants/margin_top = 52
theme_override_constants/margin_top = 100
[node name="RichTextLabel" type="RichTextLabel" parent="MarginContainer"]
unique_name_in_owner = true
@ -283,11 +283,10 @@ custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
theme_override_colors/default_color = Color(0.856067, 0.856067, 0.856067, 1)
theme_override_colors/font_outline_color = Color(0.401628, 0.253369, 0.0745033, 1)
theme_override_constants/outline_size = 5
theme_override_colors/default_color = Color(0.686241, 0.191934, 0.178785, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_fonts/normal_font = ExtResource("3_ctokx")
theme_override_font_sizes/normal_font_size = 20
theme_override_font_sizes/normal_font_size = 40
bbcode_enabled = true
text = "[wave amp=10.0 freq=5.0][shake rate=4.0 level=3] 弹珠拿出来"
fit_content = true