MatchMaster/docs/gameui-unused-spriteframes.md
2026-08-28 19:21:40 +08:00

120 lines
5.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.

# `gameui.plist` 未引用 SpriteFrame 审计
整理日期:2026-08-28
## 审计范围
- 本清单只审计小写文件:`assets/UI/UI/pop/gameui.plist`。
- `assets/UI/UI/pop/gameUI_new.plist` 是另一张图集,不包含在本清单的 86 帧总数中;仅用于判断旧图集中是否已有同名替代帧。
- 当前 `gameui.plist` 和 `gameui.plist.meta` 的帧名完全一致,共 86 个 SpriteFrame。
- 以每个 SpriteFrame 的 UUID 为准,扫描当前 `assets` 下 6909 个文件,包括 Scene、Prefab、动画、脚本、配置及其他 Meta。
- 另外检查了 `gameui` 图集 UUID 和运行时加载代码。图集 UUID 只出现在 `cc.Sprite._atlas` 中,没有发现脚本属性绑定该图集,也没有发现按 `gameui` 路径或名称动态加载图集的代码。
## 结论
| 分类 | 数量 |
| --- | ---: |
| 当前有明确引用,必须保留 | 27 |
| 当前未发现任何引用,可以从旧 `gameui` 图集中删除 | 59 |
| 合计 | 86 |
这里的“可以删除”只指从旧 `gameui.plist/.png` 图集中清除对应帧。不能删除整张 `gameui` 图集,因为还有 27 帧正在使用。
## 可以删除的 59 帧
### A. 已由 `gameUI_new` 同名帧实际承接:21 帧
以下旧 `gameui` SpriteFrame 的 UUID 已经没有任何引用;项目当前引用的是 `gameUI_new` 中的新 UUID:
| 旧 `gameui` 帧 | 当前同名新帧的主要使用位置 |
| --- | --- |
| `20miao.png` | `assets/lose/prefab/Lose.prefab` |
| `chubuqule.png` | `assets/lose/prefab/Lose.prefab` |
| `doudakai.png` | `assets/lose/prefab/Lose.prefab` |
| `giveup.png` | Lose、Pause、HomeScene |
| `haoyun.png` | `assets/lose/prefab/Lose.prefab` |
| `houhuifu.png` | `assets/prefab/pop/heathpop.prefab` |
| `jianshao.png` | `assets/lose/prefab/Lose.prefab` |
| `jianshaohp.png` | Pause、HomeScene |
| `nali.png` | `assets/lose/prefab/Lose.prefab` |
| `nuliyixia.png` | `assets/lose/prefab/Lose.prefab` |
| `return.png` | `assets/lose/prefab/Lose.prefab` |
| `shijaijndaol.png` | `assets/lose/prefab/Lose.prefab` |
| `start.png` | HomeScene、Win |
| `tili.png` | `assets/prefab/pop/heathpop.prefab` |
| `tilibuman.png` | `assets/prefab/pop/heathpop.prefab` |
| `tiliyiman.png` | `assets/prefab/pop/heathpop.prefab` |
| `tishi.png` | `assets/prefab/pop/heathpop.prefab` |
| `try.png` | `assets/lose/prefab/Lose.prefab` |
| `xiangxiang.png` | Lose、Pause、HomeScene |
| `ximie.png` | `assets/lose/prefab/Lose.prefab` |
| `yichu.png` | `assets/lose/prefab/Lose.prefab` |
注意:只能删除旧 `gameui` 中的这些帧,不能删除 `gameUI_new` 中正在使用的同名帧。
### B. 两张图集中的同名帧都未引用:1 帧
- `tuichu.png`
旧 `gameui` 和 `gameUI_new` 中各有一个不同 UUID 的 `tuichu.png`,当前两者都未发现引用。本清单的结论只覆盖旧 `gameui` 版本;如果以后清理 `gameUI_new`,它的新版本也可以作为删除候选单独复核。
### C. 旧 `gameui` 中其余未引用帧:37 帧
| SpriteFrame | SpriteFrame | SpriteFrame |
| --- | --- | --- |
| `100miao.png` | `30miao.png` | `add.png` |
| `baozha.png` | `bgl.png` | `btn_lq.png` |
| `clocks.png` | `close.png` | `coin_kuang.png` |
| `diguan.png` | `exit.png` | `fanhui.png` |
| `goon.png` | `gui_chiuzi.png` | `gui_mofa.png` |
| `gui_shizhong.png` | `guide.png` | `hpme.png` |
| `huifuyidian.png` | `jinruguanqiaq.png` | `jixu.png` |
| `kuang.png.jpg` | `lockzi.png` | `next.png` |
| `open.png` | `pskuang.png` | `set.png` |
| `stay.png` | `stopzi.png` | `touxiang.png` |
| `trya.png` | `xin.png` | `xinsui.png` |
| `yiman.png` | `yinxiao.png` | `yinyue1.png` |
| `zhendong1.png` | | |
`close.png` 等名称在项目其他目录还有同名图片;这里判定的是旧 `gameui` 内这个特定 UUID 未引用,不代表其他目录的同名图片可以删除。
## 必须保留的 27 帧
| SpriteFrame | 当前明确引用 |
| --- | --- |
| `anniu.png` | Win:`Win/tween/doubleBtn` |
| `btn_lq2.png` | GameScene:`Canvas/Game/guidet/btn_lq/btn_lq2` |
| `chuizi.png` | GameScene 引导;`shop/rewardNode.prefab` |
| `chuizis.png` | GameScene 的锤子道具按钮及遮罩内按钮 |
| `clock.png` | `shop/rewardNode.prefab` |
| `closet.png` | Pause、旧 Pause Prefab、HomeScene |
| `coins.png` | `shop/rewardNode.prefab` |
| `coins4.png` | `shop/onMCReward.prefab`、Win |
| `didaoju.png` | GameScene 道具按钮 |
| `dikuang.png` | Win:`Win/tween/tiaodik` |
| `door.png` | Lose:`Lose/lose/Lock/door` |
| `fangqi.png` | `assets/prefab/map/Pause.prefab` |
| `iceb.png` | GameScene 引导组件 `itemSpriteList` |
| `ices.png` | GameScene 时间道具按钮 |
| `lock.png` | GameScene 多个道具锁定图标 |
| `meijinbi.png` | Win:`Win/tween/tiaodik/meijinbi` |
| `ninyihuode.png` | Win:`Win/tween/tiaodik/ninyihuode` |
| `nulldaoju.png` | GameScene 多个道具按钮底图 |
| `starb.png` | GameScene 引导;`shop/rewardNode.prefab` |
| `stars.png` | GameScene 魔法道具按钮 |
| `stop.png` | GameScene 返回按钮图标 |
| `txt_1c.png` | GameScene 引导节点及 `itemSpriteList` |
| `txt_2c.png` | GameScene 引导节点及 `itemSpriteList` |
| `txt_3m.png` | GameScene 引导组件 `itemSpriteList` |
| `txt_4m.png` | GameScene 引导组件 `itemSpriteList` |
| `txt_5t.png` | GameScene 引导组件 `itemSpriteList` |
| `txt_6t.png` | GameScene 引导组件 `itemSpriteList` |
## 实际清理时的注意事项
1. 不能只删除 `.plist` 中的帧记录或 `.meta` 的 `subMetas`。旧像素仍留在 `gameui.png`,运行内存不会因此下降。
2. 要从图集源文件中移除这 59 帧并重新打包 `gameui.plist` 和 `gameui.png`,让 atlas 尺寸真正缩小。
3. 不要删除整个 `gameui.plist.meta`。重新导入后应确认剩余 27 帧的 UUID 没有变化,否则现有 Scene/Prefab 引用会丢失。
4. 重打图集后至少检查 GameScene 道具栏与引导、Win、Lose、Pause、HomeScene、`rewardNode` 和 `onMCReward`。
5. 最终重新构建后,再检查构建日志和运行界面;当前清单没有修改或删除任何图片。