二七王:群组 206 改名为主牌统计条,与 design §8.2 的「亮牌」消歧义
群组 206 原名「亮牌条 / LIANGPAI_BAR」,但它的实际用途与坐标 (35,400) 对应的是 清单 §2.5「自己的主牌统计条」——手牌上方显示 x对 x主、前端本地统计、有手牌时常显。 而 design §8.2 真正的「亮牌」是庄家埋牌后向两个闲家亮出自己全部固定主牌的具体牌面, 走遮罩面板(群组 242,复用 HIST_* 精灵)。清单 §0.0 专门用一节区分「亮牌 / 余主公示 / 明牌 / 开底」四类公开信息,名字撞车极易把渲染写到错误的界面上。 统一改名(ID 一律不变,只改名字): - 群组 EQW_Groups.LIANGPAI_BAR → ZHU_STAT_BAR (206) - View EQW_Sprites.LiangPaiView → ZhuStatView,容器 LiangPaiBar → ZhuStatBar - 精灵 LIANGPAI_BG/_TEXT (1030/1031) → ZHU_STAT_BG / ZHU_STAT_TEXT - 布局 EQW_Layout.LIANGPAI_BG → ZHU_STAT_BG - 资源 EQW_Images.BAR_LIANGPAI → BAR_ZHU_STAT (605) 同步清单 §0.0 / §0.3 群组表与号段表 / §1.6 / §2.5 / §3.5 / §3.6 / §5.1 / §5.7b / §6.5 / §7.2 T-9 / §7.3 第 5 条,并在 §0.3 群组表下加修订说明(2026-08-27 + 缘由)。 一并订正清单 §1.6 的一处笔误:收到 liangpai 时应弹出亮牌遮罩面板(群组 242), 原文写的是「渲染 §2.5 亮牌信息条」——正是同名异实造成的串位。 EQW_Anim.LIANGPAI_AUTO_CLOSE 属真正的亮牌面板,保持原名,仅补注释说明归属。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -18,7 +18,9 @@ var EQW_Anim = EQW_Anim || {
|
|||||||
//即时反馈提示条自动消失(清单 §6.8)
|
//即时反馈提示条自动消失(清单 §6.8)
|
||||||
TOAST_DURATION: 1500,
|
TOAST_DURATION: 1500,
|
||||||
|
|
||||||
//亮牌面板自动关闭(清单 §1.6 T-34:只按时长关闭,不做点击关闭)。
|
//亮牌【遮罩面板】自动关闭(清单 §1.6 T-34:只按时长关闭,不做点击关闭)——
|
||||||
|
//这里的「亮牌」是 design §8.2 那件事(群组 242,复用 HIST_* 精灵),
|
||||||
|
//与群组 206 的主牌统计条(ZHU_STAT_*,2026-08-27 前也叫「亮牌条」)无关。
|
||||||
//清单原文时长「默认值待定」,此处沿用与开底展示同数量级的 3 秒作为起始估值,设计定稿后回填
|
//清单原文时长「默认值待定」,此处沿用与开底展示同数量级的 3 秒作为起始估值,设计定稿后回填
|
||||||
LIANGPAI_AUTO_CLOSE: 3000,
|
LIANGPAI_AUTO_CLOSE: 3000,
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,10 @@ var EQW_Groups = EQW_Groups || {
|
|||||||
P_LEFT_MARK: 202, // 左上家附加标记(庄印章、主N对N、状态文字)
|
P_LEFT_MARK: 202, // 左上家附加标记(庄印章、主N对N、状态文字)
|
||||||
P_RIGHT_MARK: 203, // 右上家附加标记(庄印章、主N对N、状态文字)
|
P_RIGHT_MARK: 203, // 右上家附加标记(庄印章、主N对N、状态文字)
|
||||||
P_SELF_MARK: 204, // 自己附加标记(庄印章、主N对N、状态文字)
|
P_SELF_MARK: 204, // 自己附加标记(庄印章、主N对N、状态文字)
|
||||||
FOOTER: 205, // 底栏功能按钮组(明牌 / 已出牌 / 上一轮 / 底牌)
|
FOOTER: 205, // 底栏功能按钮组(明牌 / 已出牌 / 上一轮 / 扣底 / 底牌)
|
||||||
LIANGPAI_BAR: 206, // 亮牌信息条
|
ZHU_STAT_BAR: 206, // 自己的主牌统计条(手牌上方「x对 x主」,本地统计,清单 §2.5)
|
||||||
|
// ⚠ 2026-08-27 由 LIANGPAI_BAR 改名:它【不是】design §8.2 的「亮牌」——
|
||||||
|
// 那是庄家向闲家亮出固定主牌的具体牌面,走遮罩面板(群组 242),两者同名异实
|
||||||
|
|
||||||
HAND: 210, // 自己手牌
|
HAND: 210, // 自己手牌
|
||||||
BOTTOM_CARDS: 211, // 底牌区(发牌留桌 8 张)
|
BOTTOM_CARDS: 211, // 底牌区(发牌留桌 8 张)
|
||||||
|
|||||||
@@ -225,11 +225,12 @@ var EQW_Images = EQW_Images || {
|
|||||||
//尺寸:425×50
|
//尺寸:425×50
|
||||||
BAR_CHOOSE_MAIN: 604,
|
BAR_CHOOSE_MAIN: 604,
|
||||||
|
|
||||||
//用途:亮牌信息条底(半透圆角)
|
//用途:自己的主牌统计条底(半透圆角,手牌上方「x对 x主」)
|
||||||
//帧数:1
|
//帧数:1
|
||||||
//帧说明:(无)
|
//帧说明:(无)
|
||||||
//尺寸:210×35
|
//尺寸:210×35
|
||||||
BAR_LIANGPAI: 605,
|
//2026-08-27 由 BAR_LIANGPAI 改名:与 design §8.2 的「亮牌」同名异实(后者是遮罩面板),见清单 §0.0
|
||||||
|
BAR_ZHU_STAT: 605,
|
||||||
|
|
||||||
//用途:结算底牌区面板底
|
//用途:结算底牌区面板底
|
||||||
//帧数:1
|
//帧数:1
|
||||||
|
|||||||
@@ -36,8 +36,9 @@ EQW_Layout.TOP_GRADE_BADGE_BG = {
|
|||||||
corner: 'topRight', offsetX: 4, offsetY: 6, w: 34, h: 18
|
corner: 'topRight', offsetX: 4, offsetY: 6, w: 34, h: 18
|
||||||
};
|
};
|
||||||
|
|
||||||
//亮牌信息条
|
//自己的主牌统计条(手牌上方「x对 x主」,群组 206)。
|
||||||
EQW_Layout.LIANGPAI_BG = { kind: 'point', x: 35, y: 400, w: 210, h: 35 };
|
//2026-08-27 由 LIANGPAI_BG 改名:与 design §8.2 的「亮牌」同名异实,后者是遮罩面板(群组 242)
|
||||||
|
EQW_Layout.ZHU_STAT_BG = { kind: 'point', x: 35, y: 400, w: 210, h: 35 };
|
||||||
|
|
||||||
//底栏条
|
//底栏条
|
||||||
EQW_Layout.FOOTER_BG = { kind: 'point', x: 0, y: 648, w: 1280, h: 72 };
|
EQW_Layout.FOOTER_BG = { kind: 'point', x: 0, y: 648, w: 1280, h: 72 };
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ EQW_Sprites.TopInfoView = {
|
|||||||
* - 庄印章: 数据取 shangzhuang.banker / aset.banker,三家三个独立精灵、按 banker 显隐其一。
|
* - 庄印章: 数据取 shangzhuang.banker / aset.banker,三家三个独立精灵、按 banker 显隐其一。
|
||||||
* - 主N / 对N 角标: 数据取 seatlist[seat][4] = [剩余主牌数, 剩余主对数];
|
* - 主N / 对N 角标: 数据取 seatlist[seat][4] = [剩余主牌数, 剩余主对数];
|
||||||
* 【仅可查牌模式 + 场上已有人报无主】才出现,初始 [-1,-1] 时隐藏;不可查牌模式下永不出现。
|
* 【仅可查牌模式 + 场上已有人报无主】才出现,初始 [-1,-1] 时隐藏;不可查牌模式下永不出现。
|
||||||
* 自己没有这组角标——自己的主/对数在手牌区旁的统计条上已经可见(见 LiangPaiView)。
|
* 自己没有这组角标——自己的主/对数在手牌区旁的统计条上已经可见(见 ZhuStatView)。
|
||||||
* - 状态文字: 叫分阶段显示「60分」(金) / 「不叫」(白),进入选主后清空;
|
* - 状态文字: 叫分阶段显示「60分」(金) / 「不叫」(白),进入选主后清空;
|
||||||
* 样式 EQW_Layout.TEXT_STYLE.STATUS_BIG (46px 白字居中)。自己(204)也有一个状态文字精灵
|
* 样式 EQW_Layout.TEXT_STYLE.STATUS_BIG (46px 白字居中)。自己(204)也有一个状态文字精灵
|
||||||
* P_SELF_STATUS_TEXT(1121),但清单 §6.6 未给它独立坐标(自己叫的分显示在中央大字区)。
|
* P_SELF_STATUS_TEXT(1121),但清单 §6.6 未给它独立坐标(自己叫的分显示在中央大字区)。
|
||||||
@@ -178,22 +178,22 @@ EQW_Sprites.PlayerMarkView = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// 手牌上方的统计信息条 - Layer 101 (TABLE_STATIC), Group 206 (LIANGPAI_BAR)
|
// 手牌上方的主牌统计条 - Layer 101 (TABLE_STATIC), Group 206 (ZHU_STAT_BAR)
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 亮牌 / 主牌统计信息条 - LiangPaiView
|
* 自己的主牌统计条 - ZhuStatView
|
||||||
*
|
*
|
||||||
* 用途: 手牌区【上方偏左】的一条半透明圆角小条,显示一行统计文案。
|
* 用途: 手牌区【上方偏左】的一条半透明圆角小条,显示一行统计文案。
|
||||||
*
|
*
|
||||||
* 布局说明(参考图 docs_dev/uiref/等待叫分.png 左侧「主牌对子: 1对」那条;
|
* 布局说明(参考图 docs_dev/uiref/等待叫分.png 左侧「主牌对子: 1对」那条;
|
||||||
* 位置见 EQW_Layout.LIANGPAI_BG = point(35, 400, 210×35)):
|
* 位置见 EQW_Layout.ZHU_STAT_BG = point(35, 400, 210×35)):
|
||||||
*
|
*
|
||||||
* x=35 x=245
|
* x=35 x=245
|
||||||
* ┌──────────────────────────────┐ y=400
|
* ┌──────────────────────────────┐ y=400
|
||||||
* │ 主牌对子: 1对 │ ← LIANGPAI_TEXT(1031),居中白字
|
* │ 主牌对子: 1对 │ ← ZHU_STAT_TEXT(1031),居中白字
|
||||||
* └──────────────────────────────┘ y=435
|
* └──────────────────────────────┘ y=435
|
||||||
* ↑ LIANGPAI_BG(1030) 半透圆角条底,210×35
|
* ↑ ZHU_STAT_BG(1030) 半透圆角条底,210×35
|
||||||
* ┌──────────────────────────────────────────────────── … ─┐ y=455
|
* ┌──────────────────────────────────────────────────── … ─┐ y=455
|
||||||
* │ 自己手牌区(单排) │
|
* │ 自己手牌区(单排) │
|
||||||
* └──────────────────────────────────────────────────── … ─┘ y=645
|
* └──────────────────────────────────────────────────── … ─┘ y=645
|
||||||
@@ -204,28 +204,31 @@ EQW_Sprites.PlayerMarkView = {
|
|||||||
* - 文案为【前端据 flower 本地统计自己手牌】得出,不需要服务端下发,也不受查牌模式与
|
* - 文案为【前端据 flower 本地统计自己手牌】得出,不需要服务端下发,也不受查牌模式与
|
||||||
* 报无主影响;有手牌时始终显示。文案格式暂定「x对 x主」(清单 §7.2 T-9 未定案,
|
* 报无主影响;有手牌时始终显示。文案格式暂定「x对 x主」(清单 §7.2 T-9 未定案,
|
||||||
* 参考图写的是「主牌对子: 1对」)——文案进配置,不在代码里写死字符串。
|
* 参考图写的是「主牌对子: 1对」)——文案进配置,不在代码里写死字符串。
|
||||||
* - 【命名待统一】本 View 与 EQW_Groups.LIANGPAI_BAR、清单 §5.1 都叫「亮牌条」,
|
* - 【命名已统一 · 2026-08-27】本 View、EQW_Groups.ZHU_STAT_BAR 与清单 §5.1 原先都叫
|
||||||
* 但它的位置(x35 y400)与用途对应的是清单 §2.5 的「自己的主牌统计条」;
|
* 「亮牌条 / LIANGPAI_*」,与 design §8.2 的「亮牌」【同名异实】,极易写错地方,故改名。
|
||||||
* §1.6 的「亮牌」(庄家向闲家亮固定主牌)走的是遮罩面板、复用 §5.7b 的 HistoryView 精灵,
|
* 两者的区别(清单 §0.0 专节区分四类「公开信息」):
|
||||||
* 与本条不是一回事。两者不要混用,命名以清单定案为准。
|
* 本条(群组 206)—— 自己的主牌【数量】统计,本地算、有手牌就常显,不属"公开信息"
|
||||||
|
* 亮牌(群组 242)—— 庄家埋牌后向两个闲家亮出自己全部固定主牌的【具体牌面】,
|
||||||
|
* 走遮罩面板(复用 HistoryView 精灵,见 Sprites_Result.js),
|
||||||
|
* 数据来自 maipai 包的 liangpai.cards
|
||||||
*
|
*
|
||||||
* 资源说明:
|
* 资源说明:
|
||||||
* - 条底: EQW_Images.BAR_LIANGPAI (605), 1 帧, 210×35, 半透明圆角
|
* - 条底: EQW_Images.BAR_ZHU_STAT (605), 1 帧, 210×35, 半透明圆角
|
||||||
*
|
*
|
||||||
* 精灵ID分配: 1030–1031(群组 206)
|
* 精灵ID分配: 1030–1031(群组 206)
|
||||||
*
|
*
|
||||||
* @see docs_dev/二七王-UI资源与精灵清单.md §2.5 自己的主牌统计 + 余主公示 / §5.1
|
* @see docs_dev/二七王-UI资源与精灵清单.md §2.5 自己的主牌统计 + 余主公示 / §5.1 / §0.0
|
||||||
* @see docs_dev/uiref/等待叫分.png
|
* @see docs_dev/uiref/等待叫分.png
|
||||||
*/
|
*/
|
||||||
//亮牌信息条(清单 §5.1 群组 206)
|
//自己的主牌统计条(清单 §5.1 群组 206;非 design §8.2 的「亮牌」)
|
||||||
EQW_Sprites.LiangPaiView = {
|
EQW_Sprites.ZhuStatView = {
|
||||||
Layer: EQW_Layers.TABLE_STATIC, //101
|
Layer: EQW_Layers.TABLE_STATIC, //101
|
||||||
|
|
||||||
LiangPaiBar: {
|
ZhuStatBar: {
|
||||||
id: EQW_Groups.LIANGPAI_BAR, //206
|
id: EQW_Groups.ZHU_STAT_BAR, //206
|
||||||
|
|
||||||
LIANGPAI_BG: 1030, //图片:半透圆角条,资源 EQW_Images.BAR_LIANGPAI
|
ZHU_STAT_BG: 1030, //图片:半透圆角条,资源 EQW_Images.BAR_ZHU_STAT
|
||||||
LIANGPAI_TEXT: 1031 //文字:亮牌统计文案
|
ZHU_STAT_TEXT: 1031 //文字:自己主牌统计文案「x对 x主」
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
+21
-14
@@ -86,7 +86,7 @@
|
|||||||
|
|
||||||
> **「亮主」不是术语**——它是**选主界面的标题文案**(庄家选主牌花色那一步,见 `亮主.png`),与上表四项都无关。文档与代码里不要拿它指代任何规则。
|
> **「亮主」不是术语**——它是**选主界面的标题文案**(庄家选主牌花色那一步,见 `亮主.png`),与上表四项都无关。文档与代码里不要拿它指代任何规则。
|
||||||
>
|
>
|
||||||
> 另:**自己**的主牌统计条(手牌上方 `x对 x主`,§2.5)**不属于上表任何一项**——那是本地统计、始终显示,不涉及"公开"。
|
> 另:**自己**的主牌统计条(手牌上方 `x对 x主`,§2.5)**不属于上表任何一项**——那是本地统计、始终显示,不涉及"公开"。它在代码里叫 `ZHU_STAT_*`(群组 206);**2026-08-27 前叫 `LIANGPAI_*`,因与上表第一项「亮牌」同名异实而改名**,见 §0.3 群组表下的修订说明。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -179,7 +179,7 @@ get_nextseat: function(seat){ return (seat + 1) % 3; }
|
|||||||
|
|
||||||
| 图层 | 名称 | 用途 |
|
| 图层 | 名称 | 用途 |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| **101** | `EQW_Table_Static` | 牌桌常驻:顶部信息条、玩家位附加标记、亮牌信息条、底栏(局数 + 功能钮) |
|
| **101** | `EQW_Table_Static` | 牌桌常驻:顶部信息条、玩家位附加标记、**主牌统计条**、底栏(局数 + 功能钮) |
|
||||||
| **102** | `EQW_Hand` | 自己手牌区(单排 / 埋牌双排) |
|
| **102** | `EQW_Hand` | 自己手牌区(单排 / 埋牌双排) |
|
||||||
| **103** | `EQW_TableCards` | 桌面牌:底牌区、三家已出牌区、埋牌底牌展示区 |
|
| **103** | `EQW_TableCards` | 桌面牌:底牌区、三家已出牌区、埋牌底牌展示区 |
|
||||||
| **104** | `EQW_Action` | 阶段操作区:叫分面板、选主/投降面板、埋牌/出牌操作条、倒计时 |
|
| **104** | `EQW_Action` | 阶段操作区:叫分面板、选主/投降面板、埋牌/出牌操作条、倒计时 |
|
||||||
@@ -199,7 +199,7 @@ get_nextseat: function(seat){ return (seat + 1) % 3; }
|
|||||||
| 201 | 顶部信息条(主 / 叫分 / 抓分) |
|
| 201 | 顶部信息条(主 / 叫分 / 抓分) |
|
||||||
| 202 / 203 / 204 | 左上家 / 右上家 / 自己 的附加标记(庄印章、主N对N、状态文字) |
|
| 202 / 203 / 204 | 左上家 / 右上家 / 自己 的附加标记(庄印章、主N对N、状态文字) |
|
||||||
| 205 | 底栏功能按钮组(明牌 / 已出牌 / 上一轮 / 底牌) |
|
| 205 | 底栏功能按钮组(明牌 / 已出牌 / 上一轮 / 底牌) |
|
||||||
| 206 | 亮牌信息条 |
|
| 206 | **主牌统计条**(自己的 `x对 x主`,§2.5)—— 常量名 `ZHU_STAT_BAR` |
|
||||||
| 210 | 自己手牌 |
|
| 210 | 自己手牌 |
|
||||||
| 211 | 底牌区(发牌留桌 8 张) |
|
| 211 | 底牌区(发牌留桌 8 张) |
|
||||||
| 212 / 213 / 214 | 自己 / 左上家 / 右上家 的已出牌区 |
|
| 212 / 213 / 214 | 自己 / 左上家 / 右上家 的已出牌区 |
|
||||||
@@ -216,11 +216,15 @@ get_nextseat: function(seat){ return (seat + 1) % 3; }
|
|||||||
| 243 | 明牌面板 |
|
| 243 | 明牌面板 |
|
||||||
| 250 | 建房规则选项 |
|
| 250 | 建房规则选项 |
|
||||||
|
|
||||||
|
> **2026-08-27 修订 · 群组 206 改名**:原名「亮牌信息条 / `LIANGPAI_BAR`」,实为 §2.5 的**自己的主牌统计条**(手牌上方 `x对 x主`,本地统计、有手牌时常显),与 design §8.2 的「**亮牌**」(庄家埋牌后向两个闲家亮出自己全部固定主牌的**具体牌面**,走遮罩面板、群组 242)**同名异实**——§0.0 已专门花一节区分「亮牌 / 余主公示 / 明牌 / 开底」四类公开信息,名字撞车极易把渲染写到错误的界面上。
|
||||||
|
> 故统一改名为**主牌统计条**:群组 `ZHU_STAT_BAR`、精灵 `ZHU_STAT_BG` / `ZHU_STAT_TEXT`、布局节点 `ZHU_STAT_BG`、图片资源 `BAR_ZHU_STAT`(605,ID 不变)。
|
||||||
|
> 「亮牌」一词自此**只指** design §8.2 的那件事(协议字段 `liangpai`、群组 242、`EQW_Anim.LIANGPAI_AUTO_CLOSE`),不再指本条。
|
||||||
|
|
||||||
#### 精灵(Sprite,1001–2999)
|
#### 精灵(Sprite,1001–2999)
|
||||||
|
|
||||||
| 号段 | 用途 | 预估用量 |
|
| 号段 | 用途 | 预估用量 |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| 1001–1099 | 顶部信息条 + 亮牌条 + 底栏(局数、功能钮) | ~30 |
|
| 1001–1099 | 顶部信息条 + 主牌统计条 + 底栏(局数、功能钮) | ~30 |
|
||||||
| 1100–1199 | 三家玩家位附加标记 + 三处倒计时 | ~24 |
|
| 1100–1199 | 三家玩家位附加标记 + 三处倒计时 | ~24 |
|
||||||
| 1200–1249 | 自己手牌 36 张 + 牌上标记 | ~45 |
|
| 1200–1249 | 自己手牌 36 张 + 牌上标记 | ~45 |
|
||||||
| 1250–1299 | 底牌 8 张 + 埋牌底牌 8 张 | 16 |
|
| 1250–1299 | 底牌 8 张 + 埋牌底牌 8 张 | 16 |
|
||||||
@@ -619,7 +623,7 @@ EQW_RoomOptions = {
|
|||||||
|
|
||||||
**收到 `maipai` 推送后**(字段 `cards`、`bottomcards`、`seat`、`countdown`、`liangpai`):
|
**收到 `maipai` 推送后**(字段 `cards`、`bottomcards`、`seat`、`countdown`、`liangpai`):
|
||||||
- 庄家手牌回到单排 28 张;
|
- 庄家手牌回到单排 28 张;
|
||||||
- **闲家**若收到 `liangpai`(仅可查牌模式 + 庄家达标),渲染 §2.5 亮牌信息条;
|
- **闲家**若收到 `liangpai`(仅可查牌模式 + 庄家达标),弹出下方「亮牌」**遮罩面板**(群组 242,精灵 `HIST_*`,见 §5.7b)——**不是** §2.5 那条主牌统计条(原表述「渲染 §2.5 亮牌信息条」是同名异实造成的笔误,2026-08-27 订正);
|
||||||
- 进入出牌,`seat` = 首出者(必为庄家)。
|
- 进入出牌,`seat` = 首出者(必为庄家)。
|
||||||
|
|
||||||
**亮牌**(design §8.2,协议 `liangpai`):
|
**亮牌**(design §8.2,协议 `liangpai`):
|
||||||
@@ -988,11 +992,12 @@ EQW_RoomOptions = {
|
|||||||
| **自己的主牌统计** | 手牌**上方偏左**(x≈35 y≈400 那条) | **有手牌时始终显示**,与报无主无关 | 前端据 `flower` 本地统计自己手牌 |
|
| **自己的主牌统计** | 手牌**上方偏左**(x≈35 y≈400 那条) | **有手牌时始终显示**,与报无主无关 | 前端据 `flower` 本地统计自己手牌 |
|
||||||
| **他家的主牌数 / 对数**(**余主公示**) | 左上、右上家**头像下方**的 `主N` `对N` 角标 | **仅可查牌模式 + 已报无主**(design §9) | `seatlist[seat][4]` = `[剩余主牌数, 剩余主对数]` |
|
| **他家的主牌数 / 对数**(**余主公示**) | 左上、右上家**头像下方**的 `主N` `对N` 角标 | **仅可查牌模式 + 已报无主**(design §9) | `seatlist[seat][4]` = `[剩余主牌数, 剩余主对数]` |
|
||||||
|
|
||||||
**自己的主牌统计条**(群组 206):
|
**自己的主牌统计条**(群组 206 `ZHU_STAT_BAR`,精灵 `ZHU_STAT_BG` / `ZHU_STAT_TEXT`):
|
||||||
|
|
||||||
- 文案 **`x对 x主`**(暂定,见 §7.2 T-9),例如 `3对 12主`。
|
- 文案 **`x对 x主`**(暂定,见 §7.2 T-9),例如 `3对 12主`。
|
||||||
- **始终显示、本地计算**——自己的手牌自己完全可见,不需要服务端下发,也不受查牌模式与报无主影响。
|
- **始终显示、本地计算**——自己的手牌自己完全可见,不需要服务端下发,也不受查牌模式与报无主影响。
|
||||||
- 参考图里的 `主牌对子: 1对` 即此条。
|
- 参考图里的 `主牌对子: 1对` 即此条。
|
||||||
|
- **2026-08-27 改名**:本条原名「亮牌条 / `LIANGPAI_*`」,与下方「亮牌」同名异实,已统一改为 `ZHU_STAT_*`(详见 §0.3 群组表下的修订说明)。
|
||||||
|
|
||||||
**余主公示:他家的 `主N` / `对N` 角标**(群组 202 / 203,结构见 §2.2):
|
**余主公示:他家的 `主N` / `对N` 角标**(群组 202 / 203,结构见 §2.2):
|
||||||
|
|
||||||
@@ -1000,7 +1005,8 @@ EQW_RoomOptions = {
|
|||||||
- 初始 `[-1,-1]` 时隐藏;一旦全场有人报无主,服务端整表刷新 `seatlist` 并下发,两家的角标同时出现。
|
- 初始 `[-1,-1]` 时隐藏;一旦全场有人报无主,服务端整表刷新 `seatlist` 并下发,两家的角标同时出现。
|
||||||
- 不可查牌模式下**永不出现**。
|
- 不可查牌模式下**永不出现**。
|
||||||
|
|
||||||
> **「亮牌」(`liangpai`)与上面两者都不是一回事**:它是 design §8.2 的规则——庄家达门槛时向**闲家**亮出自己**全部固定主牌的具体牌面**,用遮罩面板展示(§1.6),不是这里的统计条。
|
> **「亮牌」(`liangpai`)与上面两者都不是一回事**:它是 design §8.2 的规则——庄家达门槛时向**闲家**亮出自己**全部固定主牌的具体牌面**,用遮罩面板展示(§1.6,群组 **242**,复用 `HIST_*` 精灵),不是这里的统计条。
|
||||||
|
> 正因两者曾经同名,本条统计条在 2026-08-27 改名为 `ZHU_STAT_*`;代码里凡 `LIANGPAI` 字样自此**只属于**亮牌那一侧(协议字段 `liangpai`、`EQW_Anim.LIANGPAI_AUTO_CLOSE`)。
|
||||||
|
|
||||||
|
|
||||||
### 2.6 底栏 【图:全部】
|
### 2.6 底栏 【图:全部】
|
||||||
@@ -1164,7 +1170,7 @@ y≈648–720 深色条。左侧头像/昵称/分数由平台渲染(§0.2)
|
|||||||
| 602 | `PANEL_CALL_SCORE` | 叫分面板底 | 1 | 575 × 170 |
|
| 602 | `PANEL_CALL_SCORE` | 叫分面板底 | 1 | 575 × 170 |
|
||||||
| 603 | `BAR_HINT_TOP` | `70分坐庄才可投降` 提示条底 | 1 | 345 × 33 |
|
| 603 | `BAR_HINT_TOP` | `70分坐庄才可投降` 提示条底 | 1 | 345 × 33 |
|
||||||
| 604 | `BAR_CHOOSE_MAIN` | `亮主` 斜角标题条 | 1 | 425 × 50 |
|
| 604 | `BAR_CHOOSE_MAIN` | `亮主` 斜角标题条 | 1 | 425 × 50 |
|
||||||
| 605 | `BAR_LIANGPAI` | 亮牌信息条底(半透圆角) | 1 | 210 × 35 |
|
| 605 | `BAR_ZHU_STAT` | 主牌统计条底(半透圆角,§2.5;2026-08-27 由 `BAR_LIANGPAI` 改名,ID 不变) | 1 | 210 × 35 |
|
||||||
| 606 | `PANEL_BOTTOM_CARDS` | 结算底牌区面板底 | 1 | 420 × 148 |
|
| 606 | `PANEL_BOTTOM_CARDS` | 结算底牌区面板底 | 1 | 420 × 148 |
|
||||||
| 607 | `GLOW_RESULT` | 结算分数光晕背景 | 2 | 帧1=赢(橙) 帧2=输(蓝) | 225 × 100 |
|
| 607 | `GLOW_RESULT` | 结算分数光晕背景 | 2 | 帧1=赢(橙) 帧2=输(蓝) | 225 × 100 |
|
||||||
| 608 | `BAR_FOOTER` | 底栏深色条 | 1 | 1280 × 72 |
|
| 608 | `BAR_FOOTER` | 底栏深色条 | 1 | 1280 × 72 |
|
||||||
@@ -1198,7 +1204,7 @@ y≈648–720 深色条。左侧头像/昵称/分数由平台渲染(§0.2)
|
|||||||
|
|
||||||
> **出图要求**:16 帧**等宽**(后缀字与数字同宽,因为宽度按"字符数 × 单字宽"算);帧序严格照上表,用不到的帧位(如某些套的 `.` `x` `/`)**仍要占位**。
|
> **出图要求**:16 帧**等宽**(后缀字与数字同宽,因为宽度按"字符数 × 单字宽"算);帧序严格照上表,用不到的帧位(如某些套的 `.` `x` `/`)**仍要占位**。
|
||||||
> **带描边/渐变的美术字用多帧图数字精灵 + `setNumberImage`**(倒计时、结算得分、叫分分数、选主张数),文字精灵做不出这种效果——631–636 都要出图。
|
> **带描边/渐变的美术字用多帧图数字精灵 + `setNumberImage`**(倒计时、结算得分、叫分分数、选主张数),文字精灵做不出这种效果——631–636 都要出图。
|
||||||
> **纯数据型小字用文字精灵**(`SpriteManager.setText` / `setTextWithWidth`):叫分角标的子数(值域 2–15,随爬坡开关变)、`主N`/`对N` 角标、局数、亮牌统计等。
|
> **纯数据型小字用文字精灵**(`SpriteManager.setText` / `setTextWithWidth`):叫分角标的子数(值域 2–15,随爬坡开关变)、`主N`/`对N` 角标、局数、主牌统计条文案等。
|
||||||
> **2026-08-26 新增 636**:选主张数原计划走文字精灵,但美术侧单独出了一套数字图(字号配色不同于既有几套);同日一度定为「十位/个位各一个精灵」,**现已撤销**——`setNumberImage` 一个精灵就能显示 `26张`。
|
> **2026-08-26 新增 636**:选主张数原计划走文字精灵,但美术侧单独出了一套数字图(字号配色不同于既有几套);同日一度定为「十位/个位各一个精灵」,**现已撤销**——`setNumberImage` 一个精灵就能显示 `26张`。
|
||||||
|
|
||||||
### 3.7 浮层与气泡
|
### 3.7 浮层与气泡
|
||||||
@@ -1269,8 +1275,8 @@ design 与协议均**未定义任何音效**。以下是按牌类游戏常规推
|
|||||||
| | 1006 | `TOP_GRADE_TEXT` | 文字 | 抓分数值 | —— |
|
| | 1006 | `TOP_GRADE_TEXT` | 文字 | 抓分数值 | —— |
|
||||||
| | 1007 | `TOP_GRADE_BADGE_BG` | 图片 | 抓分角标底 | `BADGE_MULTIPLE` 帧2 |
|
| | 1007 | `TOP_GRADE_BADGE_BG` | 图片 | 抓分角标底 | `BADGE_MULTIPLE` 帧2 |
|
||||||
| | 1008 | `TOP_GRADE_BADGE_TEXT` | 文字 | `N倍`【T-16】 | —— |
|
| | 1008 | `TOP_GRADE_BADGE_TEXT` | 文字 | `N倍`【T-16】 | —— |
|
||||||
| **206** 亮牌条 | 1030 | `LIANGPAI_BG` | 图片 | 半透圆角条 | `BAR_LIANGPAI` |
|
| **206** 主牌统计条 | 1030 | `ZHU_STAT_BG` | 图片 | 半透圆角条 | `BAR_ZHU_STAT` |
|
||||||
| | 1031 | `LIANGPAI_TEXT` | 文字 | 亮牌统计文案 | —— |
|
| | 1031 | `ZHU_STAT_TEXT` | 文字 | 自己主牌统计文案 `x对 x主` | —— |
|
||||||
| **205** 底栏 | 1040 | `FOOTER_BG` | 图片 | 底栏深色条 | `BAR_FOOTER` |
|
| **205** 底栏 | 1040 | `FOOTER_BG` | 图片 | 底栏深色条 | `BAR_FOOTER` |
|
||||||
| | 1041 | `FOOTER_ASET_TEXT` | 文字 | `1/4 局` | —— |
|
| | 1041 | `FOOTER_ASET_TEXT` | 文字 | `1/4 局` | —— |
|
||||||
| | 1042 | `BTN_MINGPAI` | 图片 | `明牌` | `BTN_BOTTOM_FUNC` |
|
| | 1042 | `BTN_MINGPAI` | 图片 | `明牌` | `BTN_BOTTOM_FUNC` |
|
||||||
@@ -1478,6 +1484,7 @@ for (var i = 0; i < cards.length; i++) {
|
|||||||
- **上一轮**:同一套精灵,数据只取 `pushlist` 末尾一项。
|
- **上一轮**:同一套精灵,数据只取 `pushlist` 末尾一项。
|
||||||
- **明牌**:只显示另两家,数据 = `mingpai.others[].zhucards`(§1.7 D-6)。
|
- **明牌**:只显示另两家,数据 = `mingpai.others[].zhucards`(§1.7 D-6)。
|
||||||
- **亮牌**:只显示一排(庄家的固定主牌),数据 = `liangpai.cards`(§1.6)。复用同一套遮罩 + 容器 + 牌模板,仅数据源与排数不同。
|
- **亮牌**:只显示一排(庄家的固定主牌),数据 = `liangpai.cards`(§1.6)。复用同一套遮罩 + 容器 + 牌模板,仅数据源与排数不同。
|
||||||
|
⚠ 这里的「亮牌」是 design §8.2 那件事,**与 §2.5 手牌上方的主牌统计条(群组 206 `ZHU_STAT_*`)无关**——后者 2026-08-27 前也叫「亮牌条」,已改名以消歧义。
|
||||||
|
|
||||||
> 解散投票由平台提供(Layer 420),子游戏无需精灵。
|
> 解散投票由平台提供(Layer 420),子游戏无需精灵。
|
||||||
|
|
||||||
@@ -1671,7 +1678,7 @@ CARD_SIZE: {
|
|||||||
| 顶部 · 花色图标 | `attach` | `target:TOP_INFO_BG, hAlign:left, vAlign:bottom, offsetX:20, offsetY:-8` |
|
| 顶部 · 花色图标 | `attach` | `target:TOP_INFO_BG, hAlign:left, vAlign:bottom, offsetX:20, offsetY:-8` |
|
||||||
| 顶部 · 叫分角标 | `attach` | `target:TOP_CALL_TEXT, corner:topRight, offsetX:4, offsetY:6` |
|
| 顶部 · 叫分角标 | `attach` | `target:TOP_CALL_TEXT, corner:topRight, offsetX:4, offsetY:6` |
|
||||||
| 顶部 · 抓分角标 | `attach` | `target:TOP_GRADE_TEXT, corner:topRight, offsetX:4, offsetY:6` |
|
| 顶部 · 抓分角标 | `attach` | `target:TOP_GRADE_TEXT, corner:topRight, offsetX:4, offsetY:6` |
|
||||||
| 亮牌信息条 | `point` | `x:35 y:400 w:210 h:35` |
|
| 主牌统计条(节点 `ZHU_STAT_BG`) | `point` | `x:35 y:400 w:210 h:35` |
|
||||||
| 底栏条 | `point` | `x:0 y:648 w:1280 h:72` |
|
| 底栏条 | `point` | `x:0 y:648 w:1280 h:72` |
|
||||||
| 底栏 · 局数文字 | `point` | `x:635 y:672 w:65 h:26`,`textStyle{fontSize:20, align:center}` |
|
| 底栏 · 局数文字 | `point` | `x:635 y:672 w:65 h:26`,`textStyle{fontSize:20, align:center}` |
|
||||||
| 底栏 · 功能钮组(明牌/已出牌/上一轮/底牌) | `line` + `items` | `direction:horizontal, anchorX:1250, anchorY:672, itemHeight:30, spacing:15, anchor:right`,`items:[74,87,93,78]`(逐项不等宽,见 §6.1) |
|
| 底栏 · 功能钮组(明牌/已出牌/上一轮/底牌) | `line` + `items` | `direction:horizontal, anchorX:1250, anchorY:672, itemHeight:30, spacing:15, anchor:right`,`items:[74,87,93,78]`(逐项不等宽,见 §6.1) |
|
||||||
@@ -1872,7 +1879,7 @@ codes/config/
|
|||||||
|
|
||||||
| 编号 | 结论 |
|
| 编号 | 结论 |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| ~~T-9~~ | ~~亮牌条文案~~ | **已定**:自己的主牌统计条显示 `x对 x主`、有手牌时常显(§2.5)。注意这条**不是** design §8.2 的亮牌 |
|
| ~~T-9~~ | ~~主牌统计条文案(原称"亮牌条")~~ | **已定**:自己的主牌统计条显示 `x对 x主`、有手牌时常显(§2.5)。注意这条**不是** design §8.2 的亮牌——2026-08-27 已把该条改名为 `ZHU_STAT_*` 以杜绝混用 |
|
||||||
| ~~T-1~~ | `class.paiju.js:264` `get_nextseat = (seat+1)%3`,下家显示在右上(§0.1) |
|
| ~~T-1~~ | `class.paiju.js:264` `get_nextseat = (seat+1)%3`,下家显示在右上(§0.1) |
|
||||||
| ~~T-2~~ | 解散投票**平台全包**(Layer 420 + `GameUI.openCheck` + `Desk.*_free_room`),子游戏只处理结算包 |
|
| ~~T-2~~ | 解散投票**平台全包**(Layer 420 + `GameUI.openCheck` + `Desk.*_free_room`),子游戏只处理结算包 |
|
||||||
| ~~T-3~~ | 建房界面 = **Layer 27 `CreateRoom_Layer`**(Layer 28 是代开房/抽水,无关) |
|
| ~~T-3~~ | 建房界面 = **Layer 27 `CreateRoom_Layer`**(Layer 28 是代开房/抽水,无关) |
|
||||||
@@ -1925,7 +1932,7 @@ codes/config/
|
|||||||
| 2 | 三家显示位映射正确:下家 `(mySeat+1)%3` 在右上 | §0.1 |
|
| 2 | 三家显示位映射正确:下家 `(mySeat+1)%3` 在右上 | §0.1 |
|
||||||
| 3 | 提示按钮顺序(踩/有分/没分)与 `tip` 编号(1踩/2没分/3有分)的映射未按下标硬推 | §1.7 |
|
| 3 | 提示按钮顺序(踩/有分/没分)与 `tip` 编号(1踩/2没分/3有分)的映射未按下标硬推 | §1.7 |
|
||||||
| 4 | 气泡帧号 = `(箭头向右?3:0)+tip`,朝向按头像相对位置取 | §1.7 / §6.6 |
|
| 4 | 气泡帧号 = `(箭头向右?3:0)+tip`,朝向按头像相对位置取 | §1.7 / §6.6 |
|
||||||
| 5 | 不可查牌模式下:`明牌`/`已出牌`/`上一轮` 按钮不出现、亮牌条不出现、`主N`/`对N` 角标不出现 | design §9 |
|
| 5 | 不可查牌模式下:`明牌`/`已出牌`/`上一轮` 按钮不出现、**亮牌面板不弹出**(design §8.2 那个遮罩面板,群组 242)、`主N`/`对N` 角标不出现。⚠ §2.5 **自己的主牌统计条(群组 206)不在此列——它任何模式下都常显** | design §9 / §2.5 |
|
||||||
| 6 | 投降结算(无 `bottom`)与解散结算(无 `deskfree` 的情形)都不崩、不显示空框 | §1.8 / §1.10 |
|
| 6 | 投降结算(无 `bottom`)与解散结算(无 `deskfree` 的情形)都不崩、不显示空框 | §1.8 / §1.10 |
|
||||||
| 7 | 解散包从 `data.deskfree.data.aset` 取值,不是 `data.aset` | §1.10 |
|
| 7 | 解散包从 `data.deskfree.data.aset` 取值,不是 `data.aset` | §1.10 |
|
||||||
| 8 | 倒计时归零不做任何界面推进 | 协议 §0.3 |
|
| 8 | 倒计时归零不做任何界面推进 | 协议 §0.3 |
|
||||||
|
|||||||
Reference in New Issue
Block a user