MatchMaster/assets/mini_program_benefits/docs/mini-program-benefits-prefabs.md
2026-09-18 12:14:57 +08:00

2.9 KiB
Raw Blame History

小程序福利预制体维护

更新日期:2026-09-18。返回活动总览

编辑入口

活动预制体位于 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 产物不能作为当前版本验证依据。