MatchMaster/assets/GameplayIntro/README.md

38 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 玩法介绍正式功能包
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 为展示区域等比适配;三页需要保持相同布局。代码仅复用三个页面、改变分页位置并动态加载图片。道具图和说明图不做代码缩放,标题图保留等比适配;没有单图比例修正。翻远或关闭面板时清空图片并归还资源引用,不销毁这三个页面;面板整体销毁时由引擎销毁子节点。