42 lines
2.9 KiB
Markdown
42 lines
2.9 KiB
Markdown
# 小程序福利预制体维护
|
||
|
||
更新日期: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 产物不能作为当前版本验证依据。
|