design: 五层收集体系 — 冰箱贴/邮票/猫猫/动物/洲地图
5 层收集品和导航层级一一对应: - 关卡→冰箱贴, 城市→邮票, 地区→猫猫(不同品种), 国家→代表动物, 大洲→洲地图 - 城市主题礼物区含 5 个收集册(Tab 切换) - playerState 新增 collectedRegionCats/collectedAnimals/collectedMaps - 14 国代表动物 + 8 地区猫猫品种 + 6 洲地图风格定义 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -252,112 +252,192 @@ Framework Ready: 全量 6 洲 48 国 127 城市的 catalog 已搭好,扩城市
|
|||||||
|
|
||||||
## 4. 收集系统 — 城市主题礼物区
|
## 4. 收集系统 — 城市主题礼物区
|
||||||
|
|
||||||
玩家通过通关获得两种收藏品,存放在"城市主题礼物区"。
|
5 层收集体系,和导航层级一一对应,存放在"城市主题礼物区"。
|
||||||
|
|
||||||
### 4.1 收藏品类型
|
### 4.1 五层收集品总览
|
||||||
|
|
||||||
| 收藏品 | 获取方式 | 每城数量 | 说明 |
|
| 层级 | 收藏品 | 获取条件 | 数量 | 收集册 |
|
||||||
|--------|---------|---------|------|
|
|------|--------|---------|------|--------|
|
||||||
| 城市冰箱贴 | 通关城市内每个小关卡(关 1-6) | 6 个 | 每关奖励 1 个该城市特色冰箱贴 |
|
| 关卡 | 城市冰箱贴 | 通关每个小关卡 | 每城 6 个 | 冰箱贴收集册 |
|
||||||
| 城市邮票贴 | 通关城市全部 6 关 | 1 个 | 集齐 6 个冰箱贴后自动获得城市邮票 |
|
| 城市 | 城市邮票贴 | 通关城市全部 6 关 | 每城 1 个 | 邮票贴收集册 |
|
||||||
| 城市猫猫 | 通关城市 Boss 关(关 6) | 1 只 | 同时获得邮票和猫猫 |
|
| 地区 | 地区猫猫头像贴 | 通关地区内全部城市 | 每地区 1 个 | 猫猫收集册 |
|
||||||
|
| 国家 | 国家动物形象贴 | 通关国家内全部城市/地区 | 每国 1 个 | 动物收集册 |
|
||||||
|
| 大洲 | 洲地图 | 通关洲内全部国家 | 每洲 1 张 | 地图收集册 |
|
||||||
|
|
||||||
### 4.2 冰箱贴系统
|
```
|
||||||
|
通关关卡 → 冰箱贴
|
||||||
|
└→ 集齐 6 关 → 城市邮票
|
||||||
|
└→ 集齐地区全城市 → 地区猫猫(不同品种)
|
||||||
|
└→ 集齐国家全地区 → 国家代表动物
|
||||||
|
└→ 集齐洲全国家 → 洲地图
|
||||||
|
```
|
||||||
|
|
||||||
**获取规则:**
|
### 4.2 冰箱贴(关卡级)
|
||||||
- 每通关 1 个小关卡,奖励该城市 1 个特色冰箱贴
|
|
||||||
- 冰箱贴内容对应该关使用的城市特色元素(如北京关 1 → 糖葫芦冰箱贴)
|
|
||||||
- 通关动画结束后,冰箱贴从画面飞入收集册
|
|
||||||
|
|
||||||
**冰箱贴收集册:**
|
- 通关每个小关卡奖励 1 个该城市特色冰箱贴
|
||||||
- 入口在"城市主题礼物区"
|
- 冰箱贴对应该关的代表元素(如北京关 1 → 天安门冰箱贴)
|
||||||
- 按城市分页展示,每页最多 6 个冰箱贴(对应 6 关)
|
- 通关动画后冰箱贴飞入收集册
|
||||||
- 已收集:彩色冰箱贴 + 关卡编号
|
|
||||||
- 未收集:灰色占位 + 锁图标
|
|
||||||
- 全城市集齐 6 个时,页面顶部显示"已完成 ✅"
|
|
||||||
|
|
||||||
**冰箱贴数据:**
|
|
||||||
```javascript
|
```javascript
|
||||||
// 冰箱贴和城市元素绑定,每关指定 1 个代表元素
|
|
||||||
{
|
{
|
||||||
id: 'magnet_beijing_1',
|
id: 'magnet_beijing_1',
|
||||||
cityId: 'beijing',
|
cityId: 'beijing',
|
||||||
levelId: 1,
|
levelId: 1,
|
||||||
elementId: 'beijing_03', // 天安门 — 该关的代表元素
|
elementId: 'beijing_03',
|
||||||
name: '天安门冰箱贴',
|
name: '天安门冰箱贴',
|
||||||
image: 'images/magnets/beijing/magnet_beijing_1.png',
|
image: 'images/magnets/beijing/magnet_beijing_1.png',
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 4.3 邮票贴系统
|
### 4.3 邮票贴(城市级)
|
||||||
|
|
||||||
**获取规则:**
|
- 通关城市全部 6 关后自动获得
|
||||||
- 通关城市全部 6 关后自动获得该城市邮票贴
|
- 获得时播放"盖章"动画(邮戳落下 + 印章音效)
|
||||||
- 邮票贴和城市猫猫同时发放(Boss 关通关奖励)
|
- 每张邮票:城市名 + 标志图案 + 获得日期
|
||||||
- 获得邮票时播放"盖章"动画(邮戳落下 + 印章音效)
|
|
||||||
|
|
||||||
**邮票贴收集册:**
|
|
||||||
- 入口在"城市主题礼物区"
|
|
||||||
- 按洲分页展示
|
|
||||||
- 每个邮票:城市名 + 城市标志图案 + 获得日期
|
|
||||||
- 已收集:彩色邮票
|
|
||||||
- 未收集:灰色虚线框 + 城市名
|
|
||||||
- 集齐一个洲的全部邮票后,解锁"洲际旅行家"成就
|
|
||||||
|
|
||||||
**邮票贴数据:**
|
|
||||||
```javascript
|
```javascript
|
||||||
{
|
{
|
||||||
id: 'stamp_beijing',
|
id: 'stamp_beijing',
|
||||||
cityId: 'beijing',
|
cityId: 'beijing',
|
||||||
name: '北京邮票',
|
name: '北京邮票',
|
||||||
image: 'images/stamps/stamp_beijing.png',
|
image: 'images/stamps/stamp_beijing.png',
|
||||||
acquiredDate: null, // 获得后写入日期
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 4.4 城市主题礼物区
|
### 4.4 猫猫头像贴(地区级)
|
||||||
|
|
||||||
|
- 通关地区内全部城市后获得该地区专属猫猫
|
||||||
|
- **每个地区的猫猫品种不同**,体现地域特色
|
||||||
|
|
||||||
|
| 地区 | 猫猫品种 | 设计方向 |
|
||||||
|
|------|---------|---------|
|
||||||
|
| 华北 | 中华狸花猫 | 虎斑花纹 + 红围巾 |
|
||||||
|
| 东北 | 临清狮猫 | 白色长毛 + 雪花耳饰 |
|
||||||
|
| 华东 | 三花猫 | 三色 + 丝绸蝴蝶结 |
|
||||||
|
| 华中 | 橘猫 | 胖橘 + 辣椒项链 |
|
||||||
|
| 华南 | 奶牛猫 | 黑白 + 木棉花簪 |
|
||||||
|
| 西南 | 玄猫 | 全黑 + 银饰耳坠 |
|
||||||
|
| 西北 | 黄狸猫 | 沙色 + 敦煌丝带 |
|
||||||
|
| 港澳台 | 玳瑁猫 | 棕黑花色 + 珍珠耳环 |
|
||||||
|
|
||||||
|
> 非中国国家不设地区层级,跳过此奖励,直接从城市邮票到国家动物。
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
{
|
||||||
|
id: 'cat_region_north_china',
|
||||||
|
regionId: 'north_china',
|
||||||
|
breed: '中华狸花猫',
|
||||||
|
name: '小狸',
|
||||||
|
image: 'images/cats/region/cat_north_china.png',
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.5 国家动物形象贴(国家级)
|
||||||
|
|
||||||
|
- 通关国家内全部城市后获得该国代表动物
|
||||||
|
- 动物选最具国家辨识度的标志性物种
|
||||||
|
|
||||||
|
| 国家 | 代表动物 | 设计方向 |
|
||||||
|
|------|---------|---------|
|
||||||
|
| 中国 | 大熊猫 | 竹子 + 国旗配色 |
|
||||||
|
| 日本 | 柴犬 | 和风围巾 |
|
||||||
|
| 韩国 | 珍岛犬 | 韩服小帽 |
|
||||||
|
| 泰国 | 大象 | 泰式花环 |
|
||||||
|
| 新加坡 | 鱼尾狮 | 金沙造型 |
|
||||||
|
| 土耳其 | 安哥拉猫 | 蓝眼异瞳 |
|
||||||
|
| 法国 | 高卢鸡 | 贝雷帽 |
|
||||||
|
| 英国 | 柯基犬 | 皇冠 |
|
||||||
|
| 意大利 | 意大利狼 | 罗马斗篷 |
|
||||||
|
| 美国 | 白头鹰 | 星条旗翅膀 |
|
||||||
|
| 澳大利亚 | 袋鼠 | 拳击手套 |
|
||||||
|
| 巴西 | 金刚鹦鹉 | 桑巴羽冠 |
|
||||||
|
| 埃及 | 法老猎犬 | 法老头饰 |
|
||||||
|
| 印度 | 孟加拉虎 | 莲花 |
|
||||||
|
|
||||||
|
> 更多国家动物随城市扩展逐步添加。扁平冰箱贴风格,和城市元素视觉统一。
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
{
|
||||||
|
id: 'animal_china',
|
||||||
|
countryId: 'china',
|
||||||
|
animal: '大熊猫',
|
||||||
|
name: '团团',
|
||||||
|
image: 'images/animals/animal_china.png',
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.6 洲地图(大洲级)
|
||||||
|
|
||||||
|
- 通关洲内全部国家后获得该洲完整地图
|
||||||
|
- 地图上标注所有已通关城市的位置
|
||||||
|
- 获得时播放地图展开动画(卷轴铺开 + 城市点亮)
|
||||||
|
|
||||||
|
| 洲 | 地图风格 | 设计方向 |
|
||||||
|
|----|---------|---------|
|
||||||
|
| 亚洲 | 丝绸之路风 | 暖色调 + 古地图纹理 |
|
||||||
|
| 欧洲 | 航海图风 | 羊皮纸 + 罗盘 |
|
||||||
|
| 北美洲 | 公路旅行风 | 66 号公路 + 路标 |
|
||||||
|
| 南美洲 | 探险地图风 | 丛林 + 河流 |
|
||||||
|
| 非洲 | 大草原风 | 日落 + 金合欢树 |
|
||||||
|
| 大洋洲 | 珊瑚礁风 | 海洋蓝 + 珊瑚 |
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
{
|
||||||
|
id: 'map_asia',
|
||||||
|
continentId: 'asia',
|
||||||
|
name: '亚洲地图',
|
||||||
|
image: 'images/maps/map_asia.png',
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.7 城市主题礼物区
|
||||||
|
|
||||||
**入口位置:** 主页底部 Tab 或城市页右上角礼物图标
|
**入口位置:** 主页底部 Tab 或城市页右上角礼物图标
|
||||||
|
|
||||||
**包含 3 个子页面:**
|
**包含 5 个收集册(Tab 切换):**
|
||||||
|
|
||||||
| 子页面 | 内容 | 进度展示 |
|
| 收集册 | 内容 | 分页方式 | 进度 |
|
||||||
|--------|------|---------|
|
|--------|------|---------|------|
|
||||||
| 冰箱贴收集册 | 按城市分页的冰箱贴网格 | X/总数 |
|
| 🧲 冰箱贴册 | 每关获得的城市冰箱贴 | 按城市分页,每页 6 格 | X/总数 |
|
||||||
| 邮票贴收集册 | 按洲分页的邮票网格 | X/Y 城市已集齐 |
|
| 📮 邮票册 | 每城获得的城市邮票 | 按洲分页 | X/Y 城市 |
|
||||||
| 猫猫图鉴 | 按洲分类的猫猫陈列 | X/Y 只已收集 |
|
| 🐱 猫猫册 | 每地区获得的猫猫头像 | 按国家分页 | X/Y 地区 |
|
||||||
|
| 🐾 动物册 | 每国获得的代表动物 | 按洲分页 | X/Y 国家 |
|
||||||
|
| 🗺️ 地图册 | 每洲获得的洲地图 | 一页展示全部 | X/6 洲 |
|
||||||
|
|
||||||
**总览信息栏(礼物区顶部):**
|
**总览信息栏(礼物区顶部):**
|
||||||
- 冰箱贴:已收集 X / 总 Y 个
|
- 🧲 冰箱贴 X/Y · 📮 邮票 X/Y · 🐱 猫猫 X/Y · 🐾 动物 X/Y · 🗺️ 地图 X/6
|
||||||
- 邮票:已收集 X / 总 Y 个
|
|
||||||
- 猫猫:已收集 X / 总 Y 只
|
|
||||||
|
|
||||||
### 4.5 分享触发
|
### 4.8 分享触发
|
||||||
|
|
||||||
| 触发点 | 分享内容 |
|
| 触发点 | 分享内容 |
|
||||||
|--------|---------|
|
|--------|---------|
|
||||||
| 获得冰箱贴 | "我收集了XX冰箱贴!" + 冰箱贴图片 |
|
| 获得冰箱贴 | "我收集了XX冰箱贴!" + 冰箱贴图片 |
|
||||||
| 获得城市邮票 | "XX城市邮票到手!" + 邮票图片 + 护照进度 |
|
| 获得城市邮票 | "XX城市邮票到手!" + 邮票图片 |
|
||||||
| 集齐一个城市全部冰箱贴 | "XX城市冰箱贴全收集!" |
|
| 获得地区猫猫 | "华北狸花猫收入囊中!" + 猫猫图片 |
|
||||||
| 集齐一个洲全部邮票 | "亚洲旅行家达成!" + 全部邮票合照 |
|
| 获得国家动物 | "中国大熊猫 GET!" + 动物图片 |
|
||||||
|
| 获得洲地图 | "亚洲地图集齐!" + 地图全景 |
|
||||||
|
| 五册全满里程碑 | "世界旅行家达成!" + 五册合照 |
|
||||||
|
|
||||||
### 4.6 与 playerState 的关系
|
### 4.9 与 playerState 的关系
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
// playerState 新增字段
|
// playerState 收集字段
|
||||||
{
|
{
|
||||||
// 冰箱贴收集
|
|
||||||
collectedMagnets: [
|
collectedMagnets: [
|
||||||
// { magnetId: 'magnet_beijing_1', cityId: 'beijing', levelId: 1, acquiredDate: '2026-03-28' }
|
// { magnetId, cityId, levelId, acquiredDate }
|
||||||
],
|
],
|
||||||
|
|
||||||
// 邮票收集
|
|
||||||
collectedStamps: [
|
collectedStamps: [
|
||||||
// { stampId: 'stamp_beijing', cityId: 'beijing', acquiredDate: '2026-03-28' }
|
// { stampId, cityId, acquiredDate }
|
||||||
|
],
|
||||||
|
collectedRegionCats: [
|
||||||
|
// { catId, regionId, acquiredDate }
|
||||||
|
],
|
||||||
|
collectedAnimals: [
|
||||||
|
// { animalId, countryId, acquiredDate }
|
||||||
|
],
|
||||||
|
collectedMaps: [
|
||||||
|
// { mapId, continentId, acquiredDate }
|
||||||
],
|
],
|
||||||
|
|
||||||
// 猫猫收集(已有,不变)
|
|
||||||
collectedCats: ['beijing'],
|
|
||||||
}
|
}
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user