MatchMaster/docs/popup-bundle-ui-shop-image-dependencies.md
COMPUTER\EDY f8ef17bd56 更新
2026-08-28 22:59:13 +08:00

21 KiB
Raw Blame History

Win / Lose / propWindow 图片依赖清单

整理日期:2026-08-28

统计口径

  • 依据当前微信构建产物 build/wechatgame/subpackages/<bundle>/config.*.json 的 deps 与 redirect,并反查当前三个 Prefab 的 UUID 和节点。
  • Win、propWindow 保留此前的 UI / shop 统计;Lose 已扩展检查全部其他自定义 Bundle。三者都不统计 main、主包资源、internal、start-scene。
  • “归属某 Bundle”以构建结果为准,不等于源文件一定位于同名目录。Cocos 会按 Bundle 优先级和共享引用决定资源最终归属。
  • Pause、NewMode 仍不作为本清单的独立分析对象;但 Lose 指向它们及其他自定义 Bundle 的依赖已经纳入本轮检查。

汇总

Prefab UI 重定向项 shop 重定向项 特殊项
Win 13 7 UI 中包含 1 个完整 catUI 图集;shop 中包含 3 个 Creator 默认按钮状态图
Lose 24 12 张图片 + 1 Effect 已检查全部其他自定义 Bundle;其余 Bundle 均为 0
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 重新审计范围与结果

本节只重新审计当前 assets/lose/prefab/Lose.prefab,没有重新分析或改动 Win、propWindow。统计包含 _active = false 的节点;节点不激活不会消除 Prefab 中序列化的资源引用。

本次查找了 Lose 对全部其他自定义 Bundle 的引用,并按要求排除 main、主包资源、internal、start-scene。分包归属由当前 Lose Prefab 的 UUID 与最近一次微信构建配置交叉核对:

  • 当前 Lose Prefab:修改时间 2026-08-28 21:33:38。
  • 最近构建配置:build/wechatgame/subpackages/lose/config.70fe7.json,修改时间 2026-08-28 21:16:35。
  • 因 Prefab 晚于构建配置,本节的“归属 Bundle”属于当前源码引用 + 最近构建归属的核对结果;这次没有重新构建,最终归属需要在下次正常构建后再确认。
其他自定义 Bundle 图片 SpriteFrame 非图片资源 当前结果
UI 24 0 23 个 Lose 独享帧,1 个项目共享帧
shop 12 1 12 个共享图片;另有 jungle_shine.effect
NewMode、TextureBlock、action_bundle、career、custom、gacha_bundle、jungle_treasure、pause、propWindow、resources、win 0 0 未发现 Lose 指向这些 Bundle 的跨分包依赖

Lose 当前共有 36 个跨其他自定义分包的图片 SpriteFrame:

  • 23 个 Lose 独享 UUID:可拆出并迁入 Lose,重新绑定成功后可从原图集中删除对应散图。
  • 13 个项目共享 UUID:需要复制一份到 Lose 并重新绑定;原资源必须保留。
  • 以上 36 个只统计跨其他自定义分包的图片,不代表 Lose Prefab 的全部图片;被归入 main 或主包的资源已按要求排除。

当前 assets/lose/texture 的实际绑定状态

当前目录新增了 17 张图片,但这 17 个新图片 UUID 在 Lose Prefab 中的引用数全部为 0。复制文件并不会自动替换 Prefab 中的 UUID,所以 Lose 目前仍在引用原图集/原图片。

状态 图片
已复制到 Lose,但 Prefab 尚未改绑(15 张) 20miao.png、chubuqule.png、door.png、haoyun.png、jianshao.png、jianshao_1.png、nali.png、nuliyixia.png、result_hp_2.png、return.png、shijaijndaol.png、try.png、ximie.png、yichu.png、zd1.png
已放入 Lose,但当前 Lose Prefab 不使用(2 张) daojudamof.png、fangqi.png
仍需拆出/复制,当前 Lose 目录中未找到对应新图(8 张) doudakai.png;以及 btn_jixu _sz1.png、btn_jixu _sz3.png、btn_jixu _sz4.png、nz1.png、nz2.png、btn_zi_fenxiang2.png、btn_zi_jixu.png

另外两项清理已经生效:

  • 已删除的 shareTips.plist/.png 原 7 个 UUID 在当前 Lose Prefab 中均为 0 引用。
  • Lose 当前 cc.Button 已没有 Creator 默认 default_btn_normal / pressed / disabled 状态图引用。

Lose 图片处理分类

这里的“独享”按单个 SpriteFrame UUID 判断。即使某一帧由 Lose 独享,它所在的 .plist/.png 图集仍可能包含其他模块使用的帧,因此不能直接移动整张图集。

A. Lose 独享:拆出后迁入 Lose(23 张)

assets/UI/UI/pop/gameUI_new.plist(15 帧)
SpriteFrame 当前 Lose 节点 本地迁移状态
20miao.png Lose/lose/Time/buyBtn/btn_zi_xhongshi 已复制,尚未改绑
return.png Lose/lose/Health/return 已复制,尚未改绑
haoyun.png Lose/lose/Health/New Sprite 已复制,尚未改绑
doudakai.png Lose/lose/Lock/buyBtn/doudakai 尚未复制
chubuqule.png Lose/lose/Lock/chubuqule 已复制,尚未改绑
yichu.png Lose/lose/Boom/buyBtn/yichu 已复制,尚未改绑
jianshao_1.png Lose/lose/Health/node2/result_title4 已复制,尚未改绑
result_hp_2.png Lose/lose/Health/node2/boom_show 已复制,尚未改绑
jianshao.png Lose/lose/Health/node1/result_title4 已复制,尚未改绑
try.png Lose/lose/Health/timeBtn 已复制,尚未改绑
nali.png Lose/lose/Lock/New Sprite 已复制,尚未改绑
shijaijndaol.png Lose/lose/Time/New Sprite、Lose/lose/Boom/New Sprite 已复制,尚未改绑
zd1.png Lose/lose/Boom/yuandi/boom_show 已复制,尚未改绑
nuliyixia.png Lose/lose/Time/result_Label1 已复制,尚未改绑
ximie.png Lose/lose/Boom/result_title4 已复制,尚未改绑

这 15 帧的精确 UUID 在 assets 中均未发现 Lose 之外的引用。处理方式是拆为 Lose 自有图片、重新绑定 Prefab;确认绑定完成后,才可从原图集中删除对应帧。

assets/UI/UI/publicUI.plist(7 帧)

以下“七类页面”指:Lock、Revolving、LongAndShort、LongAndShortColor、BlockLock、Wall、ButtonWall。这些页面当前均为 inactive,但引用仍会进入依赖分析。

SpriteFrame 当前 Lose 节点 本地迁移状态
btn_jixu _sz1.png 七类页面的 lockBtn/New Sprite 尚未复制
btn_jixu _sz3.png 七类页面的 lockBtn/number1 尚未复制;number1 本身也为 inactive
btn_jixu _sz4.png 七类页面的 lockBtn/number2 与 lockBtn/New Sprite 尚未复制
nz1.png Lose/lose/Time/time_show 尚未复制;节点为 inactive
nz2.png Lose/lose/Time/time_hide/nz2 尚未复制
btn_zi_fenxiang2.png Boom/boomBtn/New Sprite,以及七类页面的 lockBtn/New Sprite 尚未复制
btn_zi_jixu.png Boom/boomBtn/New Sprite,以及七类页面的 lockBtn/New Sprite 尚未复制

这 7 帧的精确 UUID 在 assets 中也均未发现 Lose 之外的引用。不能移动整个 publicUI.plist/.png,因为该图集还包含其他模块使用的帧。

assets/UI/UI/pop/gameui.plist(1 帧)
SpriteFrame 当前 Lose 节点 本地迁移状态
door.png Lose/lose/Lock/door 已复制,尚未改绑

door.png 的精确 UUID 当前只有 Lose 引用;不能移动整个 gameui.plist/.png。

B. 项目共享:复制到 Lose,原资源保留(13 张)

资源 最近构建归属 当前 Lose 节点 Lose 之外的当前引用 处理方式
assets/UI/UI/pop/yuandi.png / yuandi UI Lose/lose/Lock/boom_show assets/prefab/map/Pause.prefab 复制到 Lose 并改绑,原图保留
assets/shop/img/6yuan.png shop Lose/lose/Time/Revive/price assets/shop/prefab/Revive.prefab 复制到 Lose 并改绑,原图保留
assets/shop/img/Revive_bg.png shop Lose/lose/Time/Revive assets/shop/prefab/Revive.prefab 复制到 Lose 并改绑,原图保留
assets/shop/img/Revive_tishi.png shop Lose/lose/Time/Revive/tishik assets/shop/prefab/Revive.prefab 复制到 Lose 并改绑,原图保留
assets/shop/img/Revive_btn.png shop Lose/lose/Time/Revive/an assets/shop/prefab/Revive.prefab 复制到 Lose 并改绑,原图保留
assets/common/font.plist / mul1.png shop(待下次构建确认) Lose/lose/Time/Revive/num/mul1 assets/shop/prefab/Revive.prefab 从图集复制该帧到 Lose,原帧保留
assets/common/font.plist / scoin_0.png shop(待下次构建确认) Lose/lose/Time/Revive/coin/scoin_0 assets/shop/prefab/Revive.prefab;商店代码也按 scoin_ 动态取帧 从图集复制该帧到 Lose,原帧保留
assets/common/font.plist / scoin_1.png shop(待下次构建确认) Lose/lose/Time/Revive/coin/scoin_1 assets/shop/prefab/Revive.prefab;商店代码也按 scoin_ 动态取帧 从图集复制该帧到 Lose,原帧保留
assets/common/font.plist / x.png shop(待下次构建确认) Lose/lose/Time/Revive/num/x assets/shop/prefab/Revive.prefab 从图集复制该帧到 Lose,原帧保留
assets/UI/UI/pop/guang.png / guang shop 九个失败类型页面的 guang 节点 Pause.prefab、heathpop.prefab、propWindow、HomeScene、shop/onMCReward 复制到 Lose 并改绑,原图保留
assets/res/close.png / close shop(待下次构建确认) Lose 主关闭;WinStreak 关闭/主页;Health 主页按钮 Avatar、winStreak、Gacha、propWindow、HomeScene、多个 shop Prefab 复制到 Lose 并改绑,原图保留
assets/shop/img/kuangt1.png shop Lose/lose/Time/ConfirmBox/bg dailyQuests、newbieGift、winStreak、多个 shop Prefab 复制到 Lose 并改绑,原图保留
assets/shop/img/btn_Buy.png shop Lose/lose/Time/ConfirmBox/New Sprite dailyQuests、newbieGift、winStreak、多个 shop Prefab 复制到 Lose 并改绑,原图保留

assets/common/font.plist 已从原 UI 目录移到 assets/common,但最近构建仍把上述 4 帧归入 shop。因为构建配置早于这次 Prefab/资源调整,这不是最终归属结论;下次正常构建后需要复核。assets/res/close.png 同理,源路径不等于构建归属。

Lose 非图片跨分包依赖

资源 最近构建归属 当前 Lose 节点 Lose 之外的引用 处理建议
assets/res/effect/jungle_shine.effect shop Lose/lose/Time/Revive jungle_treasure/jungle.prefab、shop/Revive.prefab、shop/shop.prefab 若 Lose 要完全解除 shop 依赖,复制一份 Effect 到 Lose 并重新绑定;若效果不用,再移除引用

Lose 本轮结论

  • Lose 对其他自定义 Bundle 的跨分包图片依赖目前只落在 UI 和 shop;其余自定义 Bundle 均为 0。
  • shareTips 旧图和 Creator 默认按钮状态图已经清干净,不再计入依赖。
  • 17 张新 Lose 本地图目前都没有绑定到 Prefab;要降低跨分包依赖,下一步必须在 Creator 中重新绑定,而不只是复制文件。
  • 本次只更新清单,没有移动图片、修改 Prefab/代码,也没有重新构建。

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。