38 lines
3.7 KiB
Markdown
38 lines
3.7 KiB
Markdown
# 玩法介绍正式功能包
|
||
|
||
Asset Bundle 名称:`gameplay_intro`。
|
||
|
||
- `prefab/GameplayIntro.prefab`:本关介绍面板固定布局,可在 Creator 中编辑背景、标题、滑动区域和分页器位置。
|
||
- `assets/Script/module/Tool/LevelGameplay.ts`:主脚本目录中的筛选工具,从实际关卡的方块、门、地块及生成队列识别玩法,并按类型去重。主场景仅以类型引用 GameplayIntro,在分包加载完成后用组件名获取实例,避免启动时依赖尚未加载的分包脚本。
|
||
- `script/GameplayIntro.ts`:绑定预制体节点,关闭按钮或外部点击关闭,相邻三页图片加载与释放。
|
||
- `script/GuideCarousel.ts`:鼠标/触摸翻页、缓动回弹、最多三个主圆点及白点替换动画;三个主圆点表示的页码范围外还有介绍时,对应侧显示 60% 大小的小提示点,使用非当前页圆点图片,替换动画期间淡入;单页隐藏分页且不绑定拖动,双页显示两点。
|
||
- `Texture/`:面板背景、玩法指南标题、问号、关闭按钮及分页圆点等 UI 素材;原有中文玩法图片已清理,玩法图片统一加载公共目录。
|
||
- `assets/resources/Window_Prop/`:34 组公共玩法图片,按 `titleN`、`iconN`、`IntroductionN` 加载。daoju26 使用素材 27,daoju27 使用素材 26。
|
||
|
||
游戏入口由 `assets/Script/SceneManager.ts` 控制:进入场景时按实际加载的关卡生成介绍列表,没有特殊道具就隐藏问号。首次点击 `openGameplayIntro` 加载本包的 `prefab/GameplayIntro`,实例挂到 Inspector 绑定的 `tipPanel` 节点;关闭后保留固定布局,释放所有玩法页图片,再次打开复用实例,按解锁关卡倒序排列后定位最左端的最新玩法;三个分页点时高亮左边第 1 点。
|
||
|
||
`GameplayIntro.open(entries)` 接收已经筛选的介绍列表。`NEW_LEVEL.json` 仅提供介绍编号和排列顺序,不再用解锁关卡或玩家进度筛选。开局方块和 `spawnGates[].spawnQueue[].members` 都纳入本关范围,消除后仍可查看;同类型只展示一页。木箱/快递盒/彩色木箱、普通/定次连接等按实际变体匹配,花盆借用的不可见盖板不增加快递盒介绍。
|
||
|
||
场景接线:在 GameScene 的 Top/tip 下放置问号 Sprite + Button,图片使用本包 `wenhao`;Button 点击事件绑定 Canvas 上的 SceneManager.openGameplayIntro。SceneManager 的 Tip Panel 属性绑定场景现有的 tipPanel。tipPanel 应作为位于游戏内容之上的居中容器,不需要添加覆盖整个屏幕的输入拦截组件。
|
||
|
||
预制体直接引用背景、标题、关闭按钮和两种分页圆点;34 种公共玩法图片由脚本按当前页及相邻页动态加载,不能把所有玩法图片拖到预制体中,以免一次加载全部图片。
|
||
|
||
测试包及预览专用接口已移除,启动场景已恢复为主线正式场景。
|
||
|
||
## 可编辑的固定玩法页结构
|
||
|
||
直接打开 `prefab/GameplayIntro.prefab`:
|
||
|
||
```
|
||
IntroViewport
|
||
└─ Pages
|
||
├─ Page1
|
||
│ ├─ TitleImage
|
||
│ ├─ IconImage
|
||
│ └─ DescriptionImage
|
||
├─ Page2(相同结构)
|
||
└─ Page3(相同结构)
|
||
```
|
||
|
||
所有图片节点已经放在面板预制体内,SpriteFrame 留空。IconImage 和 DescriptionImage 的大小由 Sprite 的 Size Mode、Trim 及节点尺寸/缩放控制,代码不覆盖;TitleImage 仍以预制体 Width/Height 为展示区域等比适配;三页需要保持相同布局。代码仅复用三个页面、改变分页位置并动态加载图片。道具图和说明图不做代码缩放,标题图保留等比适配;没有单图比例修正。翻远或关闭面板时清空图片并归还资源引用,不销毁这三个页面;面板整体销毁时由引擎销毁子节点。
|