同现网 Widget:Range/* 的画法:自身格 = 实心蓝方块,可攻击格 = 灰色 2px 空心框,不在范围内的格不画;格 22px + 间隙 4px(= 现网 26px 格距)。只铺范围的外接矩形——1-1 就是两格,不补空格撑成 3×3。
范围形状
grids 直接传游戏 range_table 的 grids({ row, col },相对自身,col 向前为正),也可以写成 [row, col];自身 (0, 0) 写不写都行。组件算出外接矩形,逐格输出 i.self / i.on / 空 <i>,列数写进 --cols。
尺寸
sm 14px(技能卡侧槽 / 表格里)· 默认 22px · lg 28px。
可访问性
整块是 role="img",默认读作「攻击范围:自身之外 N 格」;有更贴切的说法(「正前方一格」)时用 label 改写。
Vue API
| 属性 | 类型 | 默认 | 说明 |
|---|---|---|---|
grids必填 | readonly RangeGrid[] | — | 可攻击的格子(相对自身):{ row, col }(直接传 range_table 的 grids)或 [row, col];col 向前为正,自身 (0, 0) 写不写都行 |
size | "md""sm""lg" | "md" | 尺寸:sm 14 · md 22 · lg 28(px 格边);sm 给技能卡侧槽 / 表格 |
label | string | — | 可访问名(aria-label);默认「攻击范围:自身之外 N 格」 |
CSS 实现
颜色两个钩子:--ak-range-self(自身格)/ --ak-range-cell(攻击格描边)。
| 块 | 元素 __ | 修饰 -- |
|---|
