完善打麻将游戏
This commit is contained in:
parent
7d345caad1
commit
23a0391046
@ -182,4 +182,3 @@ current_scene 是通过 GroundLoader 加载的,在 ground loader 加载 ground
|
||||
- 转场 process 机制优化:暂停 & AnimationPlayer 保持运行
|
||||
- EventManager 控制事件,使用 Event2D 控制绑定关系
|
||||
- Vibe Control 控制氛围情绪音乐
|
||||
|
||||
|
BIN
asset/art/scene/c03/s04_李癞房间/打麻将游戏/一筒.png
Normal file
BIN
asset/art/scene/c03/s04_李癞房间/打麻将游戏/一筒.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 689 B |
34
asset/art/scene/c03/s04_李癞房间/打麻将游戏/一筒.png.import
Normal file
34
asset/art/scene/c03/s04_李癞房间/打麻将游戏/一筒.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ccpexjd64s5nn"
|
||||
path="res://.godot/imported/一筒.png-047ffc825475267615015adab0d6971c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://asset/art/scene/c03/s04_李癞房间/打麻将游戏/一筒.png"
|
||||
dest_files=["res://.godot/imported/一筒.png-047ffc825475267615015adab0d6971c.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
|
BIN
asset/art/scene/c03/s04_李癞房间/打麻将游戏/七筒.png
Normal file
BIN
asset/art/scene/c03/s04_李癞房间/打麻将游戏/七筒.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 695 B |
34
asset/art/scene/c03/s04_李癞房间/打麻将游戏/七筒.png.import
Normal file
34
asset/art/scene/c03/s04_李癞房间/打麻将游戏/七筒.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c7tea8ostqbiu"
|
||||
path="res://.godot/imported/七筒.png-0a545f8d74e707296024527148b91547.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://asset/art/scene/c03/s04_李癞房间/打麻将游戏/七筒.png"
|
||||
dest_files=["res://.godot/imported/七筒.png-0a545f8d74e707296024527148b91547.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
|
BIN
asset/art/scene/c03/s04_李癞房间/打麻将游戏/二万.png
Normal file
BIN
asset/art/scene/c03/s04_李癞房间/打麻将游戏/二万.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 709 B |
34
asset/art/scene/c03/s04_李癞房间/打麻将游戏/二万.png.import
Normal file
34
asset/art/scene/c03/s04_李癞房间/打麻将游戏/二万.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c6xcefh4x2t5h"
|
||||
path="res://.godot/imported/二万.png-b6dc9b9fd42473fd9f7231084a44ec15.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://asset/art/scene/c03/s04_李癞房间/打麻将游戏/二万.png"
|
||||
dest_files=["res://.godot/imported/二万.png-b6dc9b9fd42473fd9f7231084a44ec15.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
|
@ -2,4 +2,103 @@
|
||||
陆仁: (看病费用涨价,为了攒钱让小蝶上学,)
|
||||
小蝶: (小蝶想请小蝉来家里吃饭,写了请柬)
|
||||
陆仁: (父母让小蝶去送请柬,顺便带肉回家做饭)
|
||||
=> END
|
||||
|
||||
~ c03_s04_整理麻将游戏0
|
||||
# 打牌准备,整理麻将盒游戏成功(演出至麻将搬到桌上):
|
||||
李氏: 记得当年这箱麻将还是我弟弟背回来的。
|
||||
李氏: 那天下了雨,他光着膀子回来,用衣裳包着,说木头怕水他不怕,就当免费洗了个澡...
|
||||
癞子: (轻笑一声)后来发现少了张牌,这小崽子又背着我们敲敲打打,硬是做了张一模一样的补上。
|
||||
李氏: (苦笑)他呀,就是个死心眼,犟种!
|
||||
李氏: 得了病就一直忍着,等到实在瞒不住了才告诉咱们!
|
||||
癞子: 他认了命等死,咱们不能认,只要今晚赢了钱...
|
||||
=> END
|
||||
|
||||
~ c03_s04_整理麻将游戏1
|
||||
# 5-10 s 纯黑转场
|
||||
#(敲门,开门,几个人走路声,推椅子声)
|
||||
胖子: 哟,人都来齐了怎么还在理麻将?今晚大家可得好好地打一场!
|
||||
=> END
|
||||
|
||||
# 看一会桌面
|
||||
~ c03_s04_打麻将游戏0
|
||||
#切换至游戏画面(盖牌声)
|
||||
瞎子: 我观张老弟面色晦暗、嘴唇发白,难不成是这些日子手气不佳,输多了牌才...
|
||||
=> END
|
||||
|
||||
|
||||
# 边发牌边说
|
||||
~ c03_s04_打麻将游戏1
|
||||
胖子: (哼)以前可不这样,不说牌桌通杀,也是赢多输少,偏偏最近...
|
||||
#(同时画面进入癞子摸牌,第一回合开始,玩家可以操作)
|
||||
李氏: 最近怎么了?
|
||||
=> END
|
||||
|
||||
|
||||
# 玩家第一回合操作,平行对话
|
||||
~ c03_s04_打麻将游戏2
|
||||
瞎子: 碰。
|
||||
胖子: 自从那三楼的婆娘出了名以后,我这手气就臭得不行...怕不是让人给“借运”了?
|
||||
癞子: 还真不好说。
|
||||
癞子: 运气这玩意玄乎得很,我以前走南闯北的时候,见过一个会使邪门功夫的老爷子,说是能“借”人家的命来延长自己的寿命...
|
||||
胖子: 听着怪瘆人的。
|
||||
瞎子: 人外有人,天外有天。
|
||||
瞎子: 天外还有什么...咱们这些闲杂人等也说了不算。
|
||||
=> END
|
||||
|
||||
~ c03_s04_打麻将游戏3
|
||||
#(玩家操作完后,打牌声)
|
||||
李氏: 六万。
|
||||
李氏: 话又说回来,你们喝过洋酒没有?用葡萄发酵成的,红得发黑,度数还高。
|
||||
癞子: 那叫香槟,洋人就喜欢整那些面子货,不适口。
|
||||
=> END
|
||||
|
||||
~ c03_s04_打麻将游戏4
|
||||
#(第二回合开始,玩家可以操作)
|
||||
胖子: (啧)见多识广还得看王兄啊。
|
||||
胖子: 瞧这架势,以前没准多风光...
|
||||
瞎子: 英雄不问出处。
|
||||
癞子: 都过去了,都过去了。
|
||||
李氏: 为了跑出来,我们还睡过桥洞呢!
|
||||
李氏: (此处响起癞子的咳嗽声)那阵子我老是梦见让人剁了手指头,八成就是因为那桥是洋人建的...
|
||||
胖子: 你说的是外摆渡桥?
|
||||
癞子: 应该是吧,我们再没回去过,也不知道后来成了什么样...
|
||||
=> END
|
||||
|
||||
~ c03_s04_打麻将游戏5
|
||||
#(玩家操作完后,打牌声)
|
||||
胖子: (脏话)怎么一张牌都不来!
|
||||
瞎子: 八条
|
||||
=> END
|
||||
|
||||
~ c03_s04_打麻将游戏6
|
||||
#(第三回合开始,玩家可以操作)
|
||||
癞子: 对了,小蝉那孩子有消息了吗?
|
||||
瞎子: 要是有消息,我也不会跟你们在这打牌,虚度光阴。
|
||||
李氏: 方大哥,你这话说得不妥。
|
||||
李氏: 咱们哪个心里头不苦的?不都是在这牌桌上苦中作乐呢。
|
||||
胖子: 找点乐子,何必想那么多。
|
||||
李氏: 我这头生意都不做了,帮你满大街的又找又问,不也是白忙活一场。
|
||||
李氏: 要我说,还是得从身边的人下手。
|
||||
=> END
|
||||
|
||||
~ c03_s04_打麻将游戏7
|
||||
#(操作完进入胜利演出,第四回合开始)
|
||||
癞子: 指不定是被楼里的那个邻居拐了呢,就那么一丁点的小女孩,谁都能敲昏了抱回家去。
|
||||
胖子: ...我看她跟三楼那个叫什么小蝶的走得很近,老是手拉手出去,成天凑在一块说悄悄话。
|
||||
胖子: 他们一家人最近都不怎么出门,我看就是心里有鬼。
|
||||
胖子: 把小孩骗走了换钱换药,搞邪术,什么都干得出来。
|
||||
癞子: 这么一说,好像确实有点道理。
|
||||
李氏: 我小弟去看过病了,那药方邪门得很,待会我拿给你们瞧瞧。
|
||||
李氏: 我活了这么大岁数,也是第一次见。
|
||||
瞎子: 道听途说而已。
|
||||
=> END
|
||||
|
||||
~ c03_s04_打麻将游戏8
|
||||
#(第四回合摸牌,摊倒牌,胜利演出结束)
|
||||
癞子: 自摸!(笑)
|
||||
胖子: (脏话)不玩了不玩了,今天一把都没胡过!
|
||||
瞎子: 我也得早点回去,没准小蝉今儿个能回来,我总惦记着回去看看。
|
||||
李氏: 天黑了,你们回去都小心着点。
|
||||
癞子: 嘶...
|
||||
=> END
|
@ -49,7 +49,7 @@
|
||||
按住 S 躲藏 [ID:ui_boxcat_press_s]
|
||||
点击选择信件碎片,方向键移动,E 旋碎片转,Q 退出 [ID:input_拼凑信件]
|
||||
点击书本可选中或交换,Q 退出 [ID:input_书架游戏]
|
||||
还缺一块麻将(幺鸡) [ID:input_麻将游戏_麻将不足]
|
||||
还缺一块麻将 [ID:input_麻将游戏_麻将不足]
|
||||
依次点击两块麻将可进行交换 [ID:input_麻将游戏_操作规则]
|
||||
|
||||
|
||||
|
@ -20,6 +20,8 @@ const CURRENT_VERSION = 5
|
||||
var archives := {}
|
||||
var autosave_timer := Timer.new()
|
||||
|
||||
# 供运行时缓存跨场景数据
|
||||
var _runtime_global_dictionary: Dictionary[String, Variant] = {}
|
||||
|
||||
func _ready() -> void:
|
||||
# 禁用默认退出行为,在 _notification 处理 NOTIFICATION_WM_CLOSE_REQUEST 时保存数据
|
||||
@ -295,3 +297,20 @@ func unlock_memory(id: int) -> void:
|
||||
SceneManager.pop_notification("ui_notify_mem_update")
|
||||
else:
|
||||
printerr("Archive is null, cannot unlock memory. id=", id)
|
||||
|
||||
|
||||
# 供运行时缓存跨场景数据
|
||||
func runtime_set(key: String, value: Variant) -> void:
|
||||
_runtime_global_dictionary[key] = value
|
||||
|
||||
|
||||
func runtime_get(key: String, default_value: Variant = null) -> Variant:
|
||||
return _runtime_global_dictionary.get(key, default_value)
|
||||
|
||||
|
||||
func runtime_has(key: String) -> bool:
|
||||
return _runtime_global_dictionary.has(key)
|
||||
|
||||
|
||||
func runtime_remove(key: String) -> void:
|
||||
_runtime_global_dictionary.erase(key)
|
@ -430,8 +430,9 @@ func show_black_hand(play_sfx := true, queue_free_delay := 0.0) -> void:
|
||||
var transition_scene = preload("uid://7dxvwqm53ugh")
|
||||
|
||||
|
||||
func black_transition(half_duration := 0.7) -> void:
|
||||
func black_transition(half_duration := 0.7, wait_time := 0.5) -> void:
|
||||
var scene = transition_scene.instantiate()
|
||||
scene.name = "Transition"
|
||||
await get_tree().process_frame
|
||||
get_tree().current_scene.add_child(scene)
|
||||
scene.run_effect(half_duration)
|
||||
scene.run_effect(half_duration, wait_time)
|
||||
|
@ -99,7 +99,7 @@ func _apply_tags() -> void:
|
||||
|
||||
var translation_key = dialogue_line.translation_key
|
||||
var text
|
||||
if translation_key:
|
||||
if not translation_key.is_empty():
|
||||
text = tr(translation_key, "dialogue")
|
||||
if text == translation_key:
|
||||
text = dialogue_line.text
|
||||
|
@ -5,12 +5,13 @@ func _ready() -> void:
|
||||
layer = GlobalConfig.CANVAS_LAYER_EFFECT
|
||||
|
||||
|
||||
func run_effect(half_duration := 0.7):
|
||||
func run_effect(half_duration := 0.7, wait_time := 0.5):
|
||||
if not is_node_ready():
|
||||
await ready
|
||||
var rect = $ColorRect as ColorRect
|
||||
var tween = create_tween()
|
||||
rect.modulate.a = 0
|
||||
tween.tween_property(rect, "modulate:a", 1.0, half_duration)
|
||||
tween.tween_interval(wait_time)
|
||||
tween.tween_property(rect, "modulate:a", 0.0, half_duration)
|
||||
tween.tween_callback(queue_free)
|
||||
|
@ -45,7 +45,7 @@
|
||||
[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://n56a07gyjq1u" path="res://scene/ground/script/c03/s02_event_2d偷听陆仁小蝶对话后.gd" id="46_sqio2"]
|
||||
[ext_resource type="Script" path="res://scene/ground/script/c03/s02_event_2d偷听陆仁小蝶对话后.gd" id="46_sqio2"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_k01ve"]
|
||||
length = 0.001
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=33 format=3 uid="uid://dlrbhfvnd3cs0"]
|
||||
[gd_scene load_steps=30 format=3 uid="uid://dlrbhfvnd3cs0"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_eb2op"]
|
||||
[ext_resource type="Script" uid="uid://c0rh2n36ait6i" path="res://scene/ground/scene/c03/s01_三楼.gd" id="2_ow08b"]
|
||||
@ -22,107 +22,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://dagy852q0fduh" path="res://asset/art/scene/c03/s01_三楼/e_治病木牌.png" id="19_hmme5"]
|
||||
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="20_hmme5"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_k01ve"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("MainPlayer:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lh55k"]
|
||||
resource_name = "c02_final_show_end"
|
||||
length = 14.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 3.8),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ciatp"]
|
||||
resource_name = "c02_final_show_join"
|
||||
length = 12.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 12.1, 12.5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 1.0, 0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_k01ve"),
|
||||
&"c02_final_show_end": SubResource("Animation_lh55k"),
|
||||
&"c02_final_show_join": SubResource("Animation_ciatp")
|
||||
}
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_krvxg"]
|
||||
interpolation_mode = 2
|
||||
@ -385,7 +285,6 @@ points = PackedVector2Array(30, 151, 723, 150)
|
||||
|
||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
||||
visible = false
|
||||
energy = 0.9
|
||||
blend_mode = 1
|
||||
|
||||
[editable path="Ground"]
|
||||
|
@ -1,7 +1,7 @@
|
||||
[gd_scene load_steps=20 format=3 uid="uid://ctwy1ubhm68la"]
|
||||
[gd_scene load_steps=17 format=3 uid="uid://ctwy1ubhm68la"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_jad6f"]
|
||||
[ext_resource type="Script" uid="uid://tk4wg0i4payx" path="res://scene/ground/scene/c03/s02_瞎子新卧室.gd" id="2_y504i"]
|
||||
[ext_resource type="Script" path="res://scene/ground/scene/c03/s02_瞎子新卧室.gd" id="2_y504i"]
|
||||
[ext_resource type="Script" uid="uid://cpejxlfni6n52" path="res://manager/audio_manager/vibe_sfx.gd" id="3_kchgf"]
|
||||
[ext_resource type="Texture2D" uid="uid://vc2hn6t5bedg" path="res://asset/art/scene/c03/s02_瞎子新卧室/bg_瞎子新卧室.png" id="4_hehhg"]
|
||||
[ext_resource type="Texture2D" uid="uid://7ay1ttob8qwm" path="res://asset/art/scene/c02/s08_瞎子卧室/e_床板.png" id="5_xifhb"]
|
||||
@ -9,114 +9,14 @@
|
||||
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="6_jad6f"]
|
||||
[ext_resource type="Texture2D" uid="uid://bmid3iu2ch35o" path="res://asset/art/scene/c02/s08_瞎子卧室/八卦图.png" id="7_u55tr"]
|
||||
[ext_resource type="Texture2D" uid="uid://vqyhgyka3sfo" path="res://asset/art/scene/c02/s08_瞎子卧室/瞎子卧室前景.png" id="8_hehhg"]
|
||||
[ext_resource type="Script" uid="uid://n56a07gyjq1u" path="res://scene/ground/script/c03/s02_event_2d偷听陆仁小蝶对话后.gd" id="8_pixqd"]
|
||||
[ext_resource type="Script" path="res://scene/ground/script/c03/s02_event_2d偷听陆仁小蝶对话后.gd" id="8_pixqd"]
|
||||
[ext_resource type="SpriteFrames" uid="uid://div8kcn7gu78r" path="res://asset/art/gif/c03_小蝶询问瞎子/c03_小蝶询问瞎子_frames.tres" id="10_2hv3f"]
|
||||
[ext_resource type="PackedScene" uid="uid://b50n0hvs4yh75" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn" id="10_jad6f"]
|
||||
[ext_resource type="PackedScene" uid="uid://cxw5rovg5mu1a" path="res://scene/ground/script/c02/s00_煤油灯.tscn" id="10_kchgf"]
|
||||
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="10_v3seo"]
|
||||
[ext_resource type="Texture2D" uid="uid://bcqcvohj7jy40" path="res://asset/art/scene/c02/杂物/煤油灯 关灯.png" id="11_crt0l"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_k01ve"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("MainPlayer:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lh55k"]
|
||||
resource_name = "c02_final_show_end"
|
||||
length = 14.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 3.8),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ciatp"]
|
||||
resource_name = "c02_final_show_join"
|
||||
length = 12.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 12.1, 12.5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 1.0, 0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_k01ve"),
|
||||
&"c02_final_show_end": SubResource("Animation_lh55k"),
|
||||
&"c02_final_show_join": SubResource("Animation_ciatp")
|
||||
}
|
||||
|
||||
[node name="S02" type="Node2D"]
|
||||
metadata/_edit_horizontal_guides_ = [-627.0]
|
||||
@ -262,7 +162,6 @@ points = PackedVector2Array(17, 150, 509, 150)
|
||||
|
||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
||||
visible = false
|
||||
energy = 0.9
|
||||
blend_mode = 1
|
||||
|
||||
[editable path="Ground"]
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=18 format=3 uid="uid://bsqt2c061fmin"]
|
||||
[gd_scene load_steps=15 format=3 uid="uid://bsqt2c061fmin"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_40yjl"]
|
||||
[ext_resource type="Script" uid="uid://cim5bqm2nayls" path="res://scene/ground/scene/c03/s03_瞎子理发店.gd" id="2_irgvj"]
|
||||
@ -14,107 +14,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://ckboywu6sjcpc" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子纸人头套.png" id="10_1pu6f"]
|
||||
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="11_1pu6f"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_k01ve"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("MainPlayer:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lh55k"]
|
||||
resource_name = "c02_final_show_end"
|
||||
length = 14.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 3.8),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ciatp"]
|
||||
resource_name = "c02_final_show_join"
|
||||
length = 12.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 12.1, 12.5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 1.0, 0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_k01ve"),
|
||||
&"c02_final_show_end": SubResource("Animation_lh55k"),
|
||||
&"c02_final_show_join": SubResource("Animation_ciatp")
|
||||
}
|
||||
|
||||
[node name="S03" type="Node2D"]
|
||||
metadata/_edit_horizontal_guides_ = [-627.0]
|
||||
@ -180,7 +80,9 @@ position = Vector2(501, 46)
|
||||
title_filter = "c03"
|
||||
|
||||
[node name="MainPlayer" parent="Ground" index="5"]
|
||||
visible = false
|
||||
position = Vector2(34, 98)
|
||||
hide_sprite = true
|
||||
catty_light_energy = 0.5
|
||||
player_movement_rect = Rect2(35, -158, 506, 316)
|
||||
facing_direction = Vector2(1, 0)
|
||||
@ -201,7 +103,6 @@ points = PackedVector2Array(35, 151, 541, 151)
|
||||
|
||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
||||
visible = false
|
||||
energy = 0.9
|
||||
blend_mode = 1
|
||||
|
||||
[editable path="Ground"]
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=14 format=3 uid="uid://c7c88hg2cl1j7"]
|
||||
[gd_scene load_steps=11 format=3 uid="uid://c7c88hg2cl1j7"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_byh4s"]
|
||||
[ext_resource type="Script" uid="uid://byw2swgt783oa" path="res://scene/ground/scene/c03/s04_李癞房间.gd" id="2_vjibx"]
|
||||
@ -10,114 +10,14 @@
|
||||
[ext_resource type="PackedScene" uid="uid://n75766ui6udi" path="res://scene/ground/script/c03/s04_closeup整理麻将游戏.tscn" id="7_jmyby"]
|
||||
[ext_resource type="PackedScene" uid="uid://cua3uqy4btxqn" path="res://scene/ground/script/c03/s04_closeup麻将出千游戏.tscn" id="8_jmyby"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_k01ve"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("MainPlayer:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lh55k"]
|
||||
resource_name = "c02_final_show_end"
|
||||
length = 14.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 3.8),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ciatp"]
|
||||
resource_name = "c02_final_show_join"
|
||||
length = 12.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 12.1, 12.5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 1.0, 0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_k01ve"),
|
||||
&"c02_final_show_end": SubResource("Animation_lh55k"),
|
||||
&"c02_final_show_join": SubResource("Animation_ciatp")
|
||||
}
|
||||
|
||||
[node name="S04" type="Node2D"]
|
||||
metadata/_edit_horizontal_guides_ = [-627.0]
|
||||
metadata/_edit_horizontal_guides_ = [-627.0, 80.0, 120.0, 80.0]
|
||||
|
||||
[node name="Ground" parent="." instance=ExtResource("1_byh4s")]
|
||||
scene_name = "c03_s04"
|
||||
player_y = 60
|
||||
player_y = 58
|
||||
|
||||
[node name="AnimationPlayer" parent="Ground" index="0"]
|
||||
libraries = {
|
||||
@ -137,16 +37,16 @@ offset = Vector2(0, -158)
|
||||
|
||||
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
|
||||
position = Vector2(18, 29)
|
||||
target_scene = "c02_s07"
|
||||
target_portal = "1"
|
||||
|
||||
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
|
||||
position = Vector2(632, 30)
|
||||
position = Vector2(632, 31)
|
||||
|
||||
[node name="portal_1" parent="Ground/DeployLayer" index="2" instance=ExtResource("5_4efpk")]
|
||||
position = Vector2(632, 30)
|
||||
position = Vector2(404, 28)
|
||||
debug_note = "通往院子"
|
||||
portal_name = "1"
|
||||
target_scene = "c02_s03"
|
||||
target_portal = "5"
|
||||
|
||||
[node name="Closeup整理麻将游戏" parent="Ground/DeployLayer" index="3" instance=ExtResource("6_dbkw8")]
|
||||
unique_name_in_owner = true
|
||||
@ -158,10 +58,11 @@ quit_closeup_on_cancel = false
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(219, 63)
|
||||
packed_scene = ExtResource("8_jmyby")
|
||||
quit_closeup_on_cancel = false
|
||||
enabled = false
|
||||
|
||||
[node name="MainPlayer" parent="Ground" index="5"]
|
||||
position = Vector2(63, 95)
|
||||
position = Vector2(63, 100)
|
||||
catty_light_energy = 0.5
|
||||
player_movement_rect = Rect2(26, -158, 587, 316)
|
||||
facing_direction = Vector2(1, 0)
|
||||
@ -173,15 +74,15 @@ limit_right = 648
|
||||
limit_bottom = 158
|
||||
|
||||
[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"]
|
||||
visible = false
|
||||
texture = ExtResource("5_vjibx")
|
||||
offset = Vector2(0, -158)
|
||||
|
||||
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
|
||||
points = PackedVector2Array(26, 150, 613, 149)
|
||||
points = PackedVector2Array(26, 150, 471, 149)
|
||||
|
||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
||||
visible = false
|
||||
energy = 0.9
|
||||
blend_mode = 1
|
||||
|
||||
[editable path="Ground"]
|
||||
|
@ -1,112 +1,12 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://6ehb3ux2kilu"]
|
||||
[gd_scene load_steps=7 format=3 uid="uid://6ehb3ux2kilu"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_ip0og"]
|
||||
[ext_resource type="Script" uid="uid://brncw0d41f427" path="res://scene/ground/scene/c03/s05_肉铺.gd" id="2_l22xv"]
|
||||
[ext_resource type="Script" path="res://scene/ground/scene/c03/s05_肉铺.gd" id="2_l22xv"]
|
||||
[ext_resource type="Script" uid="uid://cpejxlfni6n52" path="res://manager/audio_manager/vibe_sfx.gd" id="3_r4bhp"]
|
||||
[ext_resource type="Texture2D" uid="uid://ccl8ud5hbuq1r" path="res://asset/art/scene/c03/s05_肉铺/bg_肉铺内背景.png" id="4_ip0og"]
|
||||
[ext_resource type="Texture2D" uid="uid://c5oth3mdxrnby" path="res://asset/art/scene/c03/s05_肉铺/fg_肉铺内前景.png" id="5_l22xv"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_k01ve"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("MainPlayer:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lh55k"]
|
||||
resource_name = "c02_final_show_end"
|
||||
length = 14.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 3.8),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ciatp"]
|
||||
resource_name = "c02_final_show_join"
|
||||
length = 12.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 12.1, 12.5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 1.0, 0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_k01ve"),
|
||||
&"c02_final_show_end": SubResource("Animation_lh55k"),
|
||||
&"c02_final_show_join": SubResource("Animation_ciatp")
|
||||
}
|
||||
|
||||
[node name="S06" type="Node2D"]
|
||||
metadata/_edit_horizontal_guides_ = [-627.0]
|
||||
@ -162,7 +62,6 @@ points = PackedVector2Array(26, 150, 513, 150)
|
||||
|
||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
||||
visible = false
|
||||
energy = 0.9
|
||||
blend_mode = 1
|
||||
|
||||
[editable path="Ground"]
|
||||
|
@ -1,112 +1,12 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://cxacrp8mrrbry"]
|
||||
[gd_scene load_steps=7 format=3 uid="uid://cxacrp8mrrbry"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_h8p4n"]
|
||||
[ext_resource type="Script" uid="uid://cxgeon4qs1klv" path="res://scene/ground/scene/c03/s06_胖子卧室.gd" id="2_f527l"]
|
||||
[ext_resource type="Script" path="res://scene/ground/scene/c03/s06_胖子卧室.gd" id="2_f527l"]
|
||||
[ext_resource type="Script" uid="uid://cpejxlfni6n52" path="res://manager/audio_manager/vibe_sfx.gd" id="3_6747o"]
|
||||
[ext_resource type="Texture2D" uid="uid://c2qdnw8b0rcah" path="res://asset/art/scene/c03/s06_胖子卧室/bg_胖子卧室背景.png" id="4_h8p4n"]
|
||||
[ext_resource type="Texture2D" uid="uid://q20myccplwm7" path="res://asset/art/scene/c03/s06_胖子卧室/fg_胖子卧室前景.png" id="5_f527l"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_k01ve"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("MainPlayer:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lh55k"]
|
||||
resource_name = "c02_final_show_end"
|
||||
length = 14.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 3.8),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ciatp"]
|
||||
resource_name = "c02_final_show_join"
|
||||
length = 12.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 12.1, 12.5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 1.0, 0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_k01ve"),
|
||||
&"c02_final_show_end": SubResource("Animation_lh55k"),
|
||||
&"c02_final_show_join": SubResource("Animation_ciatp")
|
||||
}
|
||||
|
||||
[node name="S06" type="Node2D"]
|
||||
metadata/_edit_horizontal_guides_ = [-627.0]
|
||||
@ -162,7 +62,6 @@ points = PackedVector2Array(26, 150, 481, 149)
|
||||
|
||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
||||
visible = false
|
||||
energy = 0.9
|
||||
blend_mode = 1
|
||||
|
||||
[editable path="Ground"]
|
||||
|
@ -1,112 +1,12 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://c67732f2we13j"]
|
||||
[gd_scene load_steps=7 format=3 uid="uid://c67732f2we13j"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_oxs1j"]
|
||||
[ext_resource type="Script" uid="uid://dh5vxhnfnua3q" path="res://scene/ground/scene/c03/s07_屠宰间.gd" id="2_oxs1j"]
|
||||
[ext_resource type="Script" path="res://scene/ground/scene/c03/s07_屠宰间.gd" id="2_oxs1j"]
|
||||
[ext_resource type="Script" uid="uid://cpejxlfni6n52" path="res://manager/audio_manager/vibe_sfx.gd" id="3_vyti6"]
|
||||
[ext_resource type="Texture2D" uid="uid://dv4jkirkqgb50" path="res://asset/art/scene/c03/s07_屠宰间/bg_屠宰间背景.png" id="4_oxs1j"]
|
||||
[ext_resource type="Texture2D" uid="uid://btdwnxrmipv4h" path="res://asset/art/scene/c03/s07_屠宰间/fg_屠宰间前景.png" id="5_0gnm3"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_k01ve"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("MainPlayer:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lh55k"]
|
||||
resource_name = "c02_final_show_end"
|
||||
length = 14.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 3.8),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ciatp"]
|
||||
resource_name = "c02_final_show_join"
|
||||
length = 12.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 12.1, 12.5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 1.0, 0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_k01ve"),
|
||||
&"c02_final_show_end": SubResource("Animation_lh55k"),
|
||||
&"c02_final_show_join": SubResource("Animation_ciatp")
|
||||
}
|
||||
|
||||
[node name="S07" type="Node2D"]
|
||||
metadata/_edit_horizontal_guides_ = [-627.0]
|
||||
@ -161,7 +61,6 @@ points = PackedVector2Array(26, 150, 723, 150)
|
||||
|
||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
||||
visible = false
|
||||
energy = 0.9
|
||||
blend_mode = 1
|
||||
|
||||
[editable path="Ground"]
|
||||
|
@ -1,112 +1,12 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://bixdbbyhroepi"]
|
||||
[gd_scene load_steps=7 format=3 uid="uid://bixdbbyhroepi"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_fusj3"]
|
||||
[ext_resource type="Script" uid="uid://ddrlpkqfabx6d" path="res://scene/ground/scene/c03/s08_囚室.gd" id="2_fusj3"]
|
||||
[ext_resource type="Script" path="res://scene/ground/scene/c03/s08_囚室.gd" id="2_fusj3"]
|
||||
[ext_resource type="Script" uid="uid://cpejxlfni6n52" path="res://manager/audio_manager/vibe_sfx.gd" id="3_jua84"]
|
||||
[ext_resource type="Texture2D" uid="uid://c53e7kxlfj8kw" path="res://asset/art/scene/c03/s08_囚室/bg_囚室背景.png" id="4_fusj3"]
|
||||
[ext_resource type="Texture2D" uid="uid://dfsqs13fm7urb" path="res://asset/art/scene/c03/s08_囚室/fg_囚室前景.png" id="5_i2s3v"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_k01ve"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("MainPlayer:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lh55k"]
|
||||
resource_name = "c02_final_show_end"
|
||||
length = 14.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 3.8),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ciatp"]
|
||||
resource_name = "c02_final_show_join"
|
||||
length = 12.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 12.1, 12.5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 1.0, 0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_k01ve"),
|
||||
&"c02_final_show_end": SubResource("Animation_lh55k"),
|
||||
&"c02_final_show_join": SubResource("Animation_ciatp")
|
||||
}
|
||||
|
||||
[node name="S08" type="Node2D"]
|
||||
metadata/_edit_horizontal_guides_ = [-627.0]
|
||||
@ -143,7 +43,7 @@ position = Vector2(533, 26)
|
||||
[node name="MainPlayer" parent="Ground" index="5"]
|
||||
position = Vector2(63, 95)
|
||||
catty_light_energy = 0.5
|
||||
player_movement_rect = Rect2(37, -158, 485, 316)
|
||||
player_movement_rect = Rect2(37, -158, 502, 316)
|
||||
facing_direction = Vector2(1, 0)
|
||||
|
||||
[node name="CameraFocusMarker" parent="Ground" index="6"]
|
||||
@ -162,7 +62,6 @@ points = PackedVector2Array(37, 149, 539, 149)
|
||||
|
||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
||||
visible = false
|
||||
energy = 0.9
|
||||
blend_mode = 1
|
||||
|
||||
[editable path="Ground"]
|
||||
|
@ -1,112 +1,12 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://dfln301xllqpn"]
|
||||
[gd_scene load_steps=7 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"]
|
||||
[ext_resource type="Script" path="res://scene/ground/scene/c03/s09_棺材房.gd" id="2_8vqn6"]
|
||||
[ext_resource type="Script" uid="uid://cpejxlfni6n52" path="res://manager/audio_manager/vibe_sfx.gd" id="3_5at4l"]
|
||||
[ext_resource type="Texture2D" uid="uid://b1g6hxg1tjp1u" path="res://asset/art/scene/c03/s09_棺材房/bg_棺材房背景.png" id="4_8vqn6"]
|
||||
[ext_resource type="Texture2D" uid="uid://bmny5bvenexwe" path="res://asset/art/scene/c03/s09_棺材房/fg_棺材房前景.png" id="5_sssik"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_k01ve"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("MainPlayer:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lh55k"]
|
||||
resource_name = "c02_final_show_end"
|
||||
length = 14.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainPlayer:hide_sprite")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 3.8),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ciatp"]
|
||||
resource_name = "c02_final_show_join"
|
||||
length = 12.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DirectionalLight2D:energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 12.1, 12.5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 1.0, 0.9]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_k01ve"),
|
||||
&"c02_final_show_end": SubResource("Animation_lh55k"),
|
||||
&"c02_final_show_join": SubResource("Animation_ciatp")
|
||||
}
|
||||
|
||||
[node name="S09" type="Node2D"]
|
||||
metadata/_edit_horizontal_guides_ = [-627.0]
|
||||
@ -163,7 +63,6 @@ points = PackedVector2Array(80, 150, 474, 151)
|
||||
|
||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
||||
visible = false
|
||||
energy = 0.9
|
||||
blend_mode = 1
|
||||
|
||||
[editable path="Ground"]
|
||||
|
@ -78,8 +78,8 @@ func start():
|
||||
await create_tween().tween_interval(3.0).finished
|
||||
# 瞎子打断
|
||||
DialogueManager.show_dialogue_balloon(dialogue_c02, "c02_s11_谢幕交谈3")
|
||||
# 1.0 渐入 ~ 1.0 渐出
|
||||
SceneManager.black_transition(1.0)
|
||||
# 0.7 渐入 ~ 0.5 ~ 0.7 渐出
|
||||
SceneManager.black_transition(0.7, 0.5)
|
||||
# 对话过程中提前退出
|
||||
await create_tween().tween_interval(1.0).finished
|
||||
$Root.visible = false
|
||||
|
@ -2,9 +2,8 @@ extends CanvasLayer
|
||||
|
||||
signal exit(success: bool)
|
||||
|
||||
@onready var bg = $BG as CanvasItem
|
||||
@onready var hand = $Hand as CanvasItem
|
||||
@onready var hand_success = $HandSuccess as CanvasItem
|
||||
|
||||
var c03_dialog = preload("uid://b66v5hsf3tdox")
|
||||
|
||||
var mahjongs = {
|
||||
"三条": preload("uid://b2ectbek7vksi"),
|
||||
@ -117,18 +116,21 @@ func _check_if_success() -> void:
|
||||
success = false
|
||||
break
|
||||
if success:
|
||||
var animation_player = $AnimationPlayer as AnimationPlayer
|
||||
$SfxSuccess.play()
|
||||
freezing = true
|
||||
SceneManager.disable_prop_item("prop_麻将")
|
||||
SceneManager.disable_prop_item("prop_麻将2")
|
||||
# 下一阶段
|
||||
EventManager.set_stage_if_greater("c03_mahjong_game", 1)
|
||||
hand_success.show()
|
||||
hand_success.modulate.a = 0.0
|
||||
var tween = create_tween()
|
||||
tween.tween_property(hand, "modulate:a", 0.0, 1.5)
|
||||
tween.parallel().tween_property(hand_success, "modulate:a", 1.0, 1.5)
|
||||
tween.tween_interval(3.5)
|
||||
await tween.finished
|
||||
DialogueManager.show_dialogue_balloon(c03_dialog, "c03_s04_整理麻将游戏0")
|
||||
animation_player.play("take_to_the_desk")
|
||||
await DialogueManager.dialogue_ended
|
||||
if animation_player.is_playing():
|
||||
await animation_player.animation_finished
|
||||
DialogueManager.show_dialogue_balloon(c03_dialog, "c03_s04_整理麻将游戏1", [GlobalConfig.DIALOG_IGNORE_INPUT])
|
||||
SceneManager.black_transition(0.7, 7.0)
|
||||
ArchiveManager.runtime_set("c03_mahjong_game_black_transition_time", 7.0)
|
||||
await Util.wait(1.0)
|
||||
exit.emit(true)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=24 format=3 uid="uid://n75766ui6udi"]
|
||||
[gd_scene load_steps=28 format=3 uid="uid://n75766ui6udi"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://5r8bu30xpb6m" path="res://scene/ground/script/c03/s04_closeup整理麻将游戏.gd" id="1_npctd"]
|
||||
[ext_resource type="AudioStream" uid="uid://cj2wd18uh67sc" path="res://asset/audio/effect/casino/chipLay2.ogg" id="2_oafpr"]
|
||||
@ -11,6 +11,9 @@
|
||||
[ext_resource type="Texture2D" uid="uid://dis6qtf1hvop2" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/九筒.png" id="7_f6p4s"]
|
||||
[ext_resource type="Texture2D" uid="uid://y15vgb2gq2r3" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/手.png" id="7_rp00l"]
|
||||
[ext_resource type="Texture2D" uid="uid://tdo5xxovhljp" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/麻将游戏桌面背景.png" id="7_ta1cv"]
|
||||
[ext_resource type="AudioStream" uid="uid://5ywoueygwfkh" path="res://asset/audio/effect/casino/cardShove2.ogg" id="7_vspel"]
|
||||
[ext_resource type="Texture2D" uid="uid://bfu6ogd0q2eu0" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/麻将游戏地板背景.png" id="8_2kqht"]
|
||||
[ext_resource type="AudioStream" uid="uid://ca5jspbs6ud3x" path="res://asset/audio/effect/casino/cardPlace2.ogg" id="8_b3wmg"]
|
||||
[ext_resource type="Texture2D" uid="uid://b2pypf81rgqkw" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/三筒.png" id="8_ib3cx"]
|
||||
[ext_resource type="Texture2D" uid="uid://dtatrr7yiptwe" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/整理成功.png" id="8_qedsv"]
|
||||
[ext_resource type="Texture2D" uid="uid://bo4hrg3sqpoou" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/伍万.png" id="9_axqt4"]
|
||||
@ -19,6 +22,105 @@
|
||||
[ext_resource type="Texture2D" uid="uid://bsqp5gfgplgrv" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/麻将整理游戏视觉引导光影.png" id="16_ivruk"]
|
||||
[ext_resource type="Texture2D" uid="uid://doxc87cp3e8i4" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/二筒.png" id="17_b56iy"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_2kqht"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Hand:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(118, 240)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("BG地板:modulate")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Box/HandSuccess:modulate")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Hand:modulate")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Box:position")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 0)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("遮罩:modulate")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Sfx抱起箱子:playing")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("Sfx放下箱子:playing")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_qedsv"]
|
||||
resource_name = "hand_swing"
|
||||
length = 5.0
|
||||
@ -36,25 +138,99 @@ tracks/0/keys = {
|
||||
"values": [Vector2(118, 225), Vector2(116, 223), Vector2(116, 227), Vector2(118, 225)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_2kqht"]
|
||||
length = 0.001
|
||||
[sub_resource type="Animation" id="Animation_0b7mu"]
|
||||
resource_name = "take_to_the_desk"
|
||||
length = 10.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Hand:position")
|
||||
tracks/0/path = NodePath("BG地板:modulate")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"times": PackedFloat32Array(0, 7.8, 8.3),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(118, 240)]
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Box/HandSuccess:modulate")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.833333, 1.26667, 8.5, 9.06667),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Hand:modulate")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 0.566667),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Box:position")
|
||||
tracks/3/interp = 2
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 1.63333, 2.6, 3.63333, 4.63333, 5.7, 6.76667, 7.66667, 8.56667),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 0), Vector2(0, 0), Vector2(-1, -2), Vector2(2, 1), Vector2(3, 2), Vector2(0, 0), Vector2(-2, -1), Vector2(1, -2), Vector2(0, 0)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("遮罩:modulate")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(8.8, 10),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Sfx抱起箱子:playing")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(1.16667),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Sfx放下箱子:playing")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"times": PackedFloat32Array(8.86667),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_0b7mu"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_2kqht"),
|
||||
&"hand_swing": SubResource("Animation_qedsv")
|
||||
&"hand_swing": SubResource("Animation_qedsv"),
|
||||
&"take_to_the_desk": SubResource("Animation_0b7mu")
|
||||
}
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_vspel"]
|
||||
@ -97,13 +273,25 @@ bus = &"game_sfx"
|
||||
script = ExtResource("3_oarv7")
|
||||
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
||||
|
||||
[node name="Sfx抱起箱子" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("7_vspel")
|
||||
bus = &"game_sfx"
|
||||
script = ExtResource("3_oarv7")
|
||||
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
||||
|
||||
[node name="Sfx放下箱子" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("8_b3wmg")
|
||||
bus = &"game_sfx"
|
||||
script = ExtResource("3_oarv7")
|
||||
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_0b7mu")
|
||||
}
|
||||
autoplay = "hand_swing"
|
||||
|
||||
[node name="BG" type="TextureRect" parent="."]
|
||||
[node name="BG桌面" type="TextureRect" parent="."]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
@ -112,32 +300,20 @@ grow_vertical = 2
|
||||
mouse_filter = 0
|
||||
texture = ExtResource("7_ta1cv")
|
||||
|
||||
[node name="HandSuccess" type="TextureRect" parent="."]
|
||||
visible = false
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = 84.0
|
||||
offset_top = 202.0
|
||||
offset_right = 84.0
|
||||
offset_bottom = 202.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
texture = ExtResource("8_qedsv")
|
||||
stretch_mode = 2
|
||||
|
||||
[node name="Box" type="TextureRect" parent="."]
|
||||
[node name="BG地板" type="TextureRect" parent="."]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 0
|
||||
texture = ExtResource("8_2kqht")
|
||||
|
||||
[node name="Box" type="Sprite2D" parent="."]
|
||||
texture = ExtResource("3_f6p4s")
|
||||
centered = false
|
||||
|
||||
[node name="Right" type="GridContainer" parent="Box"]
|
||||
layout_mode = 0
|
||||
offset_left = 287.0
|
||||
offset_top = 193.0
|
||||
offset_right = 351.0
|
||||
@ -273,7 +449,6 @@ range_layer_max = 10
|
||||
texture = SubResource("GradientTexture2D_ta1cv")
|
||||
|
||||
[node name="Left" type="GridContainer" parent="Box"]
|
||||
layout_mode = 0
|
||||
offset_left = 241.0
|
||||
offset_top = 227.0
|
||||
offset_right = 286.0
|
||||
@ -308,7 +483,6 @@ texture = SubResource("GradientTexture2D_ta1cv")
|
||||
|
||||
[node name="0" type="TextureButton" parent="Box"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
offset_left = 319.0
|
||||
offset_top = 214.0
|
||||
offset_right = 341.0
|
||||
@ -322,6 +496,23 @@ energy = 0.3
|
||||
range_layer_max = 10
|
||||
texture = SubResource("GradientTexture2D_ta1cv")
|
||||
|
||||
[node name="HandSuccess" type="TextureRect" parent="Box"]
|
||||
modulate = Color(1, 1, 1, 0)
|
||||
show_behind_parent = true
|
||||
light_mask = 2
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = 84.0
|
||||
offset_top = 202.0
|
||||
offset_right = 84.0
|
||||
offset_bottom = 202.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
texture = ExtResource("8_qedsv")
|
||||
stretch_mode = 2
|
||||
|
||||
[node name="Hand" type="Sprite2D" parent="."]
|
||||
position = Vector2(118, 240)
|
||||
texture = ExtResource("7_rp00l")
|
||||
|
@ -4,68 +4,92 @@ signal exit(arg)
|
||||
|
||||
@onready var bg = $BG as TextureRect
|
||||
@onready var front_lay = $MahjongsFrontLay as CanvasItem
|
||||
@onready var stand = $Stand as CanvasItem
|
||||
@onready var hand = $Hand as CanvasItem
|
||||
@onready var stand_root = $Stand as CanvasItem
|
||||
@onready var grid = $Stand/MahjongGrid as GridContainer
|
||||
|
||||
@onready var stand_mahjongs_btn: Array[TextureButton] = [%"1", %"2", %"3", %"4", %"5", %"6", %"7", %"8", %"9", %"10", %"11", %"12", %"13"]
|
||||
@onready var stand_right_mahjong: TextureButton = %"14"
|
||||
@onready var hand_mahjongs_btn: Array[TextureButton] = [%"15", %"16", %"17"]
|
||||
|
||||
var mahjongs = {
|
||||
"南": preload("uid://6hdekasuabnm"),
|
||||
"三万": preload("uid://dc6sj2holh1gn"),
|
||||
"五万": preload("uid://bd12rrssmrdbs"),
|
||||
"幺鸡": preload("uid://batbu02i8svf6"),
|
||||
"二条": preload("uid://cbn74yc8j72v6"),
|
||||
"三条": preload("uid://b66kqhy1mmhc5"),
|
||||
"二筒": preload("uid://djefka3gyhxsv"),
|
||||
"四筒": preload("uid://da50cog64b0tb"),
|
||||
"八筒": preload("uid://cr6404ghilc7u"),
|
||||
"九筒": preload("uid://iovhne3h5dqe"),
|
||||
# [type][number]
|
||||
"风南": preload("uid://6hdekasuabnm"),
|
||||
"万2": preload("uid://c6xcefh4x2t5h"),
|
||||
"万3": preload("uid://dc6sj2holh1gn"),
|
||||
"万5": preload("uid://bd12rrssmrdbs"),
|
||||
"条1": preload("uid://batbu02i8svf6"),
|
||||
"条2": preload("uid://cbn74yc8j72v6"),
|
||||
"条3": preload("uid://b66kqhy1mmhc5"),
|
||||
"筒1": preload("uid://ccpexjd64s5nn"),
|
||||
"筒2": preload("uid://djefka3gyhxsv"),
|
||||
"筒4": preload("uid://da50cog64b0tb"),
|
||||
"筒7": preload("uid://c7tea8ostqbiu"),
|
||||
"筒8": preload("uid://cr6404ghilc7u"),
|
||||
"筒9": preload("uid://iovhne3h5dqe"),
|
||||
}
|
||||
|
||||
# 回合1-3摸牌:南风B、3万、2筒
|
||||
# 回合1-3自动打出的牌(不可换):2万、3万、南风A
|
||||
# 密码:替换南风B、4筒、2筒
|
||||
# 玩家初始牌型(13张):2筒x1,5万x2,南风Ax1,2万x1,4筒x4,1条x1,2条x1,7筒x1,8筒x1
|
||||
# 胜利牌型:2筒x2、5万x3、4筒x2、123条x1、789筒x1
|
||||
var initial_cards = ["二筒", "五万", "五万", "南", "二条", "四筒", "四筒", "四筒", "四筒", "一条", "二条", "七筒", "八筒"]
|
||||
@onready var standing_mahjongs_btn: Array[TextureButton] = [%"0", %"1", %"2", %"3", %"4", %"5", %"6", %"7", %"8", %"9", %"10", %"11", %"12", %"13"]
|
||||
# 替换后会从数组中移除
|
||||
@onready var holding_mahjongs_btn_dict: Dictionary[int, TextureButton] = {14: %"14", 15: %"15", 16: %"16"}
|
||||
|
||||
# 2万
|
||||
# 7筒
|
||||
|
||||
var freezing = false
|
||||
var current_round := 0
|
||||
# 回合1-4摸牌:3万、2万、1条、2筒(胜利)
|
||||
var dispatched_card_per_round: Array[String] = ["万3", "万2", "条1", "筒2"]
|
||||
# 回合1-3自动打出的牌+3个密码(共六张):2万、3万、1条、南风、4筒、1筒
|
||||
var useless_cards: Array[String] = ["万2", "万3", "条1", "风南", "筒4", "筒1"]
|
||||
# 玩家初始牌型(13张):78筒x1 南风x1 12条x1 4筒x1 5万x2 2筒x2 9筒x2 1筒
|
||||
# 胜利牌型:2筒x3、9筒x2、5万x3、123条x1、789筒x1
|
||||
var standing_cards: Array[String] = ["筒7", "筒8", "风南", "条1", "条2", "筒4", "万5", "万5", "筒2", "筒2", "筒9", "筒9", "筒1", ""]
|
||||
# 赖子手在左下角桌子下,手中为三个麻将,5万、3条、9筒
|
||||
var holding_cards_dict: Dictionary[int, String] = {14: "万5", 15: "条3", 16: "筒9"}
|
||||
|
||||
var freezing = true:
|
||||
set(val):
|
||||
if freezing != val:
|
||||
freezing = val
|
||||
if freezing and selected_btn:
|
||||
_toggle_selected(selected_btn, false)
|
||||
var success = false
|
||||
var selected_btn: TextureButton
|
||||
|
||||
var c03_dialog = preload("uid://b66v5hsf3tdox")
|
||||
|
||||
func _ready() -> void:
|
||||
layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME
|
||||
stand_root.hide()
|
||||
hand.hide()
|
||||
_toggle_hightlight_for_all(false)
|
||||
stand_right_mahjong.pressed.connect(_on_btn_pressed.bind(stand_right_mahjong))
|
||||
stand_right_mahjong.mouse_entered.connect(_toggle_hightlight.bind(stand_right_mahjong, true))
|
||||
stand_right_mahjong.mouse_exited.connect(_toggle_hightlight.bind(stand_right_mahjong, false))
|
||||
for b in stand_mahjongs_btn:
|
||||
for b in standing_mahjongs_btn:
|
||||
b.mouse_entered.connect(_toggel_hover.bind(b, true))
|
||||
b.mouse_exited.connect(_toggel_hover.bind(b, false))
|
||||
b.pressed.connect(_on_btn_pressed.bind(b))
|
||||
for b in hand_mahjongs_btn:
|
||||
for b in holding_mahjongs_btn_dict.values():
|
||||
b.mouse_entered.connect(_toggel_hover.bind(b, true))
|
||||
b.mouse_exited.connect(_toggel_hover.bind(b, false))
|
||||
b.pressed.connect(_on_btn_pressed.bind(b))
|
||||
|
||||
# 检查是否从整理麻将游戏中跳转过来
|
||||
var transition_time = ArchiveManager.runtime_get("c03_mahjong_game_black_transition_time", 0.0)
|
||||
if transition_time > 0:
|
||||
await Util.wait(transition_time)
|
||||
_play_dialogue_with_update_stage(0)
|
||||
await _await_dialog(0)
|
||||
_start_game()
|
||||
|
||||
|
||||
func _toggel_hover(btn: TextureButton, hovering: bool) -> void:
|
||||
if freezing:
|
||||
return
|
||||
if btn.disabled:
|
||||
hovering = false
|
||||
_toggle_hightlight(btn, hovering)
|
||||
|
||||
|
||||
func _on_btn_pressed(btn: TextureButton) -> void:
|
||||
if freezing:
|
||||
return
|
||||
if btn != selected_btn:
|
||||
if selected_btn:
|
||||
_toggle_selected(selected_btn, false)
|
||||
_exchange_texture(btn, selected_btn)
|
||||
_exchange_texture_and_card(btn, selected_btn)
|
||||
selected_btn = null
|
||||
else:
|
||||
$SfxSelect.play()
|
||||
@ -75,24 +99,204 @@ func _on_btn_pressed(btn: TextureButton) -> void:
|
||||
$SfxSelect.play()
|
||||
_toggle_selected(btn, false)
|
||||
selected_btn = null
|
||||
_check_if_success()
|
||||
|
||||
|
||||
func _toggle_selected(btn:TextureButton, selected: bool) -> void:
|
||||
# 1-14 push up. 15-17 in hand, push down.
|
||||
var front := int(btn.name) <= 14
|
||||
# 0-13 push up. 14-16 in hand, push down.
|
||||
var front := int(btn.name) <= 13
|
||||
if (front and selected) or (not front and not selected):
|
||||
btn.size_flags_vertical = Control.SIZE_SHRINK_BEGIN
|
||||
else:
|
||||
btn.size_flags_vertical = Control.SIZE_SHRINK_END
|
||||
|
||||
|
||||
func _exchange_texture(btn1: TextureButton, btn2: TextureButton) -> void:
|
||||
func _align_card_textures() -> void:
|
||||
# holding_mahjongs_btn 长度会变
|
||||
for k in holding_mahjongs_btn_dict:
|
||||
holding_mahjongs_btn_dict[k].texture_normal = mahjongs[holding_cards_dict[k]]
|
||||
# standing_mahjongs_btn 长度不变
|
||||
for i in 14:
|
||||
if standing_cards[i]:
|
||||
standing_mahjongs_btn[i].texture_normal = mahjongs[standing_cards[i]]
|
||||
standing_mahjongs_btn[i].modulate = Color.WHITE
|
||||
standing_mahjongs_btn[i].show()
|
||||
else:
|
||||
standing_mahjongs_btn[i].hide()
|
||||
|
||||
|
||||
# 发牌
|
||||
func _start_game() -> void:
|
||||
# show_hand 结束时会自动 hand_swing
|
||||
$AnimationPlayer.play("show_hand")
|
||||
_play_dialogue_with_update_stage(1)
|
||||
$SfxStart.play()
|
||||
stand_root.show()
|
||||
hand.show()
|
||||
front_lay.hide()
|
||||
# dispatch and shuffle
|
||||
standing_cards[13] = dispatched_card_per_round[current_round]
|
||||
standing_cards.shuffle()
|
||||
_align_card_textures()
|
||||
# shuffle all cards
|
||||
for b in standing_mahjongs_btn:
|
||||
_toggle_selected(b, true)
|
||||
var tween = create_tween()
|
||||
tween.tween_interval(1.0)
|
||||
var sfx = $SfxPlace
|
||||
for b in standing_mahjongs_btn:
|
||||
tween.tween_interval(0.15)
|
||||
tween.tween_callback(sfx.play.bind(0.15))
|
||||
tween.tween_callback(_toggle_selected.bind(b, false))
|
||||
tween.tween_interval(1.5)
|
||||
tween.tween_callback(standing_cards.sort)
|
||||
tween.tween_callback(_align_card_textures)
|
||||
tween.tween_callback($SfxShuffle.play)
|
||||
await _await_dialog(1)
|
||||
if tween and tween.is_running():
|
||||
await tween.finished
|
||||
freezing = false
|
||||
_play_dialogue_with_update_stage(2)
|
||||
|
||||
|
||||
func _play_dialogue_with_update_stage(stage: int):
|
||||
DialogueManager.show_dialogue_balloon(c03_dialog, "c03_s04_打麻将游戏" + str(stage))
|
||||
if DialogueManager.dialogue_ended.is_connected(_update_last_dialog):
|
||||
DialogueManager.dialogue_ended.disconnect(_update_last_dialog)
|
||||
DialogueManager.dialogue_ended.connect(_update_last_dialog.bind(stage), CONNECT_ONE_SHOT)
|
||||
|
||||
var _last_dialog_stage := -1
|
||||
signal _last_dialog_updated
|
||||
|
||||
func _update_last_dialog(_res, id: int) -> void:
|
||||
if id > _last_dialog_stage:
|
||||
_last_dialog_stage = id
|
||||
_last_dialog_updated.emit()
|
||||
|
||||
func _await_dialog(id: int) -> void:
|
||||
if _last_dialog_stage >= id:
|
||||
return
|
||||
await _last_dialog_updated
|
||||
await _await_dialog(id)
|
||||
|
||||
|
||||
func _exchange_texture_and_card(btn1: TextureButton, btn2: TextureButton) -> void:
|
||||
if btn1 and btn2:
|
||||
$SfxSwitch.play()
|
||||
# exchange texture
|
||||
var texture = btn1.texture_normal
|
||||
btn1.texture_normal = btn2.texture_normal
|
||||
btn2.texture_normal = texture
|
||||
# exchange card name
|
||||
var id1 := int(btn1.name)
|
||||
var id2 := int(btn2.name)
|
||||
var card_name1 = standing_cards[id1] if id1 <= 13 else holding_cards_dict[id1]
|
||||
var card_name2 = standing_cards[id2] if id2 <= 13 else holding_cards_dict[id2]
|
||||
if id1 <= 13:
|
||||
standing_cards[id1] = card_name2
|
||||
else:
|
||||
holding_cards_dict[id1] = card_name2
|
||||
if id2 <= 13:
|
||||
standing_cards[id2] = card_name1
|
||||
else:
|
||||
holding_cards_dict[id2] = card_name1
|
||||
# 判断回合是否成功
|
||||
# 要求: 1、standing 区域有 auto_deal_card 2、holding 区域有 should_be_replaced_card
|
||||
# 查找手牌 id 与区域 id
|
||||
# 优先先从手里着,再从桌面找不重复的
|
||||
var require_replacing_card = intersect(useless_cards, holding_cards_dict)
|
||||
var require_dealing_card = intersect(useless_cards, standing_cards, require_replacing_card)
|
||||
if require_replacing_card and require_dealing_card:
|
||||
useless_cards.erase(require_replacing_card)
|
||||
useless_cards.erase(require_dealing_card)
|
||||
_toggle_hightlight_for_all(false)
|
||||
# 开始执行替换
|
||||
freezing = true
|
||||
await Util.wait(2.0)
|
||||
# 重新排序
|
||||
standing_cards.sort()
|
||||
$SfxShuffle.play()
|
||||
_align_card_textures()
|
||||
var standing_id = standing_cards.find(require_dealing_card)
|
||||
standing_cards.remove_at(standing_id)
|
||||
standing_cards.append("")
|
||||
# 替换到手牌后消失
|
||||
var holding_id = holding_cards_dict.find_key(require_replacing_card)
|
||||
var holding_btn = holding_mahjongs_btn_dict[holding_id]
|
||||
holding_mahjongs_btn_dict.erase(holding_id)
|
||||
holding_cards_dict.erase(holding_id)
|
||||
var tween = create_tween()
|
||||
# 渐隐,表示打出
|
||||
tween.tween_property(standing_mahjongs_btn[standing_id], "modulate:a", 0.0, 3.0)
|
||||
# tween.parallel().tween_property(holding_btn, "modulate:a", 0.0, 3.0)
|
||||
# tween.tween_callback(holding_btn.queue_free)
|
||||
tween.tween_callback(func(): holding_btn.disabled = true)
|
||||
tween.tween_callback(_align_card_textures)
|
||||
tween.tween_callback($SfxShuffle.play)
|
||||
# 下一回合 unfreeze
|
||||
tween.tween_interval(2.0)
|
||||
tween.tween_callback(_next_round)
|
||||
|
||||
|
||||
func intersect(arr:Array, b, except := ""):
|
||||
var first_intersection = ""
|
||||
if b is Dictionary:
|
||||
for item in b.values():
|
||||
if except and item == except:
|
||||
continue
|
||||
if arr.has(item):
|
||||
first_intersection = item
|
||||
break
|
||||
elif b is Array:
|
||||
for item in arr:
|
||||
if except and item == except:
|
||||
continue
|
||||
if b.has(item):
|
||||
first_intersection = item
|
||||
break
|
||||
return first_intersection
|
||||
|
||||
|
||||
func _next_round() -> void:
|
||||
freezing = true
|
||||
current_round += 1
|
||||
if current_round == 1:
|
||||
# 第一回合结束
|
||||
await _await_dialog(2)
|
||||
_play_dialogue_with_update_stage(3)
|
||||
# 对话结束后,开始第二回合
|
||||
await _await_dialog(3)
|
||||
_play_dialogue_with_update_stage(4)
|
||||
elif current_round == 2:
|
||||
# 第二回合结束
|
||||
await _await_dialog(4)
|
||||
_play_dialogue_with_update_stage(5)
|
||||
# 对话结束后,开始第三回合
|
||||
await _await_dialog(5)
|
||||
_play_dialogue_with_update_stage(6)
|
||||
elif current_round == 3:
|
||||
# 第三回合结束
|
||||
await _await_dialog(6)
|
||||
_play_dialogue_with_update_stage(7)
|
||||
await _await_dialog(7)
|
||||
# 开始第四回合,自摸后成功
|
||||
_play_dialogue_with_update_stage(8)
|
||||
standing_cards[13] = dispatched_card_per_round[current_round]
|
||||
$SfxPlace.play()
|
||||
_align_card_textures()
|
||||
await Util.wait(1.0)
|
||||
standing_cards.sort()
|
||||
$SfxShuffle.play()
|
||||
_align_card_textures()
|
||||
# 第四回合胜利
|
||||
if current_round == 3:
|
||||
await Util.wait(1.0)
|
||||
$SfxSuccess.play()
|
||||
print("success")
|
||||
await _await_dialog(8)
|
||||
exit.emit(true)
|
||||
else:
|
||||
freezing = false
|
||||
|
||||
|
||||
func _toggle_hightlight(btn: TextureButton, hightlight: bool) -> void:
|
||||
if null == btn:
|
||||
@ -101,33 +305,7 @@ func _toggle_hightlight(btn: TextureButton, hightlight: bool) -> void:
|
||||
|
||||
|
||||
func _toggle_hightlight_for_all(hightlighted: bool) -> void:
|
||||
if stand_right_mahjong:
|
||||
_toggle_hightlight(stand_right_mahjong, hightlighted)
|
||||
for b in stand_mahjongs_btn:
|
||||
for b in standing_mahjongs_btn:
|
||||
_toggle_hightlight(b, hightlighted)
|
||||
for b in hand_mahjongs_btn:
|
||||
for b in holding_mahjongs_btn_dict.values():
|
||||
_toggle_hightlight(b, hightlighted)
|
||||
|
||||
|
||||
func _check_if_success() -> void:
|
||||
success = true
|
||||
# for hb in hand_mahjongs_btn:
|
||||
# if not hb.texture_normal in answer_of_in_hand_mahjongs:
|
||||
success = false
|
||||
# break
|
||||
# if success:
|
||||
# $SfxSuccess.play()
|
||||
# freezing = true
|
||||
# SceneManager.disable_prop_item("prop_麻将")
|
||||
# SceneManager.disable_prop_item("prop_麻将2")
|
||||
# # 下一阶段
|
||||
# EventManager.set_stage_if_greater("c03_mahjong_game", 1)
|
||||
# hand_success.show()
|
||||
# hand_success.modulate.a = 0.0
|
||||
# var tween = create_tween()
|
||||
# tween.tween_property(hand, "modulate:a", 0.0, 1.5)
|
||||
# tween.parallel().tween_property(hand_success, "modulate:a", 1.0, 1.5)
|
||||
# tween.tween_interval(3.5)
|
||||
# await tween.finished
|
||||
# exit.emit(true)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=27 format=3 uid="uid://cua3uqy4btxqn"]
|
||||
[gd_scene load_steps=28 format=3 uid="uid://cua3uqy4btxqn"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://6ns5o344dgfo" path="res://scene/ground/script/c03/s04_closeup麻将出千游戏.gd" id="1_svv4b"]
|
||||
[ext_resource type="Texture2D" uid="uid://d0kaqrb600hxj" path="res://asset/art/scene/c03/s04_李癞房间/打麻将游戏/背景.png" id="2_12fte"]
|
||||
@ -7,15 +7,16 @@
|
||||
[ext_resource type="AudioStream" uid="uid://dcxn7dvq3805d" path="res://asset/audio/effect/casino/cardSlide2.ogg" id="3_dmkpy"]
|
||||
[ext_resource type="Texture2D" uid="uid://ddkrgrehgphkx" path="res://asset/art/scene/c03/s04_李癞房间/打麻将游戏/桌子.png" id="3_fkih2"]
|
||||
[ext_resource type="AudioStream" uid="uid://orwlj5usnlng" path="res://asset/audio/effect/casino/cardSlide4.ogg" id="4_cv0jt"]
|
||||
[ext_resource type="AudioStream" uid="uid://txrow4x3dgoq" path="res://asset/audio/effect/casino/dieGrab1.ogg" id="4_dmkpy"]
|
||||
[ext_resource type="Texture2D" uid="uid://d3xg6rx5axcba" path="res://asset/art/scene/c03/s04_李癞房间/打麻将游戏/横着的麻将两侧.png" id="4_f3y72"]
|
||||
[ext_resource type="Texture2D" uid="uid://dc6sj2holh1gn" path="res://asset/art/scene/c03/s04_李癞房间/打麻将游戏/三万.png" id="4_k8d28"]
|
||||
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="5_cv0jt"]
|
||||
[ext_resource type="Texture2D" uid="uid://lyuhsi4v6w7d" path="res://asset/art/scene/c03/s04_李癞房间/打麻将游戏/竖着的麻将.png" id="5_g4w7h"]
|
||||
[ext_resource type="Texture2D" uid="uid://d10g7i8qw300u" path="res://asset/art/scene/c03/s04_李癞房间/打麻将游戏/横着的麻将.png" id="6_bydo0"]
|
||||
[ext_resource type="AudioStream" uid="uid://blaqwkcfldic6" path="res://asset/audio/effect/casino/cardSlide3.ogg" id="6_dmkpy"]
|
||||
[ext_resource type="AudioStream" uid="uid://be0crkj8aguk4" path="res://asset/audio/effect/casino/cardOpenPackage2.ogg" id="6_cv0jt"]
|
||||
[ext_resource type="AudioStream" uid="uid://dijl1phxuagkx" path="res://asset/audio/effect/casino/cardPlace1.ogg" id="6_e4lq6"]
|
||||
[ext_resource type="AudioStream" uid="uid://cqkwtc7ui71xy" path="res://asset/audio/effect/casino/chipLay1.ogg" id="6_l8x8v"]
|
||||
[ext_resource type="AudioStream" uid="uid://cyh1ynixo2li" path="res://asset/audio/effect/casino/chipLay3.ogg" id="7_e4lq6"]
|
||||
[ext_resource type="AudioStream" uid="uid://dutk2d7nilv3m" path="res://asset/audio/sfx/UI/令牌道具获取.wav" id="9_dmkpy"]
|
||||
[ext_resource type="Texture2D" uid="uid://bw625jmfn5o" path="res://asset/art/scene/c03/s04_李癞房间/打麻将游戏/手.png" id="9_l8x8v"]
|
||||
|
||||
[sub_resource type="AudioStreamSynchronized" id="AudioStreamSynchronized_012pb"]
|
||||
@ -27,14 +28,6 @@ stream_1/volume = 0.0
|
||||
stream_2/stream = ExtResource("4_cv0jt")
|
||||
stream_2/volume = 0.0
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_cv0jt"]
|
||||
playback_mode = 1
|
||||
streams_count = 4
|
||||
stream_0/stream = ExtResource("2_mqw3j")
|
||||
stream_1/stream = ExtResource("3_dmkpy")
|
||||
stream_2/stream = ExtResource("6_dmkpy")
|
||||
stream_3/stream = ExtResource("4_cv0jt")
|
||||
|
||||
[sub_resource type="Animation" id="Animation_2kqht"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
@ -47,7 +40,19 @@ tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(118, 240)]
|
||||
"values": [Vector2(118, 226)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Hand:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_qedsv"]
|
||||
@ -61,16 +66,59 @@ tracks/0/path = NodePath("Hand:position")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 1.23333, 3.9, 5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"times": PackedFloat32Array(0, 1.23333, 3.9),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(118, 225), Vector2(116, 223), Vector2(116, 227), Vector2(118, 225)]
|
||||
"values": [Vector2(118, 226), Vector2(116, 223), Vector2(116, 227)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_dmkpy"]
|
||||
resource_name = "show_hand"
|
||||
length = 3.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Hand:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Hand:position")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = false
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 3),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(80, 357), Vector2(118, 226)]
|
||||
}
|
||||
tracks/2/type = "method"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("AnimationPlayer")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(3),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [&"hand_swing"],
|
||||
"method": &"play"
|
||||
}]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_dmkpy"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_2kqht"),
|
||||
&"hand_swing": SubResource("Animation_qedsv")
|
||||
&"hand_swing": SubResource("Animation_qedsv"),
|
||||
&"show_hand": SubResource("Animation_dmkpy")
|
||||
}
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_l8x8v"]
|
||||
@ -89,8 +137,8 @@ colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_dgp1q"]
|
||||
gradient = SubResource("Gradient_svv4b")
|
||||
width = 31
|
||||
height = 48
|
||||
width = 28
|
||||
height = 45
|
||||
fill = 2
|
||||
fill_from = Vector2(0.5, 0.5)
|
||||
fill_to = Vector2(1, 1)
|
||||
@ -105,8 +153,14 @@ bus = &"game_sfx"
|
||||
script = ExtResource("5_cv0jt")
|
||||
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
||||
|
||||
[node name="SfxSlide" type="AudioStreamPlayer" parent="."]
|
||||
stream = SubResource("AudioStreamRandomizer_cv0jt")
|
||||
[node name="SfxStart" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("6_cv0jt")
|
||||
bus = &"game_sfx"
|
||||
script = ExtResource("5_cv0jt")
|
||||
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
||||
|
||||
[node name="SfxPlace" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("6_e4lq6")
|
||||
bus = &"game_sfx"
|
||||
script = ExtResource("5_cv0jt")
|
||||
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
||||
@ -124,7 +178,7 @@ script = ExtResource("5_cv0jt")
|
||||
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
||||
|
||||
[node name="SfxSuccess" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("4_dmkpy")
|
||||
stream = ExtResource("9_dmkpy")
|
||||
bus = &"game_sfx"
|
||||
script = ExtResource("5_cv0jt")
|
||||
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
||||
@ -133,7 +187,6 @@ metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_dmkpy")
|
||||
}
|
||||
autoplay = "hand_swing"
|
||||
|
||||
[node name="BG" type="TextureRect" parent="."]
|
||||
anchors_preset = 15
|
||||
@ -145,19 +198,21 @@ mouse_filter = 2
|
||||
texture = ExtResource("2_12fte")
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="Hand" type="Sprite2D" parent="."]
|
||||
light_mask = 3
|
||||
position = Vector2(118, 240)
|
||||
texture = ExtResource("9_l8x8v")
|
||||
|
||||
[node name="阴影" type="PointLight2D" parent="Hand"]
|
||||
position = Vector2(8, 3)
|
||||
[node name="阴影" type="PointLight2D" parent="."]
|
||||
position = Vector2(128, 245)
|
||||
energy = 0.7
|
||||
blend_mode = 1
|
||||
range_layer_max = 10
|
||||
range_item_cull_mask = 2
|
||||
texture = SubResource("GradientTexture2D_mqw3j")
|
||||
|
||||
[node name="MarginContainer15" type="MarginContainer" parent="Hand"]
|
||||
[node name="Hand" type="Sprite2D" parent="."]
|
||||
visible = false
|
||||
light_mask = 3
|
||||
position = Vector2(118, 226)
|
||||
texture = ExtResource("9_l8x8v")
|
||||
|
||||
[node name="MarginContainer14" type="MarginContainer" parent="Hand"]
|
||||
custom_minimum_size = Vector2(20, 54)
|
||||
offset_left = -40.0
|
||||
offset_top = -6.0
|
||||
@ -168,6 +223,34 @@ size_flags_vertical = 3
|
||||
theme_override_constants/margin_top = 0
|
||||
theme_override_constants/margin_bottom = 8
|
||||
|
||||
[node name="14" type="TextureButton" parent="Hand/MarginContainer14"]
|
||||
unique_name_in_owner = true
|
||||
self_modulate = Color(0.798366, 0.798366, 0.798366, 1)
|
||||
light_mask = 3
|
||||
custom_minimum_size = Vector2(27, 47)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 2
|
||||
texture_normal = ExtResource("4_k8d28")
|
||||
ignore_texture_size = true
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="光束" type="PointLight2D" parent="Hand/MarginContainer14/14"]
|
||||
position = Vector2(13.5, 22.5)
|
||||
energy = 0.3
|
||||
range_layer_max = 10
|
||||
texture = SubResource("GradientTexture2D_dgp1q")
|
||||
|
||||
[node name="MarginContainer15" type="MarginContainer" parent="Hand"]
|
||||
custom_minimum_size = Vector2(20, 54)
|
||||
offset_left = -2.0
|
||||
offset_top = -6.0
|
||||
offset_right = 25.0
|
||||
offset_bottom = 54.0
|
||||
rotation = 0.112722
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/margin_top = 0
|
||||
theme_override_constants/margin_bottom = 8
|
||||
|
||||
[node name="15" type="TextureButton" parent="Hand/MarginContainer15"]
|
||||
unique_name_in_owner = true
|
||||
self_modulate = Color(0.798366, 0.798366, 0.798366, 1)
|
||||
@ -187,11 +270,11 @@ texture = SubResource("GradientTexture2D_dgp1q")
|
||||
|
||||
[node name="MarginContainer16" type="MarginContainer" parent="Hand"]
|
||||
custom_minimum_size = Vector2(20, 54)
|
||||
offset_left = -2.0
|
||||
offset_top = -6.0
|
||||
offset_right = 25.0
|
||||
offset_bottom = 54.0
|
||||
rotation = 0.112722
|
||||
offset_left = 28.0
|
||||
offset_top = -2.0
|
||||
offset_right = 55.0
|
||||
offset_bottom = 58.0
|
||||
rotation = 0.0818219
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/margin_top = 0
|
||||
theme_override_constants/margin_bottom = 8
|
||||
@ -213,34 +296,6 @@ energy = 0.3
|
||||
range_layer_max = 10
|
||||
texture = SubResource("GradientTexture2D_dgp1q")
|
||||
|
||||
[node name="MarginContainer17" type="MarginContainer" parent="Hand"]
|
||||
custom_minimum_size = Vector2(20, 54)
|
||||
offset_left = 28.0
|
||||
offset_top = -2.0
|
||||
offset_right = 55.0
|
||||
offset_bottom = 58.0
|
||||
rotation = 0.0818219
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/margin_top = 0
|
||||
theme_override_constants/margin_bottom = 8
|
||||
|
||||
[node name="17" type="TextureButton" parent="Hand/MarginContainer17"]
|
||||
unique_name_in_owner = true
|
||||
self_modulate = Color(0.798366, 0.798366, 0.798366, 1)
|
||||
light_mask = 3
|
||||
custom_minimum_size = Vector2(27, 47)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 2
|
||||
texture_normal = ExtResource("4_k8d28")
|
||||
ignore_texture_size = true
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="光束" type="PointLight2D" parent="Hand/MarginContainer17/17"]
|
||||
position = Vector2(13.5, 22.5)
|
||||
energy = 0.3
|
||||
range_layer_max = 10
|
||||
texture = SubResource("GradientTexture2D_dgp1q")
|
||||
|
||||
[node name="Table" type="TextureRect" parent="."]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
@ -302,23 +357,36 @@ texture = ExtResource("4_f3y72")
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="MahjongGrid" type="GridContainer" parent="Stand"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -195.0
|
||||
offset_top = 25.5
|
||||
offset_right = 196.0
|
||||
offset_bottom = 79.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
custom_minimum_size = Vector2(0, 55)
|
||||
layout_mode = 0
|
||||
offset_left = 86.0
|
||||
offset_top = 191.0
|
||||
offset_right = 477.0
|
||||
offset_bottom = 246.0
|
||||
mouse_filter = 2
|
||||
theme_override_constants/h_separation = 1
|
||||
theme_override_constants/v_separation = 0
|
||||
columns = 15
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="Stand/MahjongGrid"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="0" type="TextureButton" parent="Stand/MahjongGrid/MarginContainer"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(27, 47)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 8
|
||||
texture_normal = ExtResource("4_k8d28")
|
||||
ignore_texture_size = true
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="光束" type="PointLight2D" parent="Stand/MahjongGrid/MarginContainer/0"]
|
||||
position = Vector2(13.5, 22.5)
|
||||
energy = 0.3
|
||||
range_layer_max = 10
|
||||
texture = SubResource("GradientTexture2D_dgp1q")
|
||||
|
||||
[node name="1" type="TextureButton" parent="Stand/MahjongGrid"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(27, 47)
|
||||
@ -514,21 +582,6 @@ energy = 0.3
|
||||
range_layer_max = 10
|
||||
texture = SubResource("GradientTexture2D_dgp1q")
|
||||
|
||||
[node name="14" type="TextureButton" parent="Stand/MahjongGrid"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(27, 47)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 10
|
||||
texture_normal = ExtResource("4_k8d28")
|
||||
ignore_texture_size = true
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="光束" type="PointLight2D" parent="Stand/MahjongGrid/14"]
|
||||
position = Vector2(13.5, 22.5)
|
||||
energy = 0.3
|
||||
range_layer_max = 10
|
||||
texture = SubResource("GradientTexture2D_dgp1q")
|
||||
|
||||
[node name="遮罩" type="TextureRect" parent="."]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
|
Loading…
Reference in New Issue
Block a user