二七王:倒计时与结算得分改用数字图精灵,收尾几处命名与文档订正
- CD_LEFT/CD_RIGHT/CD_SELF(1150-1152)由文字精灵改为多帧图数字精灵: 资源 NUM_COUNTDOWN,纯秒数无后缀;对应布局节点 P_COUNTDOWN 的 h 改取 NUM_STYLE.COUNTDOWN.charHeight,w 留到运行时注入。 - 结算得分 RESULT_SCORE_LEFT/RIGHT/SELF(1805-1807)同理由文字精灵改为 数字图精灵(NUM_RESULT_WIN/NUM_RESULT_LOSE),与大局结算已有的 ACC_TPL_SCORE_NUM 保持一致;布局节点随之调整,移除不再使用的 TEXT_STYLE.SCORE_BIG。 - NUM_CALL_SCORE 第16帧由"待美术与规则确认"改为明确的"无后缀"(叫分档位 面板只显示纯数字,"N子"角标是独立文字精灵);NUM_MAIN_SUIT_COUNT / NUM_RESULT_WIN / NUM_RESULT_LOSE 第16帧仍待确认,不改。 - Layout_Action.js 的 CALL_BTN_SCORE_TEXT、Layout_Result.js 的 RESULT_SCORE_TEXT 改名为 CALL_BTN_SCORE_NUM / RESULT_SCORE_NUM: 两者驱动的都是数字图精灵,_TEXT 后缀误导;同步测试引用。 - docs/client/development-guide/02:订正"SpriteManager 第1154行"这一失效 行号引用(回退后该行号落在 setTextWithWidth 体内),改为不写死行号。 - docs_dev 清单同步:§2.4/§5.4/§5.6/§6.6/§6.9 倒计时与结算得分的精灵类型 描述、§6.6/§6.9 对应布局参数。 - test_constants.js 的 NUM_STYLE 同源守卫表新增 COUNTDOWN、RESULT_WIN、 RESULT_LOSE 三对(连同改名后的 CALL_BTN_SCORE_NUM),共 6 条新断言。 精灵总数、布局节点总数均未变(378 / 61),只改类型与命名,不增删。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -77,7 +77,7 @@ ID 必须与编辑器中实际存在的精灵**完全一致**。超范围 →
|
||||
> ⚠️ **最容易踩的坑:显示多位数字时拆成多个精灵,或用 `setFrame` 逐位切。**
|
||||
> `setFrame` 是"整个精灵显示第 N 帧",**一个精灵一次只显示一位**。有人据此把两位数拆成"十位精灵 + 个位精灵",三位数拆三个——精灵数随位数线性膨胀,布局、显隐、清理全要按位处理(十位为 0 还得单独隐藏),位数一变就得重排。
|
||||
> **平台早就给了 `setNumberImage`,一个精灵显示整串,别再造这个轮子。**
|
||||
> 真实事故:某次评审误判"一个精灵只能显示一位",先把选主张数拆成十位/个位 8 个精灵,随后又差点为此新造一套"图集叠绘"渲染器——直到发现 `SpriteManager` 第 1154 行本来就有这个接口。
|
||||
> 真实事故:某次评审误判"一个精灵只能显示一位",先把选主张数拆成十位/个位 8 个精灵,随后又差点为此新造一套"图集叠绘"渲染器——直到发现 `core/SpriteManager.js` 的 `setNumberImage` 本来就有这个接口。
|
||||
> **判据一句话:值可能超过一个字符,用 `setNumberImage`,既不拆精灵也不用 `setFrame`。**
|
||||
|
||||
**`setNumberImage` 怎么工作**(读实现,不要凭印象):它把文本里的符号编码后设给精灵的 TEXT 属性,由**引擎按字符逐帧渲染**(帧号由字符直接换算),并把精灵宽度设为 **`字符数 × charWidth`**。所以:
|
||||
|
||||
Reference in New Issue
Block a user