有了图集叠绘能力,多位数不再需要每位一个精灵: - Sprites_Action.js:选主花色张数从每花色两个(_TENS/_ONES)改回每花色一个 (MAIN_SUIT_COUNT_1..4 = 1674–1677),空出的 1678–1681 按本文件既有写法记跳号、不复用; 叫分档位 CALL_BTN_NUM_1..14 数量不变,注释改为图集叠绘(现在能正确显示两位数)。 - ImageResources.js:NUM_COUNTDOWN / NUM_RESULT_WIN / NUM_RESULT_LOSE / NUM_CALL_SCORE / NUM_MAIN_SUIT_COUNT 不再是编辑器配帧的多帧资源,改为等宽连续排列的一张图, 逐条写明字符排列顺序、单字符宽高、整图尺寸(给美术的出图规格)。 - Layout_Action.js:张数的十位/个位两节点合并为一个;两个数字节点的 w/h 直接引用 NUM_STYLE(SSOT),不再由调用方运行时注入。 - Sprites_Result.js:记下 ACC_TPL_SCORE_NUM 是复制精灵、无法用 NumberRenderer 的风险。 - 单测:精灵总数 382→378、布局节点 62→61(按实际更新,未放宽下界); 新增 NUM_STYLE 资源键/字段合法性与「布局节点 w/h 与样式同源」守卫。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
184 lines
9.1 KiB
JavaScript
184 lines
9.1 KiB
JavaScript
///////////////////////////////////////////////////////////////
|
||
////////// EQW_Sprites: 精灵结构(清单 §5.4/§5.5 阶段操作区与浮层)
|
||
///////////////////////////////////////////////////////////////
|
||
// 子游戏精灵段 1001–2999。结构与 Sprites_Table.js 一致:
|
||
// View 下 Layer 为图层声明(一个 View 恰好一个图层),其余键是 group 容器;
|
||
// 容器内 id 为群组 ID、其余键才是精灵 id。
|
||
// 连号精灵逐条写全,不用循环生成。
|
||
var EQW_Sprites = EQW_Sprites || {};
|
||
|
||
//叫分面板:14 档位按钮 + 「不叫」按钮(清单 §5.4,Layer 104 群组 220)
|
||
EQW_Sprites.CallPanelView = {
|
||
Layer: EQW_Layers.ACTION, //104
|
||
|
||
CallPanel: {
|
||
id: EQW_Groups.CALL_PANEL, //220
|
||
|
||
CALL_PANEL_BG: 1600, //图片:面板底,资源 EQW_Images.PANEL_CALL_SCORE
|
||
CALL_HINT_BG: 1601, //图片:提示条底,资源 EQW_Images.BAR_HINT_TOP
|
||
CALL_HINT_TEXT: 1602, //文字:「70分坐庄才可投降」
|
||
|
||
//—— 14 档位按钮底(含角标底),资源 EQW_Images.BTN_CALL_SCORE,档位 70..5,
|
||
// 帧1=浅黄+蓝角标(70/65/60/55) 帧2=金黄+绿角标(50/45/40) 帧3=橙+深橙角标(35..5) 帧4=灰(不可选),
|
||
// 颜色按档位位置固定,仅因不可叫切换到灰帧4 ——
|
||
CALL_BTN_1: 1603,
|
||
CALL_BTN_2: 1604,
|
||
CALL_BTN_3: 1605,
|
||
CALL_BTN_4: 1606,
|
||
CALL_BTN_5: 1607,
|
||
CALL_BTN_6: 1608,
|
||
CALL_BTN_7: 1609,
|
||
CALL_BTN_8: 1610,
|
||
CALL_BTN_9: 1611,
|
||
CALL_BTN_10: 1612,
|
||
CALL_BTN_11: 1613,
|
||
CALL_BTN_12: 1614,
|
||
CALL_BTN_13: 1615,
|
||
CALL_BTN_14: 1616,
|
||
|
||
//—— 14 档位分数数字(图集叠绘数字精灵),资源 EQW_Images.NUM_CALL_SCORE,样式 EQW_Layout.NUM_STYLE.CALL_SCORE。
|
||
// 一个精灵画完整档位分数:NumberRenderer 按字宽从等宽连续数字图里逐位裁源矩形叠绘,
|
||
// 故 14 档(其中 13 档是两位数)各只需【一个】精灵(2026-08-26 改,原多帧 setFrame 一次只显示一位、两位数根本画不出)——
|
||
CALL_BTN_NUM_1: 1617,
|
||
CALL_BTN_NUM_2: 1618,
|
||
CALL_BTN_NUM_3: 1619,
|
||
CALL_BTN_NUM_4: 1620,
|
||
CALL_BTN_NUM_5: 1621,
|
||
CALL_BTN_NUM_6: 1622,
|
||
CALL_BTN_NUM_7: 1623,
|
||
CALL_BTN_NUM_8: 1624,
|
||
CALL_BTN_NUM_9: 1625,
|
||
CALL_BTN_NUM_10: 1626,
|
||
CALL_BTN_NUM_11: 1627,
|
||
CALL_BTN_NUM_12: 1628,
|
||
CALL_BTN_NUM_13: 1629,
|
||
CALL_BTN_NUM_14: 1630,
|
||
|
||
//—— 14 档位 multiple 子数角标文字(「2子」…「15子」),随爬坡规则开关变 ——
|
||
CALL_BTN_BADGE_1: 1631,
|
||
CALL_BTN_BADGE_2: 1632,
|
||
CALL_BTN_BADGE_3: 1633,
|
||
CALL_BTN_BADGE_4: 1634,
|
||
CALL_BTN_BADGE_5: 1635,
|
||
CALL_BTN_BADGE_6: 1636,
|
||
CALL_BTN_BADGE_7: 1637,
|
||
CALL_BTN_BADGE_8: 1638,
|
||
CALL_BTN_BADGE_9: 1639,
|
||
CALL_BTN_BADGE_10: 1640,
|
||
CALL_BTN_BADGE_11: 1641,
|
||
CALL_BTN_BADGE_12: 1642,
|
||
CALL_BTN_BADGE_13: 1643,
|
||
CALL_BTN_BADGE_14: 1644,
|
||
|
||
CALL_BTN_NONE: 1645, //图片:「不叫」按钮,资源 EQW_Images.BTN_NO_CALL
|
||
CALL_BTN_NONE_TEXT: 1646 //文字:按钮文案「不叫」
|
||
}
|
||
};
|
||
|
||
//选主/投降面板:4 花色按钮 + 投降按钮(清单 §5.4,Layer 104 群组 221)
|
||
//
|
||
//以下键号在源清单中被显式判定「不需要」,本文件不占用,留空号以便追溯(美术改一张图 5 帧出图,
|
||
//花色图标与右上角角标底已并入 BTN_SUIT_CHOOSE 各帧,2026-08-26):
|
||
// 1656–1659 MAIN_SUIT_ICON_1..4 —— 花色图标并入 BTN_SUIT_CHOOSE 帧1–4
|
||
// 1660–1663 MAIN_SUIT_COUNT_1..4 —— 原文字精灵,改为下方数字图片精灵(键名沿用,ID 改到 1674–1677)
|
||
// 1664–1667 MAIN_SUIT_PAIR_BG_1..4 —— 角标底并入 BTN_SUIT_CHOOSE 帧1–4
|
||
// 1673 MAIN_BTN_SURRENDER_TEXT —— 「投降」二字并入 BTN_SUIT_CHOOSE 帧5
|
||
// 1678–1681 原 MAIN_SUIT_COUNT_3/4_TENS/ONES —— 张数改为「一个花色一个精灵」(图集叠绘,见下),
|
||
// 上一轮的十位/个位拆分作废,空出的 4 个 ID 不复用(2026-08-26)
|
||
EQW_Sprites.ChooseMainView = {
|
||
Layer: EQW_Layers.ACTION, //104
|
||
|
||
ChooseMain: {
|
||
id: EQW_Groups.CHOOSE_MAIN, //221
|
||
|
||
MAIN_TITLE_BG: 1650, //图片:「亮主」斜角条,资源 EQW_Images.BAR_CHOOSE_MAIN
|
||
MAIN_TITLE_TEXT: 1651, //文字:「亮主」
|
||
|
||
//—— 4 个花色按钮,资源 EQW_Images.BTN_SUIT_CHOOSE,帧 = 花色序号 1–4(服务端 flower 编号),
|
||
// 该帧已含「按钮底 + 花色图标 + 右上角蓝色角标底」——
|
||
MAIN_SUIT_BTN_1: 1652,
|
||
MAIN_SUIT_BTN_2: 1653,
|
||
MAIN_SUIT_BTN_3: 1654,
|
||
MAIN_SUIT_BTN_4: 1655,
|
||
|
||
//—— 4 个对数角标文字:「N对」,叠在对应花色按钮的角标底之上 ——
|
||
MAIN_SUIT_PAIR_TEXT_1: 1668,
|
||
MAIN_SUIT_PAIR_TEXT_2: 1669,
|
||
MAIN_SUIT_PAIR_TEXT_3: 1670,
|
||
MAIN_SUIT_PAIR_TEXT_4: 1671,
|
||
|
||
//—— 4 个花色张数数字精灵(图集叠绘,一花色一个):该花色在庄家手中的张数
|
||
// (两副牌单花色最多 26 张,两位数),资源 EQW_Images.NUM_MAIN_SUIT_COUNT,
|
||
// 样式 EQW_Layout.NUM_STYLE.MAIN_SUIT_COUNT;NumberRenderer 逐位裁源矩形画在同一精灵上,
|
||
// 不再需要十位/个位各一个精灵(2026-08-26)——
|
||
MAIN_SUIT_COUNT_1: 1674,
|
||
MAIN_SUIT_COUNT_2: 1675,
|
||
MAIN_SUIT_COUNT_3: 1676,
|
||
MAIN_SUIT_COUNT_4: 1677,
|
||
|
||
MAIN_BTN_SURRENDER: 1672 //图片:「投降」按钮,资源 EQW_Images.BTN_SUIT_CHOOSE 帧5(已含底与「投降」字)
|
||
}
|
||
};
|
||
|
||
//操作条:埋牌操作条(群组 222)+ 出牌操作条(群组 223),同一屏幕位置随阶段互斥展示(清单 §5.4)
|
||
EQW_Sprites.OperationBarView = {
|
||
Layer: EQW_Layers.ACTION, //104
|
||
|
||
BuryBar: {
|
||
id: EQW_Groups.BURY_BAR, //222
|
||
|
||
BURY_BTN_TIP: 1700, //图片:「提示」按钮,资源 EQW_Images.BTN_TIP
|
||
BURY_BTN_TIP_TEXT: 1701, //文字:按钮文案「提示」
|
||
BURY_BTN_SUBMIT: 1702, //图片:「埋牌」按钮,资源 EQW_Images.BTN_BURY,帧1=可提交 帧2=灰(未满8张)
|
||
BURY_BTN_SUBMIT_TEXT: 1703 //文字:「埋牌 (N/8)」
|
||
},
|
||
|
||
PlayBar: {
|
||
id: EQW_Groups.PLAY_BAR, //223
|
||
|
||
PLAY_BTN_SUBMIT: 1710, //图片:「出牌」按钮,资源 EQW_Images.BTN_PLAY,帧1=可出 帧2=灰
|
||
PLAY_BTN_SUBMIT_TEXT: 1711, //文字:按钮文案「出牌」
|
||
PLAY_BTN_TIP: 1712, //图片:「提示」按钮(出牌阶段必备),资源 EQW_Images.BTN_TIP
|
||
PLAY_BTN_TIP_TEXT: 1713 //文字:按钮文案「提示」
|
||
}
|
||
};
|
||
|
||
//倒计时:左上家/右上家/自己 三处操作区倒计时(清单 §5.4,Layer 104 群组 224)
|
||
EQW_Sprites.CountdownView = {
|
||
Layer: EQW_Layers.ACTION, //104
|
||
|
||
Countdown: {
|
||
id: EQW_Groups.COUNTDOWN, //224
|
||
|
||
CD_LEFT: 1150, //文字:左上家位倒计时
|
||
CD_RIGHT: 1151, //文字:右上家位倒计时
|
||
CD_SELF: 1152 //文字:自己操作区倒计时
|
||
}
|
||
};
|
||
|
||
//桌面浮层:提示气泡 + 通用状态提示条 + 捡分飘字(清单 §5.5,Layer 105 群组 230)
|
||
//
|
||
//以下键号在源清单中被显式判定「不需要」,本文件不占用,留空号以便追溯:
|
||
// 1753 TXT_BAOZHU —— 报无主不做全场提示(D-4),只让他家 主N/对N 角标出现
|
||
// 1754/1759 BAR_SHUAICUO —— 甩错提示并入通用状态提示条 BAR_TOAST/TXT_TOAST(§2.8)
|
||
// 1757/1758 BOTTOM_3S_* —— 70分底牌亮3秒复用底牌区翻牌(D-2),仅可见范围不同,不单独建精灵
|
||
EQW_Sprites.OverlayView = {
|
||
Layer: EQW_Layers.OVERLAY, //105
|
||
|
||
Overlay: {
|
||
id: EQW_Groups.OVERLAY, //230
|
||
|
||
//—— 提示气泡:踩/没分/有分,按发送者位置三选一显示,资源 EQW_Images.BUBBLE_TISHI,
|
||
// 帧 = (arrowRight ? 3 : 0) + tip(tip:1踩 2没分 3有分);朝向为配置项 arrowRight,非按座位硬判(清单 §6.6)——
|
||
BUBBLE_TISHI_LEFT: 1750, //左上家气泡:头像在气泡左侧,箭头向左,帧1–3,attach 头像框 hAlign:right
|
||
BUBBLE_TISHI_RIGHT: 1751, //右上家气泡:头像在气泡右侧,箭头向右,帧4–6,attach 头像框 hAlign:left
|
||
BUBBLE_TISHI_SELF: 1752, //自己气泡:头像在气泡左侧,箭头向左,帧1–3(本人看不到自己气泡,仅对家可见,见清单 §6.6)
|
||
|
||
GRADE_FLOAT_BG: 1755, //图片:捡分飘字底,资源 EQW_Images.TXT_GRADE_FLOAT
|
||
GRADE_FLOAT_TEXT: 1756, //文字:「20分」
|
||
|
||
BAR_TOAST: 1760, //图片:通用状态提示条底(等待类/即时反馈类共用,收敛为 3 条,见清单 §2.8),资源 EQW_Images.BAR_TOAST,可九宫拉伸
|
||
TXT_TOAST: 1761 //文字:提示文案
|
||
}
|
||
};
|