MatchMaster/docs/mini-program-benefits-prefabs.md
2026-09-18 11:49:52 +08:00

42 lines
2.9 KiB
Markdown
Raw 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.

# 小程序福利预制体维护
更新日期:2026-09-18。[返回活动总览](../assets/mini_program_benefits/README.md)
## 编辑入口
活动预制体位于 assets/mini_program_benefits/prefab/,均属于 mini_program_benefits 分包。在 Cocos Creator 2.4.15 中双击编辑。
| 预制体 | 用途 |
| --- | --- |
| BenefitsWindow | 全屏遮罩、Motion 运动容器、控制组件及四个 prefab 属性引用 |
| BenefitsMain | 两个任务 Task0/Task1,View/Claim/Claimed 控制显示状态 |
| BenefitsFavoriteGuide | 收藏入口操作引导 |
| BenefitsDesktopGuide | 桌面入口操作引导 |
| BenefitsReward | 奖励遮罩、三种道具及数量展示 |
四个引用属性 mainPrefab、favoritePrefab、desktopPrefab、rewardPrefab 均不可为空。保留节点名称与层级,脚本按名称绑定按钮和状态;可调整图片、尺寸、文字和位置。页面整体由脚本缩放适配,Motion 承担开关动画。
两个引导页的 Content/Background 引用同包 guide-panel SpriteFrame,使用九宫格拉伸;旧版运行时拆网格切片方案已不适用。
## 首页入口与补位
正式入口为 HomeScene.fire 的 Load/Top/chengxu,red 为红点。Bridge 优先使用场景已有 SpriteFrame;缺图时才动态加载 resources/texture/mini-program-benefits-entry 兜底。
JiaZai.refreshHomeActivityEntryLayout 控制补位:礼包可见时保持福利与礼包的相对间距;礼包隐藏但丛林宝藏可见时占礼包默认位;两者都隐藏时占丛林宝藏位。调整场景坐标后检查所有显隐组合。
## 测试面板
当前 mountTestPanel 调用被注释,测试 prefab 的 entry 未激活。以下动态挂载与共享包规则只在恢复测试入口后适用。
普通目录 test/ 下的 BenefitsRuntimeTest.prefab 保存内置 UI,主包桥接加载后动态添加 BenefitsRuntimeTest 组件。不要重复手动挂载该脚本。根节点下 entry 为白字入口,panel 为可关闭面板。
运行时会将 entry 的点击区域设置为 200 × 88,并在 lateUpdate 根据首页 Load/Top/rank 换算坐标放到排行榜左侧。调整 prefab 中 entry 的位置不能覆盖这一运行时定位逻辑。
## 加载与释放
正式入口加载 prefab/BenefitsWindow;主窗口的引用由 Cocos 加载依赖。三个内容页实例化一次,通过 active 切页;领奖时单独实例化 BenefitsReward,无 shop 或公共 RewardWindow 依赖。
恢复测试入口后,独立测试服先加载 test/BenefitsRuntimeTest,测试 UI 与业务 UI 共用活动 Bundle。关闭福利窗口不会释放白字仍使用的共享包;离开首页销毁测试 UI,所有持有者释放后才 releaseAll/removeBundle。释放安排在节点销毁之后,避免引用已释放资源。
当前各环境都不自动挂载测试面板,关闭福利窗口即可释放其活动包。代码或素材变更后须重新构建微信包,旧 build 产物不能作为当前版本验证依据。