MatchMaster/docs/popup-bundle-ui-shop-image-dependencies.md
2026-08-28 19:21:40 +08:00

346 lines
18 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.

# Win / Lose / propWindow 对 UI 与 shop 的图片依赖清单
整理日期:2026-08-28
## 统计口径
- 依据当前微信构建产物 `build/wechatgame/subpackages/<bundle>/config.*.json` 的 `deps` 与 `redirect`,并反查当前三个 Prefab 的 UUID 和节点。
- 这里只列构建时被归入 `UI` 或 `shop` 依赖的项目,不包含 `main`、`internal`、`start-scene` 等其他依赖。
- “归属 UI/shop”是构建结果,不等于源文件一定在 `assets/UI` 或 `assets/shop`。Cocos 会按 Bundle 优先级和共享引用决定资源最终归属。
- `Pause` 和 `NewMode` 不在本清单范围内;当前微信构建中它们没有 `UI` 依赖。
## 汇总
| Prefab | UI 重定向项 | shop 重定向项 | 特殊项 |
| --- | ---: | ---: | --- |
| Win | 13 | 7 | UI 中包含 1 个完整 `catUI` 图集;shop 中包含 3 个 Creator 默认按钮状态图 |
| Lose | 24 | 16 | shop 中包含 3 个 Creator 默认按钮状态图和 1 个非图片 Effect |
| propWindow | 13 | 2 | 两个 shop 归属项的源文件实际位于 `assets/UI`、`assets/res` |
---
## Win
### Win 图片处理分类
这里的“独享”以单个 SpriteFrame 的 UUID 为判断单位,不代表它所在的整张 `.plist/.png` 图集也归 Win 独享。
#### A. Win 独享:拆出后迁入 Win
以下 13 个 SpriteFrame 在当前 `assets` 中只有 `Win.prefab` 引用。可以从原图集拆出,放入 `assets/win/texture` 后重新绑定 Win:
| SpriteFrame | 原始资源 | 当前使用节点 |
| --- | --- | --- |
| `fanhuizhujiem.png` | `assets/UI/UI/newUI.plist` | `Win/tween/homeBtn` |
| `career_Title.png` | `assets/UI/UI/newUI.plist` | `Win/tween/Ruzhi/yinzhang` |
| `jinhao.png` | `assets/UI/UI/newUI.plist` | `Win/Rank/New Sprite` |
| `huodongt.png` | `assets/UI/UI/newUI.plist` | `Win/Rank/New Sprite` |
| `nextBtn.png` | `assets/UI/UI/newUI.plist` | `Win/tween/nextBtn` |
| `didi.png` | `assets/UI/UI/newUI.plist` | `Win/tween/gongxi/gongxiguoguan` |
| `guankazi.png` | `assets/UI/UI/newUI.plist` | `Win/tween/diguan` |
| `career_yanhua.png` | `assets/UI/UI/newUI.plist` | `Win/tween/Ruzhi/caidai1`、`caidai2` |
| `anniu.png` | `assets/UI/UI/pop/gameui.plist` | `Win/tween/doubleBtn` |
| `ninyihuode.png` | `assets/UI/UI/pop/gameui.plist` | `Win/tween/tiaodik/ninyihuode` |
| `dikuang.png` | `assets/UI/UI/pop/gameui.plist` | `Win/tween/tiaodik` |
| `meijinbi.png` | `assets/UI/UI/pop/gameui.plist` | `Win/tween/tiaodik/meijinbi` |
| `touxiangk1.png` | `assets/action_bundle/Avatar/avatar.plist` | `Win/tween/Ruzhi/bg/kuang`、`icon` Mask |
注意:`newUI.plist`、`gameui.plist`、`avatar.plist` 中还有大量非 Win 资源,所以不能把三张完整图集直接移动到 Win。这里只能拆出表中的独享帧;如果要从原图集中删除这些帧,需要重新打包原图集。
#### B. 项目共享:原资源保留,复制一份到 Win
| 资源 | Win 使用位置 | Win 之外的当前引用 | 处理方式 |
| --- | --- | --- | --- |
| `catUI.plist`(`cat1~cat11`) | `Win/tween/Ruzhi/bg2`、`Win/Career/bg2/cat`、`WinCat.catUI` | `action_bundle/Avatar.prefab`、`career/rankGame.prefab`、`gacha_bundle/Gacha2.prefab`、`HomeScene.fire` | 原图集必须保留;Win 本地图集已经建立并绑定到 `WinCat.catUI`,还需替换两个残留的旧 `cat5` SpriteFrame |
| `half_black_x.png` | `Win/tween/endlessNode/level_x` | `GameScene.fire`、`HomeScene.fire`、`shop/passCheck.prefab`、`passCheckItem.prefab` | 复制该帧到 Win,原帧保留 |
| `kuang_1.png` | `Win/tween/gongxi/kuang`、`icon` Mask | `action_bundle/Avatar.prefab`、`Share.prefab`、排行榜/评论 Prefab、`HomeScene.fire`、`shop.prefab` | 复制该帧到 Win,原帧保留 |
| `coins4.png` | `Win/tween/coins4` | `shop/onMCReward.prefab` | 复制该帧到 Win,原帧保留 |
Creator 的 `default_btn_normal / pressed / disabled` 也被其他地方共享,但它们是 Win 按钮的无效残留状态引用,不归入“复制图片”类别;应直接清空引用。
### Win → UI
#### `assets/UI/UI/newUI.plist`
需要拆出的 SpriteFrame:
| SpriteFrame | 当前使用节点 | 引用分类 |
| --- | --- | --- |
| `fanhuizhujiem.png` | `Win/tween/homeBtn` | Win 独享,拆出后迁入 Win |
| `career_Title.png` | `Win/tween/Ruzhi/yinzhang` | Win 独享,拆出后迁入 Win |
| `jinhao.png` | `Win/Rank/New Sprite` | Win 独享,拆出后迁入 Win |
| `huodongt.png` | `Win/Rank/New Sprite` | Win 独享,拆出后迁入 Win |
| `nextBtn.png` | `Win/tween/nextBtn` | Win 独享,拆出后迁入 Win |
| `didi.png` | `Win/tween/gongxi/gongxiguoguan` | Win 独享,拆出后迁入 Win |
| `guankazi.png` | `Win/tween/diguan` | Win 独享,拆出后迁入 Win |
| `career_yanhua.png` | `Win/tween/Ruzhi/caidai1`、`caidai2` | Win 独享,拆出后迁入 Win |
#### `assets/UI/UI/pop/gameui.plist`
| SpriteFrame | 当前使用节点 | 引用分类 |
| --- | --- | --- |
| `anniu.png` | `Win/tween/doubleBtn` | Win 独享,拆出后迁入 Win |
| `ninyihuode.png` | `Win/tween/tiaodik/ninyihuode` | Win 独享,拆出后迁入 Win |
| `dikuang.png` | `Win/tween/tiaodik` | Win 独享,拆出后迁入 Win |
| `meijinbi.png` | `Win/tween/tiaodik/meijinbi` | Win 独享,拆出后迁入 Win |
#### `assets/UI/Cat/catUI.plist`
Win 不是只引用一个静态猫图,而是把整个 `catUI` 绑定给 `WinCat.ts`,运行时根据 `useravatarCat` 动态调用 `getSpriteFrame()`。
引用分类:**项目共享,只能复制,不能移动原图集。**
需要保留的全部帧:
`cat1.png`、`cat2.png`、`cat3.png`、`cat4.png`、`cat5.png`、`cat6.png`、`cat7.png`、`cat8.png`、`cat9.png`、`cat10.png`、`cat11.png`
当前处理状态:
- `assets/win/texture/catUI.plist` 已经建立,具有新的 UUID。
- `Win/Career` 的 `WinCat.catUI` 已经绑定到 Win 本地图集。
- `Win/tween/Ruzhi/bg2` 仍引用原 `assets/UI/Cat/catUI.plist` 的 `cat5`。
- `Win/Career/bg2/cat` 仍引用原 `assets/UI/Cat/catUI.plist` 的 `cat5`。
因此还需要把上面两个 Sprite 的 SpriteFrame 改为 `assets/win/texture/catUI.plist` 中的新 `cat5`。完成后 Win 才会彻底解除对原 `catUI` 和原 `cat5` 的引用。
### Win → shop
这些项目在当前构建中被归入 `shop` 依赖,但多数源文件并不在 `assets/shop`。
#### `assets/UI/font/font.plist`
| SpriteFrame | 当前使用节点 | 引用分类 |
| --- | --- | --- |
| `half_black_x.png` | `Win/tween/endlessNode/level_x` | 项目共享,复制到 Win,原帧保留 |
#### `assets/action_bundle/Avatar/avatar.plist`
| SpriteFrame | 当前使用节点 | 引用分类 |
| --- | --- | --- |
| `touxiangk1.png` | `Win/tween/Ruzhi/bg/kuang`、`icon` Mask | Win 独享,拆出后迁入 Win |
| `kuang_1.png` | `Win/tween/gongxi/kuang`、`icon` Mask | 项目共享,复制到 Win,原帧保留 |
#### `assets/UI/UI/pop/gameui.plist`
| SpriteFrame | 当前使用节点 | 引用分类 |
| --- | --- | --- |
| `coins4.png` | `Win/tween/coins4` | 项目共享,复制到 Win,原帧保留 |
#### Creator 默认按钮状态图
`Win/specialTips/specialCloseBtn` 的 `cc.Button` 仍绑定:
- `default_btn_normal`
- `default_btn_pressed`
- `default_btn_disabled`
这三个资源来自 Creator 内置资源,不是需要手工拆出的业务图片。后续处理 Prefab 时应清空这些 Sprite 状态引用、改用 `COLOR/NONE` transition,或替换成 Win 分包自己的按钮状态图,否则 `shop` 依赖仍可能保留。
---
## Lose
### Lose 图片处理分类
这里同样按单个 SpriteFrame 判断。即使某一帧为 Lose 独享,它所在的 `gameUI_new.plist`、`publicUI.plist` 或 `gameui.plist` 仍包含其他模块使用的图片,不能移动整张图集。
#### A. Lose 独享:拆出后迁入 Lose
以下 23 个 SpriteFrame 在当前 `assets` 中只有 `Lose.prefab` 引用:
| 原始资源 | Lose 独享 SpriteFrame |
| --- | --- |
| `assets/UI/UI/pop/gameUI_new.plist` | `20miao.png`、`return.png`、`haoyun.png`、`doudakai.png`、`chubuqule.png`、`yichu.png`、`jianshao_1.png`、`result_hp_2.png`、`jianshao.png`、`try.png`、`nali.png`、`shijaijndaol.png`、`zd1.png`、`nuliyixia.png`、`ximie.png` |
| `assets/UI/UI/publicUI.plist` | `btn_jixu _sz1.png`、`btn_jixu _sz3.png`、`btn_jixu _sz4.png`、`nz1.png`、`nz2.png`、`btn_zi_fenxiang2.png`、`btn_zi_jixu.png` |
| `assets/UI/UI/pop/gameui.plist` | `door.png` |
这些帧可以拆出放入 `assets/lose/texture`,再把 Lose Prefab 改绑到新 UUID。若要从原图集删除它们,需要重新打包原图集,不能直接移动整张 `.plist/.png`。
#### B. 项目共享:原资源保留,复制一份到 Lose
| 资源 | Lose 使用位置 | Lose 之外的当前引用 | 处理方式 |
| --- | --- | --- | --- |
| `yuandi.png` | `Lose/lose/Lock/boom_show` | `assets/prefab/map/Pause.prefab` | 复制到 Lose,原图保留 |
| `6yuan.png` | `Lose/lose/Time/Revive/price` | `shop/Revive.prefab` | 复制到 Lose,原图保留 |
| `Revive_bg.png` | `Lose/lose/Time/Revive` | `shop/Revive.prefab` | 复制到 Lose,原图保留 |
| `Revive_tishi.png` | `Lose/lose/Time/Revive/tishik` | `shop/Revive.prefab` | 复制到 Lose,原图保留 |
| `Revive_btn.png` | `Lose/lose/Time/Revive/an` | `shop/Revive.prefab` | 复制到 Lose,原图保留 |
| `mul1.png` | `Lose/lose/Time/Revive/num/mul1` | `shop/Revive.prefab` | 从 `font.plist` 复制该帧到 Lose |
| `scoin_0.png` | `Lose/lose/Time/Revive/coin/scoin_0` | `shop/Revive.prefab`,商店代码也按 `scoin_` 动态取帧 | 从 `font.plist` 复制该帧到 Lose |
| `scoin_1.png` | `Lose/lose/Time/Revive/coin/scoin_1` | `shop/Revive.prefab`,商店代码也按 `scoin_` 动态取帧 | 从 `font.plist` 复制该帧到 Lose |
| `x.png` | `Lose/lose/Time/Revive/num/x` | `shop/Revive.prefab` | 从 `font.plist` 复制该帧到 Lose |
| `guang.png` | 九个失败类型页面的 `guang` | `Pause.prefab`、`heathpop.prefab`、`propWindow`、`HomeScene`、`onMCReward` | 复制到 Lose,原图保留 |
| `close.png` | Lose 主关闭、WinStreak、Health 按钮 | Avatar、winStreak、Gacha、propWindow、HomeScene、多个 shop Prefab | 复制到 Lose,原图保留 |
| `kuangt1.png` | `Lose/lose/Time/ConfirmBox/bg` | dailyQuests、newbieGift、winStreak 及多个 shop Prefab | 复制到 Lose,原图保留 |
| `btn_Buy.png` | `Lose/lose/Time/ConfirmBox/New Sprite` | dailyQuests、newbieGift、winStreak 及多个 shop Prefab | 复制到 Lose,原图保留 |
#### Lose 特殊项
- `default_btn_normal / pressed / disabled`:项目共享,但只是 `Lose/share_tips/shareBtn`、`closeBtn` 在 `SCALE` transition 下的残留引用;不要复制,应清空。
- `assets/res/effect/jungle_shine.effect`:不是图片,并被 `jungle_treasure/jungle.prefab`、`shop/Revive.prefab`、`shop/shop.prefab` 共同引用;如果 Lose 要完全解除 `shop` 依赖,需要复制一份 Effect 到 Lose 并重新绑定,或者确认效果不用后移除引用。
### Lose → UI
#### `assets/UI/UI/pop/gameUI_new.plist`
需要拆出的 SpriteFrame:
引用分类:**以下 15 帧均为 Lose 独享,拆出后迁入 Lose。**
- `20miao.png`
- `return.png`
- `haoyun.png`
- `doudakai.png`
- `chubuqule.png`
- `yichu.png`
- `jianshao_1.png`
- `result_hp_2.png`
- `jianshao.png`
- `try.png`
- `nali.png`
- `shijaijndaol.png`
- `zd1.png`
- `nuliyixia.png`
- `ximie.png`
主要使用区域:`Time`、`Boom`、`Lock`、`Health` 及各障碍失败提示页。
#### `assets/UI/UI/publicUI.plist`
需要拆出的 SpriteFrame:
引用分类:**以下 7 帧均为 Lose 独享,拆出后迁入 Lose。**
- `btn_jixu _sz1.png`
- `btn_jixu _sz3.png`
- `btn_jixu _sz4.png`
- `nz1.png`
- `nz2.png`
- `btn_zi_fenxiang2.png`
- `btn_zi_jixu.png`
这些按钮图在 `Time`、`Boom`、`Lock`、`Revolving`、`LongAndShort`、`LongAndShortColor`、`BlockLock`、`Wall`、`ButtonWall` 中有重复使用。
#### `assets/UI/UI/pop/gameui.plist`
| SpriteFrame | 当前使用节点 | 引用分类 |
| --- | --- | --- |
| `door.png` | `Lose/lose/Lock/door` | Lose 独享,拆出后迁入 Lose |
#### `assets/UI/UI/pop/yuandi.png`
| SpriteFrame | 当前使用节点 | 引用分类 |
| --- | --- | --- |
| `yuandi` | `Lose/lose/Lock/boom_show` | 项目共享,复制到 Lose,原图保留 |
### Lose → shop
#### `assets/shop/img`
| 单图 | 当前使用节点 | 引用分类 |
| --- | --- | --- |
| `6yuan.png` | `Lose/lose/Time/Revive/price` | 项目共享,复制到 Lose,原图保留 |
| `Revive_bg.png` | `Lose/lose/Time/Revive` | 项目共享,复制到 Lose,原图保留 |
| `kuangt1.png` | `Lose/lose/Time/ConfirmBox/bg` | 项目共享,复制到 Lose,原图保留 |
| `Revive_tishi.png` | `Lose/lose/Time/Revive/tishik` | 项目共享,复制到 Lose,原图保留 |
| `Revive_btn.png` | `Lose/lose/Time/Revive/an` | 项目共享,复制到 Lose,原图保留 |
| `btn_Buy.png` | `Lose/lose/Time/ConfirmBox/New Sprite` | 项目共享,复制到 Lose,原图保留 |
#### `assets/UI/font/font.plist`
| SpriteFrame | 当前使用节点 | 引用分类 |
| --- | --- | --- |
| `mul1.png` | `Lose/lose/Time/Revive/num/mul1` | 项目共享,复制到 Lose,原帧保留 |
| `scoin_0.png` | `Lose/lose/Time/Revive/coin/scoin_0` | 项目共享,复制到 Lose,原帧保留 |
| `scoin_1.png` | `Lose/lose/Time/Revive/coin/scoin_1` | 项目共享,复制到 Lose,原帧保留 |
| `x.png` | `Lose/lose/Time/Revive/num/x` | 项目共享,复制到 Lose,原帧保留 |
#### 其他目录但构建归属于 shop
| 源资源 | 当前使用节点 | 引用分类 |
| --- | --- | --- |
| `assets/UI/UI/pop/guang.png` | 九个失败类型页面的 `guang` 节点 | 项目共享,复制到 Lose,原图保留 |
| `assets/res/close.png` | Lose 主关闭、WinStreak 关闭/主页、Health 主页按钮 | 项目共享,复制到 Lose,原图保留 |
#### Creator 默认按钮状态图
`Lose/share_tips/shareBtn` 和 `closeBtn` 仍绑定:
- `default_btn_normal`
- `default_btn_pressed`
- `default_btn_disabled`
它们不是业务拆图。后续需要清空状态图、改变 Button transition,或换成 Lose 分包内的状态图。
#### 非图片依赖
`Lose/lose/Time/Revive` 还引用了:
`assets/res/effect/jungle_shine.effect`
它不是本次拆图对象,但当前构建把它归入了 `shop` 依赖。即使图片全部替换完,如果该 Effect 的构建归属不变,Lose 仍可能继续依赖 `shop`,需要在后续依赖复查时单独处理。
---
## propWindow
### propWindow 图片处理分类
#### A. propWindow 独享:拆出后迁入 propWindow
以下 13 个 SpriteFrame 在当前 `assets` 中只有 `PropWindow.prefab` 引用,全部来自 `assets/UI/UI/pop/gameUI_new.plist`:
`freeze_Label.png`、`freeze_Label_1.png`、`buy_x1.png`、`magic_Label.png`、`magic_Label_1.png`、`prop_freeze.png`、`Buy.png`、`hammer_Label.png`、`daojudamof.png`、`btn_Buy.png`、`hammer_Label_1.png`、`buy_x3.png`、`prop_hammer.png`
可以把这些帧拆出放入 `assets/propWindow/texture` 并重新绑定。不能移动整个 `gameUI_new.plist/.png`,因为该图集还包含大量其他模块使用的帧。
#### B. 项目共享:原资源保留,复制一份到 propWindow
| 资源 | propWindow 使用位置 | propWindow 之外的当前引用 | 处理方式 |
| --- | --- | --- | --- |
| `assets/UI/UI/pop/guang.png` | `propWindow/prop/light` | Lose、Pause、heathpop、HomeScene、shop/onMCReward | 复制到 propWindow,原图保留 |
| `assets/res/close.png` | `propWindow/prop/close` | Avatar、winStreak、Gacha、Lose、HomeScene 及多个 shop Prefab | 复制到 propWindow,原图保留 |
### propWindow → UI
以下 13 帧全部来自 `assets/UI/UI/pop/gameUI_new.plist`:
| SpriteFrame | 当前使用区域 | 引用分类 |
| --- | --- | --- |
| `freeze_Label.png` | `prop/freeze/freeze_Label` | propWindow 独享,拆出后迁入 propWindow |
| `freeze_Label_1.png` | `prop/freeze/freeze_Label` | propWindow 独享,拆出后迁入 propWindow |
| `buy_x1.png` | `prop/hammer/New Sprite` | propWindow 独享,拆出后迁入 propWindow |
| `magic_Label.png` | `prop/magic/magic_Label` | propWindow 独享,拆出后迁入 propWindow |
| `magic_Label_1.png` | `prop/magic/magic_Label` | propWindow 独享,拆出后迁入 propWindow |
| `prop_freeze.png` | `prop/freeze/freeze_Icon` | propWindow 独享,拆出后迁入 propWindow |
| `Buy.png` | `prop/New Sprite` | propWindow 独享,拆出后迁入 propWindow |
| `hammer_Label.png` | `prop/hammer/hammer_Label` | propWindow 独享,拆出后迁入 propWindow |
| `daojudamof.png` | `prop/magic/magic_Icon` | propWindow 独享,拆出后迁入 propWindow |
| `btn_Buy.png` | 三个道具的 `buy_Btn` | propWindow 独享,拆出后迁入 propWindow |
| `hammer_Label_1.png` | `prop/hammer/hammer_Label` | propWindow 独享,拆出后迁入 propWindow |
| `buy_x3.png` | `prop/magic/New Sprite`、`prop/freeze/New Sprite` | propWindow 独享,拆出后迁入 propWindow |
| `prop_hammer.png` | `prop/hammer/hammer_Icon` | propWindow 独享,拆出后迁入 propWindow |
### propWindow → shop
这两个项目构建归属于 `shop`,但源文件不在 `assets/shop`:
| 源资源 | 当前使用节点 | 引用分类 |
| --- | --- | --- |
| `assets/UI/UI/pop/guang.png` | `propWindow/prop/light` | 项目共享,复制到 propWindow,原图保留 |
| `assets/res/close.png` | `propWindow/prop/close` | 项目共享,复制到 propWindow,原图保留 |
---
## 手工拆图后的检查点
1. 新图片放进对应 Bundle 后,不要复制原资源的 `.meta`;让 Creator 为新资源生成新的 UUID。
2. 图集帧可能带裁剪、旋转、Original Size、Offset 和九宫格 Border。拆成单图时应使用未裁剪原图,或同步校正 SpriteFrame/节点尺寸,避免显示位置变化。
3. Win 的 `catUI` 是运行时动态取帧,不能只替换 Prefab 当前可见的猫图。
4. Win/Lose 的 Creator 默认按钮状态图必须另外处理,它们不能靠拆业务图消除。
5. Lose 的 `jungle_shine.effect` 是非图片依赖,图片处理完后仍要复查。
6. 全部重新绑定并重新构建后,验收目标是:
- `win/config.*.json` 的 `deps` 不再出现 `UI`、`shop`;
- `lose/config.*.json` 的 `deps` 不再出现 `UI`、`shop`;
- `propWindow/config.*.json` 的 `deps` 不再出现 `UI`、`shop`。