打麻将出千游戏高亮提示
This commit is contained in:
parent
832bd08443
commit
aa4a0ffd54
Binary file not shown.
Before Width: | Height: | Size: 190 KiB After Width: | Height: | Size: 197 KiB |
BIN
asset/art/scene/c03/s03_瞎子理发店/ux_镜子遮罩.png
Normal file
BIN
asset/art/scene/c03/s03_瞎子理发店/ux_镜子遮罩.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 80 KiB |
34
asset/art/scene/c03/s03_瞎子理发店/ux_镜子遮罩.png.import
Normal file
34
asset/art/scene/c03/s03_瞎子理发店/ux_镜子遮罩.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://gan7qq0i7uiw"
|
||||
path="res://.godot/imported/ux_镜子遮罩.png-0dd6b96863a6b256a2eae5a1d3ec8f65.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://asset/art/scene/c03/s03_瞎子理发店/ux_镜子遮罩.png"
|
||||
dest_files=["res://.godot/imported/ux_镜子遮罩.png-0dd6b96863a6b256a2eae5a1d3ec8f65.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
|
@ -177,3 +177,78 @@
|
||||
瞎子: 这种事情就算我晓得,也不好教你们去害人的。
|
||||
瞎子: 你们好跑了,我还要去问问告示都贴完了伐,不够的闲话还要再写两张...
|
||||
=> END
|
||||
|
||||
~ c03_s05_肉铺隔门板偷听
|
||||
陆仁: 咦?哪能没开门?不应该啊...
|
||||
陆仁: 张老板?张老板?
|
||||
陆仁: ...
|
||||
陆仁: 算了,有可能人家办事去了,咱们过两天再来伐。
|
||||
小小蝶: 老板就在店里厢呀。
|
||||
陆仁: 侬这孩子,啥人讲给你听的?
|
||||
小小蝶: 喏,是它讲的呀。
|
||||
小小蝶: 侬要是不相信么,我现在就问问它,老板到底在啥地方...
|
||||
小小蝶: ...
|
||||
小小蝶: 爸爸,它讲,它晓得小蝉在啥地方。
|
||||
陆仁: 侬覅、(深吸一口气)这种鬼出莫辩(句测老逼)的事情伐好瞎讲的,听到了伐!
|
||||
=> END
|
||||
|
||||
|
||||
~ c03_胖子游戏对白
|
||||
探子: 侬哪能又来了。
|
||||
肉铺胖子: 侬在看啥?
|
||||
探子: 看人家过河帮,吃力(撒度)了就算算加减法。
|
||||
肉铺胖子: 格搭除了我们,啥还有其他人阿?
|
||||
探子: 文开呀,人家都讲你港,讲的真的一点不错。
|
||||
探子: 他们就是老早死在河帮里厢的人呀!
|
||||
探子: 要不是你们拦了嘿,他们老早就跑掉了。
|
||||
肉铺胖子: 跑?跑到啥方去啊?
|
||||
探子: 跑到外地去,讲不定就死不掉了呢。
|
||||
肉铺胖子: ...侬跟他们不一样。
|
||||
探子: 对额!想当初侬一记头就看出来我是细作。
|
||||
探子: 侬有点小聪明的,想拿我抓回去,也好吃顿饱饭。
|
||||
探子: 不过侬太年轻、人么又瘦,就这样一趟翻身的机会侬浪费掉了。
|
||||
探子: 但是要我讲哦,最最重要的是啥东西侬晓得哇...
|
||||
肉铺胖子: 要讲就讲,别装模作样。
|
||||
探子: 侬跟他们一样,这条河帮你也过不过去的。
|
||||
探子: 作孽啊...
|
||||
=> END
|
||||
|
||||
|
||||
#【玩家⾛近,触发演出对白:陆仁坐倒在地咳⾎,⼩⼩蝶和陆仁对话(关于陆仁近期身体越来越差,⼩⼩蝶关⼼陆仁身体,再次提到⼩猫玩具上的⼩⻤,觉得⼩⻤已经附身在了⾃⼰身上,让⾃⼰变重才导致陆仁背不动⾃⼰,陆仁扯开话题),随后两⼈⾛向玩家⽅向,和玩家擦肩⽽过。(玩家碎碎念:设定好时⻓,在陆仁⾛⾄玩家身后时正好碎碎念⾄“爸爸”,陆仁停顿,微微侧头,然后离开,演出结束。)】
|
||||
~ c03_三楼陆仁演出
|
||||
陆仁: 咳...嗬...咳咳...(咳嗽)
|
||||
小小蝶: 爸爸!侬、侬哪能...
|
||||
陆仁: 爸爸越来越没用了。
|
||||
陆仁: 现在连的侬都背不动...
|
||||
小小蝶: 伐是的!
|
||||
小小蝶: 肯定是、是因为这玩具里厢的小鬼太重了!它老是要跑到我身高头来,所以才会的这幅样子!
|
||||
陆仁: 还瞎讲!
|
||||
陆仁: 侬在瞎三话四滴啥东西?要是让人家听到了,又要讲咱们哪能哪能了...
|
||||
小小蝶: 我...
|
||||
陆仁: 我吃力了,侬来搭把手,我到里厢坐特些。
|
||||
吕萍: 爸爸...
|
||||
吕萍: 侬还在此地伐?
|
||||
=> END
|
||||
|
||||
|
||||
~ c03_结尾回忆小蝶和小婵
|
||||
小小蝶: 喏,侬的玻璃弹子,我帮侬拿回来了。
|
||||
小蝉: 谢谢。
|
||||
小小蝶: 你的弹子老好看的,我从来没看到过这种样子的。
|
||||
小蝉: ...侬要欢喜,我就送给侬。
|
||||
小小蝶: 谢谢侬,但是我(阿拉)爸不让我玩这个。
|
||||
小小蝶: 他老是讲小姑娘要文一点,要有小姑娘的样子,其实...我玻璃弹子打的比他们好的多呢。
|
||||
小小蝶: ...你(呐)爸爸呢?
|
||||
小蝉: 嗯...他蛮好的。
|
||||
小小蝶: 他管侬管的紧哇,是不是经常会的讲‘都是为了侬好’这种闲话啊?
|
||||
小蝉: 有时候(辰光)会的,他蛮吓人的。
|
||||
小蝉: 我、我不想惹(za)他不开心。
|
||||
小小蝶: 还是当大人好。等我们长大了,就没人再讲咱们是一懂不懂的小朋友了。
|
||||
小小蝶: 到那个时候,我欢喜撒就组撒、伐想组就伐组,彻底解放了!
|
||||
小蝉: 真好啊。
|
||||
小小蝶: 诶,我马上就要过生日了!侬想...咦,妈妈,侬哪能来了?
|
||||
小小蝶: 那个,这是我刚刚认识的好朋友,她叫、她叫...
|
||||
小蝉: 我叫方小蝉。
|
||||
小蝉: 阿姨,你们是伐是要回起吃饭啦,我爸爸...等些阿要叫我回起了。
|
||||
小蝉: 再、再见。
|
||||
=> END
|
||||
|
@ -107,15 +107,6 @@ texture = ExtResource("15_r0k7c")
|
||||
position = Vector2(64, 46)
|
||||
texture = ExtResource("16_4umel")
|
||||
|
||||
[node name="床上死人" type="Sprite2D" parent="Ground/DeployLayer/Event2D香炉"]
|
||||
position = Vector2(145, 48)
|
||||
|
||||
[node name="Label" type="Label" parent="Ground/DeployLayer/Event2D香炉/床上死人"]
|
||||
offset_left = -49.0
|
||||
offset_right = 51.0
|
||||
offset_bottom = 14.0
|
||||
text = "【此处应有弟弟尸体】"
|
||||
|
||||
[node name="Closeup李氏纸人" parent="Ground/DeployLayer" index="7" instance=ExtResource("6_dbkw8")]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(372, 40)
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://6ehb3ux2kilu"]
|
||||
[gd_scene load_steps=9 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" path="res://scene/ground/scene/c03/s05_肉铺.gd" id="2_l22xv"]
|
||||
@ -6,6 +6,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://ccl8ud5hbuq1r" path="res://asset/art/scene/c03/s05_肉铺/bg_肉铺内背景.png" id="4_ip0og"]
|
||||
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_r4bhp"]
|
||||
[ext_resource type="Texture2D" uid="uid://c5oth3mdxrnby" path="res://asset/art/scene/c03/s05_肉铺/fg_肉铺内前景.png" id="5_l22xv"]
|
||||
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="6_r4bhp"]
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
||||
|
||||
@ -52,6 +53,13 @@ target_scene = "c03_s07"
|
||||
target_portal = "left"
|
||||
status = "opened"
|
||||
|
||||
[node name="Ambush偷听门板" parent="Ground/DeployLayer" index="2" instance=ExtResource("6_r4bhp")]
|
||||
position = Vector2(291, 18)
|
||||
trigger_mode = "interact"
|
||||
collision_width_and_x = Vector2(61.48, 0)
|
||||
hook_dialogue_res = "c03"
|
||||
hook_dialogue_title = "c03_s05_肉铺隔门板偷听"
|
||||
|
||||
[node name="MainPlayer" parent="Ground" index="5"]
|
||||
position = Vector2(63, 95)
|
||||
catty_light_energy = 0.5
|
||||
|
@ -181,7 +181,7 @@ updater_stages = Array[int]([0])
|
||||
metadata/_custom_type_script = "uid://0wjaho6qkg6s"
|
||||
|
||||
[node name="Ambush偷听" parent="Ground/DeployLayer" index="6" instance=ExtResource("12_73c8v")]
|
||||
position = Vector2(532, 33)
|
||||
position = Vector2(531, 18)
|
||||
trigger_mode = "interact"
|
||||
hook_dialogue_res = "c03"
|
||||
hook_dialogue_title = "c03_s08_囚室偷听"
|
||||
|
@ -1,10 +1,10 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://bnoqhovb0wjem"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://xyswrst2qvnv" path="res://scene/ground/script/c03/s03_closeup镜子特写.gd" id="1_l7eke"]
|
||||
[ext_resource type="Script" path="res://scene/ground/script/c03/s03_closeup镜子特写.gd" id="1_l7eke"]
|
||||
[ext_resource type="Texture2D" uid="uid://cv43fc0yphoyh" path="res://asset/art/scene/c03/s03_瞎子理发店/ux_镜子特写_脸.png" id="2_h11vl"]
|
||||
[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="2_x88e4"]
|
||||
[ext_resource type="PackedScene" uid="uid://bg7oictr1wgex" path="res://scene/little_game/general/draggable.tscn" id="4_pmhbo"]
|
||||
[ext_resource type="Texture2D" uid="uid://dri7gy7janvim" path="res://asset/art/scene/c03/s03_瞎子理发店/ux_镜子特写_红绳麻将.png" id="5_l7eke"]
|
||||
[ext_resource type="Texture2D" uid="uid://gan7qq0i7uiw" path="res://asset/art/scene/c03/s03_瞎子理发店/ux_镜子遮罩.png" id="5_pmhbo"]
|
||||
|
||||
[node name="Closeup镜子特写" type="CanvasLayer"]
|
||||
script = ExtResource("1_l7eke")
|
||||
@ -17,15 +17,6 @@ grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("2_h11vl")
|
||||
|
||||
[node name="遮罩" type="TextureRect" parent="."]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
texture = ExtResource("2_x88e4")
|
||||
|
||||
[node name="Draggable2D麻绳" parent="." instance=ExtResource("4_pmhbo")]
|
||||
position = Vector2(122, 78)
|
||||
act_as_button = true
|
||||
@ -33,3 +24,12 @@ texture = ExtResource("5_l7eke")
|
||||
|
||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Draggable2D麻绳"]
|
||||
polygon = PackedVector2Array(5, -83.5, -4, -83.5, -4, 36.5, -9.8, 36.5, -13.8, 40.5, -15, 40.5, -15, 79.6, -14.5, 79.9, -13.7, 79, -13.1, 83.5, -2.8, 83.5, -4, 81, -4, 80.3, 14.2, 78.5, 15, 78.5, 15, 37.4, 7, 36.6, 7, -79.7, 5, -80.8)
|
||||
|
||||
[node name="遮罩" type="TextureRect" parent="."]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
texture = ExtResource("5_pmhbo")
|
||||
|
@ -29,7 +29,6 @@ var mahjongs = {
|
||||
# 替换后会从数组中移除
|
||||
@onready var holding_mahjongs_btn_dict: Dictionary[int, TextureButton] = {14: %"14", 15: %"15", 16: %"16"}
|
||||
|
||||
|
||||
var current_round := 0
|
||||
# 回合1-4摸牌:3万、2万、1条、2筒(胜利)
|
||||
var dispatched_card_per_round: Array[String] = ["万3", "万2", "条1", "筒2"]
|
||||
@ -41,6 +40,9 @@ var standing_cards: Array[String] = ["筒7", "筒8", "风南", "条1", "条2", "
|
||||
# 赖子手在左下角桌子下,手中为三个麻将,5万、3条、9筒
|
||||
var holding_cards_dict: Dictionary[int, String] = {14: "万5", 15: "条3", 16: "筒9"}
|
||||
|
||||
# 前三回合,对话结束后,等待一段时间给出提示(提示为高亮桌面需要打出的牌面)
|
||||
var tip_wait_time = [10.0, 20.0, 30.0]
|
||||
|
||||
var freezing = true:
|
||||
set(val):
|
||||
if freezing != val:
|
||||
@ -158,6 +160,8 @@ func _start_game() -> void:
|
||||
await tween.finished
|
||||
freezing = false
|
||||
_play_dialogue_with_update_stage(2)
|
||||
_load_tip(2)
|
||||
|
||||
|
||||
|
||||
func _play_dialogue_with_update_stage(stage: int):
|
||||
@ -208,6 +212,7 @@ func _exchange_texture_and_card(btn1: TextureButton, btn2: TextureButton) -> voi
|
||||
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:
|
||||
_skip_tip()
|
||||
useless_cards.erase(require_replacing_card)
|
||||
useless_cards.erase(require_dealing_card)
|
||||
_toggle_hightlight_for_all(false)
|
||||
@ -268,6 +273,7 @@ func _next_round() -> void:
|
||||
# 对话结束后,开始第二回合
|
||||
await _await_dialog(3)
|
||||
_play_dialogue_with_update_stage(4)
|
||||
_load_tip(4)
|
||||
elif current_round == 2:
|
||||
# 第二回合结束
|
||||
await _await_dialog(4)
|
||||
@ -275,6 +281,7 @@ func _next_round() -> void:
|
||||
# 对话结束后,开始第三回合
|
||||
await _await_dialog(5)
|
||||
_play_dialogue_with_update_stage(6)
|
||||
_load_tip(6)
|
||||
elif current_round == 3:
|
||||
# 第三回合结束
|
||||
await _await_dialog(6)
|
||||
@ -298,11 +305,67 @@ func _next_round() -> void:
|
||||
else:
|
||||
freezing = false
|
||||
|
||||
# dialog stage 结束后开始计时, 而不是回合开始就计时
|
||||
# 所以需要关联到对应对话 stage
|
||||
func _load_tip(stage: int) -> void:
|
||||
if _last_dialog_updated.is_connected(_counting_down_tip):
|
||||
_last_dialog_updated.disconnect(_counting_down_tip)
|
||||
_last_dialog_updated.connect(_counting_down_tip.bind(stage))
|
||||
|
||||
var tip_tween: Tween
|
||||
|
||||
func _counting_down_tip(stage: int) -> void:
|
||||
# 对话阶段还没到
|
||||
if _last_dialog_stage < stage:
|
||||
return
|
||||
# 对话阶段已到
|
||||
if _last_dialog_stage >= stage:
|
||||
if _last_dialog_updated.is_connected(_counting_down_tip):
|
||||
_last_dialog_updated.disconnect(_counting_down_tip)
|
||||
# 对话阶段正好,开始计时
|
||||
if _last_dialog_stage == stage:
|
||||
if tip_tween and tip_tween.is_running():
|
||||
tip_tween.kill()
|
||||
if current_round >= 3:
|
||||
printerr("Warning: current_round >= 3, should not display tip.")
|
||||
return
|
||||
var wait_time = tip_wait_time[current_round]
|
||||
if GlobalConfig.DEBUG:
|
||||
SceneManager.pop_debug_dialog_info("Tip", "debug等待5秒进行提示,正常模式下等待" + str(wait_time) + "秒")
|
||||
wait_time = 5
|
||||
tip_tween = create_tween()
|
||||
tip_tween.tween_interval(wait_time)
|
||||
tip_tween.tween_callback(_display_tip)
|
||||
|
||||
|
||||
func _display_tip() -> void:
|
||||
var hight_light_btns: Array[TextureButton] = []
|
||||
for useless in useless_cards:
|
||||
var id = standing_cards.find(useless)
|
||||
if id > 0:
|
||||
var btn = standing_mahjongs_btn[id]
|
||||
hight_light_btns.append(btn)
|
||||
btn.get_node("光束").enabled = true
|
||||
await Util.wait(2.0)
|
||||
for btn in hight_light_btns:
|
||||
# 未在 hightlight 状态
|
||||
if not btn.get_meta("hightlighting", false):
|
||||
btn.get_node("光束").enabled = false
|
||||
|
||||
|
||||
func _skip_tip() -> void:
|
||||
if tip_tween and tip_tween.is_running():
|
||||
tip_tween.kill()
|
||||
if _last_dialog_updated.is_connected(_counting_down_tip):
|
||||
_last_dialog_updated.disconnect(_counting_down_tip)
|
||||
|
||||
|
||||
func _toggle_hightlight(btn: TextureButton, hightlight: bool) -> void:
|
||||
if null == btn:
|
||||
return
|
||||
btn.get_node("光束").enabled = hightlight
|
||||
# 记录 hightlight 状态
|
||||
btn.set_meta("hightlighting", hightlight)
|
||||
|
||||
|
||||
func _toggle_hightlight_for_all(hightlighted: bool) -> void:
|
||||
|
Loading…
Reference in New Issue
Block a user