# 月宫小剧场 · 第1集《谁咬了月亮》

竖屏 1080×1920 · 44.5 秒 · 4 个节拍 + 片头 + 结尾预告
画面全部用 Canvas 2D 代码绘制，由时间 t 决定（`renderFrame(t)`）；音乐和音效全部由 Web Audio 实时合成，和画面走同一条时间线。

**一句话笑点**：玉兔团团嘴上说“对月饼毫无兴趣”，转身就把挂在天上的月亮（其实是一块巨型月饼）咬了一口，甩锅给天狗失败后，干脆把自己塞进缺口堵上。原来人间看到的“月亮上的玉兔”，是这么来的。

- **铺垫**：嫦娥交代“全人类都在看月亮，一口都不许吃”，团团一边说“毫无兴趣”一边流口水、肚子叫。
- **加码**：真咬了，人间第一时间发现（上了热搜）；嫦娥回来二次反应、当场破防；团团甩锅“是天狗”，一粒月饼渣从嘴边掉下来出卖了他。
- **反转**：团团把自己团成一团卡进缺口，月亮重新变圆，人间欢呼“月亮上有只兔子！”
- **回扣**：团团卡在月亮里问“明年就一口？”，嫦娥“想都别想！”
- **下集预告梗**：被冤枉的天狗背着一口大铁锅登场：“这锅我不背！”

---

## 角色设定卡

角色卡图：`_shots/00_cast.png`（页面里调用 `renderCast()` 可随时重绘）

| 角色 | 造型 | 性格 | 口头禅 | 常用表情 / 动作 |
|---|---|---|---|---|
| **嫦娥（娥姐）** | Q 版两头身；双丫髻缠红绳，右髻插金色月牙步摇，三串珠子会晃；粉色齐胸襦裙、金色腰带配红蝴蝶结、水袖；浅青色披帛像丝带一样扭转飘动；脚踩一朵小祥云，全程轻轻浮动。补妆回来后左髻多一朵粉花、唇色更红、周身闪光 | 月宫形象管理大师：优雅、要面子，一遇事就破功，表情切换极快 | **“注意形象！”** | 闭眼微笑、半睁眼瞪人、死鱼眼（¬_¬）、震惊（眼珠弹出、双手捧脸、头发和步摇炸起）、慌张挥手冒汗、拿小镜子补妆 |
| **玉兔 · 团团** | 一颗白色麻薯团子兔：长耳朵（右耳尖总是耷拉），左耳根系红蝴蝶结，粉腮红，ω 嘴加小粉鼻，头顶两根呆毛，屁股一团尾巴 | 吃货，嘴硬，心虚时眼神乱飘；关键时刻很讲义气 | **“就一口！”** | 豆豆眼、星星眼加口水、幸福眯眼加仓鼠腮帮、斜眼心虚冒汗、挤眼 > <、坚定眉加兔牙大嘴；招牌动作：蓄力压扁、弹射拉长、落地回弹，最后团成一个球 |
| **人间 · 豆豆** | 锅盖头加一根呆毛，红色唐装小棉袄配金色盘扣，手提一盏会发光的兔子灯 | 好奇宝宝，眼睛最尖，永远第一个发现天上的异常 | **“妈妈快看！”** | 惊吓跳起（白眼珠）、星星眼欢呼、举手指天 |
| **天狗（客串）** | 藏青色圆滚滚小狗，红项圈金铃铛，背上用皮带绑着一口大铁锅，谐音“背锅” | 天天被冤枉“吃月亮”，下集专程来澄清 | **“这锅我不背！”** | 皱眉龇牙、爪子拼命摆、猛摇头 |

---

## 分镜台本

时间单位：秒。台词在对白气泡里逐字弹出（逗号、省略号处有停顿），每个角色有自己的“说话音”（短促的合成音节）。

### 片头

| 时间 | 画面 | 台词 | 音效 / 音乐 |
|---|---|---|---|
| 0.0–3.0 | 广寒宫夜景：星空、宫殿牌匾“广寒宫”、桂花树、白玉栏杆、云海；天上挂着巨型月饼月亮，中间印着一个“月”字。红色印章“月宫小剧场”弹出，“谁咬了月亮？”六个字逐个弹跳落下，“第 1 集” | — | 风铃四音、每个字落地“啵”、小锣 |
| 2.6–3.4 | 片头淡出，嫦娥踩云从左侧滑入（回弹），团团从右侧蹦两下进场，落地压扁回弹、扬起小尘土 | — | 竖琴刮奏、三声“boing” |

### 节拍一 · 铺垫：看好月亮（3.4–13.9）

| 时间 | 画面 | 台词 | 音效 / 音乐 |
|---|---|---|---|
| 3.5–6.25 | 远景，镜头缓慢推近。嫦娥抬手指向月亮，团团抬头看一眼 | **嫦娥**：今晚中秋，全人类都在看月亮。 | 主题曲起：五声音阶拨弦旋律加低音加木鱼 |
| 6.35–8.75 | 嫦娥半睁眼、叉腰、手指团团；团团点头 | **嫦娥**：团团，看好它，一口都不许吃！ | 小弹簧音（点头） |
| 8.85–11.4 | 团团敬礼、坚定眉。说到“毫无兴趣”时眼神飘向月亮，变成星星眼，口水越流越长；肚子“咕噜噜～”，改成捂肚子；嫦娥变死鱼眼 | **团团**：放心！我对月饼毫无兴趣！ | 口水“滴”、低沉颤动的肚子咕噜声 |
| 11.5–13.55 | 嫦娥瞪眼一指，团团吓得一缩、口水“吸溜”收回，乖乖敬礼；嫦娥掏出小圆镜闭眼微笑 | **嫦娥**：注意形象！我去补个妆～ | 吸溜、弹簧音 |
| 13.3–13.8 | 嫦娥“嗖～”地飞出画面，身后拉出速度线 | — | 嗖 |

### 节拍二 · 加码：就一口（13.9–22.6）

| 时间 | 画面 | 台词 | 音效 / 音乐 |
|---|---|---|---|
| 13.9–15.1 | 镜头推近团团和月亮。月亮“布灵布灵”闪光，团团星星眼、耳朵竖起；左看一眼、右看一眼（斜眼心虚，身体跟着歪） | — | 闪光铃声、两声“唰”、偷偷摸摸的低音拨弦 |
| 15.1–16.75 | 团团搓爪子，虚线悄悄话气泡，“就”之后停顿很久 | **团团**：就……一口！ | 拨弦一级一级往上爬 |
| 16.5–17.35 | 蓄力下蹲（压扁、耳朵后撇）→ 弹射起飞（拉长），张大嘴露出两颗兔牙，“嗷呜～” | — | 滑哨上升、弹射弹簧音 |
| 17.35–17.65 | **咬中！** 白闪、震屏、冲击星，“咔嚓！”大字，月饼渣四溅；月亮边缘被咬出三瓣缺口，露出莲蓉馅和咸蛋黄。团团挂在月亮边、腮帮鼓鼓地眨了下眼（定格停顿） | — | 咔嚓声加低频“咚”，音乐骤停；眨眼“叮” |
| 17.65–19.3 | 团团掉回地面，“咚！”压扁回弹、扬起尘土；抱着月饼块眯眼嚼嚼嚼，头顶转着小花。中景里能同时看到缺了一口的月亮 | — | 滑哨下落、“咚”、嚼嚼声、幸福小铃 |
| 19.15–19.45 | 黄红斜切转场 | — | 嗖 |
| 19.3–22.6 | **人间**：屋檐挂红灯笼，阳台桌上摆着月饼、柚子和茶，远处楼房亮着灯。左上角标签“与此同时 · 人间”。豆豆提着兔子灯抬头，发现月亮缺了一口，吓得跳起来（“？！”），附近窗户冒出一串问号；顶部弹出热搜“#月亮缺了一口# 爆” | **豆豆**：妈妈快看！月亮缺了一口！ | “叮”、问号音、热搜提示音；主题旋律高八度轻奏 |

### 节拍三 · 加码：是天狗（22.6–30.2）

| 时间 | 画面 | 台词 | 音效 / 音乐 |
|---|---|---|---|
| 22.45–22.75 | 斜切转场回月宫 | — | 嗖 |
| 22.7–24.4 | 嫦娥补完妆飞回来：发间多了粉花、周身闪光、挥手；团团还在旁边幸福地嚼 | **嫦娥**：我回来啦～ | 竖琴刮奏、闪光、嚼嚼声、主题轻奏 |
| 24.4–25.0 | 经典二次反应：瞄一眼月亮 → 回过头继续闭眼微笑（头顶冒出“？”）→ “唰”地猛回头 | — | 小“噗”、唰 |
| 25.0–26.5 | **反应大特写**：背景换成粉色放射渐变加集中线，嫦娥眼珠弹出、双手捧脸、头发和步摇全炸起来，爆炸形气泡抖动，旁边两个“！” | **嫦娥**：我的月亮！！！ | 惊吓音效：低音锣、镲、不和谐和弦 |
| 26.5–28.6 | 团团特写：腮帮还鼓着，双手藏到背后，斜眼、冒汗，边嚼边说 | **团团**：不是我！是……天狗！ | 心虚的心跳“咚咚”、泄气的弹簧音 |
| 28.6–30.2 | **沉默**：双人镜头缓慢推近。嫦娥死鱼眼，脸慢慢变红、冒出青筋；团团斜眼不敢看。“唧——”蟋蟀叫；一粒月饼渣从团团嘴边掉下来，“啪嗒”；团团“咕咚”一声咽下去，挤出无辜的笑 | — | 音乐全停，只有蟋蟀、“嗒”、咕咚；罐头笑声加屏幕底部跳动的“哈哈哈”花字 |

### 节拍四 · 反转：补月亮（30.2–41.0）

| 时间 | 画面 | 台词 | 音效 / 音乐 |
|---|---|---|---|
| 30.2–32.05 | 嫦娥双手乱挥、冒汗、发抖，最后指向月亮；团团吓成白眼，随后眉毛一横 | **嫦娥**：全人类都在看！快补上！ | 急促的快板拨弦加木鱼 |
| 32.1–33.3 | 团团拍胸脯、坚定眉、咧嘴露兔牙 | **团团**：包在我身上！ | “叮” |
| 33.2–34.1 | 蓄力压扁 → 起跳 → 半空中缩成一个团子，旋转着飞向月亮 | — | 弹簧蓄力、滑哨、嗖 |
| 34.1–34.7 | “啵！”团团正好卡进缺口，月亮重新变圆，缺口里嵌着一只团子兔；“叮～”严丝合缝，月亮闪光；嫦娥松了一口气（闭眼微笑，还挂着汗） | — | 啵、叮、上行琶音 |
| 34.55–34.85 | 斜切转场 | — | 嗖 |
| 34.7–37.7 | **人间**：月亮圆了，还多了一只白兔子。豆豆星星眼、咧嘴欢呼、蹦两下；楼里的邻居都趴在窗边举手机拍照（闪光）；“哇——”；热搜换成“#月亮上有只兔子# 爆” | **豆豆**：妈妈快看！月亮上有只兔子！ | 人群“哇——”、快门声、热搜提示音、主题加铃声 |
| 37.55–37.85 | 斜切转场 | — | 嗖 |
| 37.7–39.9 | 月亮大特写：团团卡在月亮里只露出脸，星星眼含着泪，可怜巴巴地往下看 | **团团**：姐姐……明年就一口？ | 慢悠悠的撒娇拨弦 |
| 39.95–41.0 | 画外传来嫦娥的怒吼，爆炸气泡的尾巴指向画外左下，震屏；团团吓得挤眼、嘴变波浪 | **嫦娥**（画外）：想都别想！ | 低音“咚”加弹簧音，罐头笑声 |

### 结尾 · 中秋快乐 + 下集预告（41.0–44.5）

| 时间 | 画面 | 台词 | 音效 / 音乐 |
|---|---|---|---|
| 41.0–42.6 | 暖白闪 → 结尾画面：嵌着团团的圆月（团团眯眼笑），嫦娥踩着云在旁边挥手；“中秋快乐”四个金色大字逐个弹出，孔明灯从云海升起，桂花飘落；“月宫小剧场 · 第1集 完” | — | 锣、上行铃声、每个字一声“啵”，主题曲欢快收尾 |
| 42.6–44.5 | 下集预告：底部面板滑上来，红色标签“下集预告”；背着大铁锅的天狗从面板底下蹦出来，拼命摇头摆爪；“第2集 · 敬请期待” | **天狗**：这锅我不背！ | 嗖、弹簧音、“汪汪”、终止和弦 |

---

## 制作说明

- 文件：`index.html`（播放器与界面）+ `core.js`（缓动、关键帧、随机数）、`rabbit.js` / `change.js` / `extras.js`（四个角色）、`fx.js`（气泡、花字、集中线、转场）、`scenes.js`（月宫、月饼月亮、人间）、`timeline.js`（整集时间线与 `renderFrame(t)`）、`cast.js`（角色卡）、`audio.js`（Web Audio 合成与调度）、`font.js`（对白字体）。
- 对白字体是霞鹜文楷（SIL OFL 1.1）的子集，只包含本集用到的字，以 WOFF 格式 base64 内嵌；加载失败会回退到系统中文字体。不联网、不用 CDN。
- 画面完全由 t 决定：随机元素（星星、花瓣、月饼渣、笑声花字）都用固定种子。`renderFrame(t)` 可直接逐帧导出；`?clean` 隐藏界面，`?t=秒数` 打开时停在指定时刻。
- 声音：旋律是 C 宫五声音阶，用三角波加锯齿泛音经低通包络模拟拨弦，另有低音和木鱼；音效（弹簧、嗖、咔嚓、咚、滑哨、蟋蟀、咕咚、锣、人群“哇”、狗叫、罐头笑声）都由振荡器、噪声和滤波器实时合成；每个角色的对白都配有逐字的“说话音”。
- 操作：点击画面开始；空格或 K 播放/暂停，R 重播，← → 快退/快进 2 秒，M 静音，H 隐藏界面；底部进度条可以拖动。

## 截图（`_shots/`，1080×1920）

| 文件 | 时刻 | 内容 |
|---|---|---|
| `00_load.png` | — | 打开页面：片头定格加“点击开始” |
| `00_cast.png` | — | 角色设定卡 |
| `01_title.png` | 1.7 | 片头：月宫小剧场《谁咬了月亮？》 |
| `02_beat1_promise.png` | 10.8 | 节拍一：“我对月饼毫无兴趣！”（星星眼加口水） |
| `03_beat2_chomp.png` | 17.5 | 节拍二：咔嚓！挂在月亮边上 |
| `04_earth_bitten.png` | 21.7 | 节拍二：人间发现“月亮缺了一口” |
| `05_beat3_shock.png` | 25.7 | 节拍三：嫦娥破防“我的月亮！！！” |
| `06_beat3_tiangou.png` | 28.3 | 节拍三：“不是我！是……天狗！” |
| `07_beat3_silence.png` | 29.62 | 节拍三：沉默，月饼渣“啪嗒” |
| `08_beat4_plug.png` | 34.35 | 节拍四：团团“啵”地卡进缺口 |
| `09_earth_rabbit.png` | 36.8 | 节拍四：人间“月亮上有只兔子！” |
| `10_button_plea.png` | 39.6 | 节拍四：“姐姐……明年就一口？” |
| `11_button_shout.png` | 40.6 | 节拍四：画外“想都别想！” |
| `12_ending.png` | 42.5 | 结尾：中秋快乐 |
| `13_teaser.png` | 44.3 | 下集预告：天狗“这锅我不背！” |
