feat: 第 2 页满铺「墙」背景并新增墙上画框

背景按 page1「天」的明度铺满「墙」,前景标题与两列曲目四周整格扣空并居中;
灯笼右移一格、链加长两节使整体下沉;墙上以「框」包「图」拼出画框。
This commit is contained in:
rogerwang2008 committed 2026-11-11 03:53:52 +08:00
1 parent f253c8acf2
commit 38c7a83cb5
2 files changed
+44 -21

No files matched your search

+32 -15
View File
@@ -1,6 +1,5 @@
/* 第 2 页场景数据
全部为背景字:地、桌、椅、枪,均按格对齐。
本页不铺「天」,空白格保持为空。 */
背景字满铺「墙」,明度同 page1 的「天」;前景文字四周整格扣空。 */
(() => {
/* 按矩形铺字,逐行生成一条 glyph */
@@ -12,10 +11,14 @@
cls,
}));
/* 扣空:按整格清空,保证留下的背景都是完整字 */
const clear = (x, y, w, h) => block(x, y, w, h, ' ', 'void');
TextScene.render({
cols: 28,
rows: 44,
skyChar: '',
skyChar: '墙',
skyClass: 'wall',
glyphs: [
/* 地:最后一排 */
{ text: '地'.repeat(28), x: 0, y: 43, cls: 'ground' },
@@ -55,20 +58,34 @@
...block(25, 39, 2, 3, '酒', 'wine'),
...block(24, 42, 4, 1, '桶', 'barrel'),
/* 灯笼:右上角,4 格宽;灰链—橙笼作顶盖—橙侧边去角,内里亮黄灯芯 */
{ text: '链', x: 23, y: 0, cls: 'chain' },
...block(22, 1, 2, 1, '链', 'chain'),
{ text: '链', x: 22, y: 2, cls: 'chain' },
...block(22, 3, 2, 1, '笼', 'cap'),
...block(21, 4, 1, 3, '笼', 'shade'),
...block(24, 4, 1, 3, '笼', 'shade'),
...block(22, 4, 2, 3, '灯', 'core'),
...block(22, 7, 2, 1, '笼', 'shade'),
/* 灯笼:右上角,4 格宽;链加长两节使整体下移两格,并整体右移一格 */
{ text: '链', x: 24, y: 0, cls: 'chain' },
{ text: '链', x: 24, y: 1, cls: 'chain' },
{ text: '链', x: 24, y: 2, cls: 'chain' },
...block(23, 3, 2, 1, '链', 'chain'),
{ text: '链', x: 23, y: 4, cls: 'chain' },
...block(23, 5, 2, 1, '笼', 'cap'),
...block(22, 6, 1, 3, '笼', 'shade'),
...block(25, 6, 1, 3, '笼', 'shade'),
...block(23, 6, 2, 3, '灯', 'core'),
...block(23, 9, 2, 1, '笼', 'shade'),
/* 穗:灯笼底下四字,上行两格、下行左右分开 */
...block(22, 8, 2, 1, '穗', 'tassel'),
{ text: '穗', x: 21, y: 9, cls: 'tassel' },
{ text: '穗', x: 23, y: 9, cls: 'tassel' },
...block(23, 10, 2, 1, '穗', 'tassel'),
{ text: '穗', x: 22, y: 11, cls: 'tassel' },
{ text: '穗', x: 24, y: 11, cls: 'tassel' },
/* 画框:墙上 8×6 矩形,「框」为边、「图」作画面 */
...block(12, 3, 8, 1, '框', 'frame'),
...block(12, 8, 8, 1, '框', 'frame'),
...block(12, 4, 1, 4, '框', 'frame'),
...block(19, 4, 1, 4, '框', 'frame'),
...block(13, 4, 6, 4, '图', 'picture'),
/* 前景留白:文字外框各放约半格,再向外取整格扣空,文字在其中居中 */
...clear(3, 4, 7, 3), /* 「酒水单」y4.7–6.3 → 行 4–6 */
...clear(4, 12, 8, 14), /* 第一列 y12.75–25.25 → 行 12–25 */
...clear(16, 14, 8, 19), /* 第二列 y14.75–32.25 → 行 14–32 */
],
});