MatchMaster/docs/testSeven-local-preview.md

40 lines
4.5 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.

# 七日活动本地预览
使用 Cocos Creator 2.4.15 打开 `assets/testSeven/TestSeven.fire`,选择「预览当前场景」。无需登录或测试 UID。
顶部提供「预览弹出上浮(不领取)」可反复播放当前天数的图标和数量,不改变领取状态。底部可选择第 1~7 天、今日已领、全部完成、已过期、重置、重新打开和下次失败。
建议逐项检查:
- 没有关闭按钮;点击弹窗背景、标题、卡片等有颜色的 UI 不算点击外部;贴图透明空白算外部,但若下方仍有可见 UI 则由下方 UI 处理。
- 打开后不自动领取。点击当前奖励卡片或外部,一次只领取当前奖励,成功后保留活动弹窗;之后再次点击外部才关闭并交还后续弹窗判定。
- 本地领取立即响应,没有模拟请求延迟;播放效果期间连点卡片、实际遮罩都不能重复领取或预约关闭。
- 「下次失败」后领取失败,保持弹窗且不播放效果,可重试。
- 上浮:道具位置显示图标和数量,缓慢上移少许后淡出。
- 第 3 天双奖励、第 6 天锤子+冻结双奖励、第 5 天无限体力秒数(1800 秒)、第 7 天猫皮肤;可重复预览上浮效果。
- 已领取、完成、过期状态不会再发奖;关闭后重新打开保留内存状态。
七日活动使用独立 `assets/reward_claim_effect/RewardClaimEffect.ts`,不再使用旧 RewardWindow 或数字图集。正式领取只使用弹出上浮:在道具中心上方一个道具高度处生成(跟随图标缩放),从小弹到 1.25 倍并快速回正,再缩至 0.9 倍、弹到 1.25 倍并快速回正;停留 0.25 秒后,用 0.6 秒上移 150px 并同时淡出。测试仅修改内存,不连接正式 Runtime、不增加资产。主页触发、服务端状态和真实到账仍需测试服验证。
## 接口测试面板
预览 `TestSeven.fire` 后,点击顶部「打开接口测试面板」。输入测试服账号 UID 和登录 token,或点击「读取当前登录」填入当前运行环境里的账号。独立场景没有登录流程,取不到 token 时需要手动填入;token 只保存在输入框内存中。
「发送查询」向 `Utils.testHttpip` 的 `signInActivityInfo` 发起 POST,并显示 HTTP 状态、耗时、活动字段和可滚动的完整 JSON;控制台可搜索 `[testSeven][signInActivityInfo]`。查询可能修改后端签到记录。浏览器预览需要测试服允许跨域,网络失败时会提示。
「预览返回数据」用真实七日 Prefab 展示响应状态,可在该响应的内存副本上模拟点击领取、奖励动画、点击外部只领取、再次点击才关闭和失败重试,不增加资产,也不提交领取状态。「清除该账号弹窗记录」只清除最近一次成功查询的 UID + activityId 对应的本地自动弹窗记录,不清除奖励防重记录或后端状态。此操作仅影响当前预览环境的存储,不能清除微信开发者工具或真机中的记录。
## 打包排除
`testSeven` 是独立测试 Bundle,主场景没有引用它,但这不意味着构建器会自动排除它。打包前把 `assets/testSeven/` 和 `assets/testSeven.meta` 一起移到项目 `assets` 外的本地备份目录,等待 Creator 刷新后构建;测试结束再移回原位并保留 UUID。不要将 TestSeven 选作发布启动场景。脚本额外使用 `CC_PREVIEW` 限制执行,但该限制不能代替构建排除。
确认本地效果后,再使用原有正式场景构建测试服版本。
## 透明区域点击回归
选择「今日已领」,点击背景和标题的透明边角应关闭;点击有颜色的区域应保持打开。选择第 1 天后点透明处应只领取,效果结束后再次点透明处才关闭。也要检查弹出缩放、卡片呼吸缩放时的边缘判定。
命中数据按原图 Alpha ≥ 16/255 生成,忽略几乎透明的柔边。修改七日活动贴图后运行 `python tools/generate-seven-hit-masks.py`(需要 Pillow),再让 Creator 导入更新。当前 16 张图片使用约 44 KB 数据,运行时不读取纹理像素;文字仍使用文本节点范围判定。
多奖励新效果排成同一水平行,以原道具区域居中,按左到右每隔 0.145 秒生成(第一次放大并回正的时长)。所有道具弹出完成后停留 0.25 秒,再从左到右每隔 0.145 秒开始上移渐隐。可用第 3 天双奖励、第 6 天锤子+冻结双奖励、第 7 天不同高度图标检查排列和时序。