Files
youle_cocos/docs/superpowers/specs/UI-迁移参照手册.md
T
2026-09-05 00:12:11 +08:00

321 KiB
Raw Blame History

UI 迁移参照手册(Game_Surface_3 → YouleNexus)

Status: v1 (2026-09-03) Purpose: 记录已迁移 Layer 的 prefab 结构,作为之后脚本绑定与驱动 UI 的唯一参照。每个 prefab 的节点名、组件、坐标、spriteFrame、文本/字体均在此列出,脚本开发时无需回查 prefab JSON 或源数据。 权威源: Layer XML(projects/Game_Surface_3/save/Layer*.xml)+ gameabc_Object.json + gameabc_Image.json。


1. 全局迁移规则(实测确立)

1.1 设计分辨率与布局策略

  • 源工程(Game_Surface_3)UI 设计分辨率:1280×720。
  • 新工程(YouleNexus)画布:1600×720(有意设计)。
  • 布局策略:1280×720 的 UI 在 1600×720 画布中水平居中(左右各留 160 空白),全屏背景拉伸到 1600 填满。

水平居中靠 Widget alignFlags=16(水平居中)+ _horizontalCenter = lpos.x 实现(见 1.4),不是改坐标中心。

1.2 坐标系换算(源左上角 → Cocos 中心)

源数据 X/Y 是左上角锚点(Layer XML 的 X/Y = gameabc_Object.json 的 Left/Top):

lpos.x = X + W/2 - 640     // 相对 1280 中心
lpos.y = 360 - (Y + H/2)   // Y-up 翻转,相对 720 中心

中心取 640/360(1280×720),不是 800/360。1600 的居中由 Widget 实现。

1.3 组件类型映射

组件类型以 gameabc_Object.json 的 ObjectType 为准(CLAUDE.md 已修正旧文档 off-by-one 与 SpiritType 误用):

ObjectType(JSON,权威) 含义 Cocos 组件
2 Sprite cc.Sprite
4 Text cc.Label

Layer XML 的 SpiritType 是细分类,只作参考:

SpiritType(XML) 含义
0 普通 Sprite
1 Text
3 帧 Sprite(带 Frame 属性;frame_all=1 时无多帧效果)

1.4 Widget 规则

节点类型 alignFlags 说明
root / group / 全屏背景 45(全拉伸) contentSize 1600×720,填满画布
固定元素 16(水平居中)+ _horizontalCenter = lpos.x 实现 1280 UI 在 1600 画布居中

⚠️ 校验不变量:alignFlags=16 的节点,_lpos.x 必须 === _horizontalCenter(anchor=0.5、父居中、isAbs=true 时恒成立)。引擎 align() 里 x = targetCenter + (anchorX-0.5)*width + horizontalCenter,偶发编辑器回调把 horizontalCenter 翻倍(实测 Layer613 背景 12→24)。迁移后逐节点校验,不符就用 edit_prefab_json 改回。

1.5 spriteFrame 引用

  • cc.Sprite._spriteFrame 必须是对象形式 {"__uuid__": "…@f9941", "__expectedType__": "cc.SpriteFrame"}。
  • ⚠️ create_sprite 的 spriteFrameUuid 参数会把 _spriteFrame 写成裸字符串 "…@f9941"(坏引用,validate_prefab_references 报 referenceCount:0、运行时加载不到图)。正确做法:create_sprite 不传 spriteFrameUuid,用 set_component_property 设 _spriteFrame = 对象 JSON;或事后用 edit_prefab_json 修。
  • _type=0(SIMPLE)、_sizeMode=0(CUSTOM)+ _contentSize = 源 W/H。
  • ⚠️ create_sprite 默认 _sizeMode=1(TRIMMED)会覆盖 contentSize,必须显式 _sizeMode=0。

1.6 全屏背景 contentSize

源 1280×720 的全屏背景(如 00011.png 纯色遮罩,图片本身仅 4×4)→ contentSize 1600×720(拉伸填满)。固定元素 contentSize = 源 W/H。

1.7 Text 对象字段映射

文本/fontSize 的权威源是 Layer XML(Property Name="FontSize" / Text 等),gameabc_Object.json 里 Text 对象只有语义名(ObjectName)+ W/H,无 fontSize/文本。

源字段(Layer XML,SpiritType=1) cc.Label 说明
FontSize _fontSize 字体大小保持源值,不统一
FontColor _color.r/g/b 整数按 0xBBGGRR 存储(高位 B、低位 R):16777215=0xFFFFFF=白;1059174=0x102966→RGB(102,41,16)。实测 Layer601/608 验证
FontColorA _color.a 透明度
Text _string 初始文本(常 = ObjectName 占位,运行时由脚本替换)
LineSpace _lineHeight 当前用 lineHeight = fontSize(见 5.待验证)
FontBold 加粗 待验证映射(复杂 Layer 补齐)
AlignHorz / AlignVert _horizontalAlign / _verticalAlign 待验证映射
WordWrap _overflow / _enableWrapText 待验证映射

1.8 根节点命名

prefab 根节点名 = 文件名(如 Layer619_BackHall.prefab → 根节点 Layer619_BackHall),Cocos 约定。

1.9 九宫格(9-slice / SpiritType=5)

  • 源 SpiritType=5 表示九宫格,边距来自 Layer XML 的 LeftEdge/TopEdge/RightEdge/BottomEdge。
  • Cocos 3.8 的九宫格边距不在 Sprite 组件上(cc.Sprite 只有 _type=1 SLICED 标志,无 inset 字段),而是存在图片资源 spriteFrame 的 border 字段:.meta 里 spriteFrame subMeta 的 userData.borderLeft/Top/Right/Bottom,导入后写入 library spriteFrame 的 capInsets(顺序 [left, top, right, bottom])。
  • 迁移步骤:① Sprite _type=1(SLICED)+ _sizeMode=0 + contentSize = 源 W/H;② 图片 spriteFrame 的 border 设为 LeftEdge/TopEdge/RightEdge/BottomEdge(改 .meta 的 4 个数值 + refresh_assets,属图片资源配置,一次设置服务所有共享该图的 Layer)。
  • ⚠️ 图片被多 Layer 共享时,先确认各处九宫格边距一致(同一图片的边距是图片固有属性);若不一致,需为不同边距各建 spriteFrame 副本。改 .meta 属触碰 CLAUDE.md「禁手改 .meta」边界,须先征得同意(只动 4 个非引用数值,不碰 UUID)。

1.10 多帧 sprite 帧号循环(取模)

gameabc 引擎的多帧 sprite 帧号是**循环(取模)**的:图片共 frame_all 帧时,Frame(Layer XML)/ FrameIndex(gameabc_Object.json)= N 实际用第 ((N-1) % frame_all) + 1 帧。

  • 实测 Layer609 Spirit388 Frame=3,但 ImgID=30(00030.png)仅 frame_all=2,原工程实际渲染第 1 帧(((3-1) % 2) + 1 = 1),不是数据错误。
  • 迁移多帧 sprite 前先核对 Frame/FrameIndex 是否 ≤ frame_all;越界则按上式回绕,帧 N 落到 000XX_N.png 的 spriteFrame UUID。

2. 已迁移 prefab 清单

截至 2026-09-04,源工程 gameabc_Layer.json 的 55 个 Layer 已全部落盘为 YouleNexus prefab(55/55)。

prefab 源 Layer spirits 内容
Layer614_Loading.prefab Loading_Layer (614) 2 载入遮罩 + 载入动画
Layer616_Kick.prefab Kick_Layer (616) 3 强制下线提示 + 底 + 文字
Layer619_BackHall.prefab BackHall_Layer (619) 1 Spirit465(返回大厅按钮)
Layer613_RoomCardUpdate.prefab updateRoomCard_Layer (613) 3 房卡修改遮罩 + 背景 + 提示文字
Layer615_Reconnect.prefab Reconnect_Layer (615) 4 掉线遮罩 + 背景 + 重连动画(多帧)+ 重连文字
Layer10_Protol.prefab Protol_Layer (10) 4 协议遮罩 + 背景(九宫格)+ 内容 + 关闭按钮
Layer612_Tips.prefab Tips_Layer (612) 5 提示遮罩 + 提示背景 + 提示文字(2 组:普通提示 + 九宫格提示)
Layer620_Record.prefab recordLayer (620) 3 记录遮罩 + 记录背景(多帧)+ 记录动画(多帧)
Layer618.prefab Layer618 (618) 2 全屏背景 + 隐藏遮罩(2 组)
Layer603.prefab Layer603 (603) 3 遮罩 + 双帧图标(2 状态)
Layer617_iMessage.prefab iMessage_Layer (617) 4 顶部通知横幅:背景 + 文本 + 图标 + 关闭
Layer601.prefab Layer601 (601) 5 遮罩(9-slice 零边距)+ 说明文字 + 双按钮 + 底部文字
Layer608_Help.prefab Help_Layer (608) 7 帮助弹窗:遮罩 + 背景(9-slice)+ 标题 + 内容(长图)+ 关闭
Layer609_Setting.prefab Setting_Layer (609) 15 设置弹窗:遮罩 + 背景(9-slice)+ 标题 + 3 组多帧按钮/图标
Layer602_inputPannel.prefab inputPannel (602) 19 输入面板:遮罩 + 背景(9-slice)+ 12 键数字键盘 + 输入框(9-slice)+ 光标 + 删除 + 关闭
Layer606_Apply.prefab Apply_Layer (606) 31 投票解散:遮罩 + 背景(9-slice)+ 底(9-slice)+ 标题 + 投票文字 + 同意/拒绝 + 等待列表×10 + 昵称列表×10 + 倒计时 + 确认键
Layer607_Cal.prefab Cal_Layer (607) 20 计算器:输入框(9-slice)+ 光标 + 遮罩 + 背景(9-slice)+ 标题 + 光标 + 关闭 + 12 键数字键盘 + 图标
Layer4_MainMenu.prefab MainMenu_Layer (4) 32 主大厅:全屏背景 + 创建/加入房间 + 底部 tab(设置/战绩/分享/任务/更多)+ 比赛场/星星场/商城/福袋/房间列表/二维码 + 公告栏 + 微信公众号/客服/房卡数量文字
Layer50_MainScene.prefab MainScene_Layer (50) 11 主场景 HUD:全屏背景 + 顶部横幅(9-slice)+ 时钟(小时/冒号/分钟)+ wifi + 电量 + 数字 + 文本
Layer15_JoinRoom.prefab JoinRoom_Layer (15) 26 加入房间弹窗:遮罩 + 背景(9-slice)+ 标题 + 房间号显示(6 位 FrameText)+ 数字键盘 12 键 + 关闭按钮
Layer19_WorldRoomList.prefab WorldRoomList_Layer (19) 34 世界房间列表:遮罩 + 全屏背景(9-slice)+ 标题 + 刷新按钮 + 2 张房间卡片(各含头像/房主名/房间号 FrameText)+ 分页图标 + 列表文本
Layer27_CreateRoom.prefab CreateRoom_Layer (27) 19 创建房间弹窗:遮罩 + 背景(9-slice)+ 标题 + 局数选择×2 + 下注上限选择×3 + 玩法选择×2 + 确定创建按钮(帧 1)+ 关闭按钮 + 选项标签(img27/28 frame)+ 4 个选项文本
Layer11_ChargeInfo.prefab ChargeInfo_Layer (11) 4 充值提示弹窗:遮罩 + 背景(img54)+ 提示文字 + 补充文字
Layer13.prefab Layer13 (13) 6 战绩弹窗(双 group):战绩返回 + 图标×2(img10)+ 战绩关闭按钮 + 分页箭头×2(img65)
Layer22_Share.prefab Share_Layer (22) 6 分享弹窗:遮罩 + 九宫格背景(img345)+ 标题 + 微信好友/朋友圈(img51 帧 1/2)+ Spirit691
Layer16_Bind.prefab Bind_Layer (16) 7 绑定弹窗:遮罩 + 九宫格背景(img41)+ 绑定按钮×2(img188 帧)+ Spirit364 + 文本×2
Layer24_Neighbor.prefab NeighborLayer (24) 7 邻居弹窗:遮罩 + 九宫格背景(img243 零边距)+ 邻居项×4(img244)+ 关闭按钮
Layer8_Notice.prefab Notice_Layer (8) 9 公告/更多面板(双 group):隐藏遮罩 + 公告内容文字(group-3)+ 按钮托盘(img347)+ 6 功能按钮(img14 帧 5~10:背包/通知/绑定/排行榜/仓库/反馈)
Layer18_Auth.prefab Auth_layer (18) 9 授权弹窗:隐藏遮罩 + 九宫格背景(img41)+ 授权选项按钮×2(img201 帧 1/2)+ 授权主按钮(img202)+ 文本×4(空×2 + 占位×2)
Layer17_PlayerInfo.prefab MenuPlayerInfo_Layer (17) 15 玩家信息菜单:遮罩 + 九宫格背景(img54)+ 头像(img25)+ 边缘图标×2(img10)+ 按钮(img200)+ 签名底(img407)+ 文本×8(昵称/ID/签名等动态填充)
Layer21_RankList.prefab rankList_Layer (21) 20 排行榜列表:遮罩 + 九宫格背景(img2)+ 列表底(img42)+ 竖线分隔(img235)+ 标题(img425)+ 底部栏(img234)+ 箭头(img233)+ 图标×3(img116/106/24)+ 文本×7(排行榜条目,含暗红名次)
Layer12_CombatLayer.prefab CombatLayer (12) 27 战绩弹窗(三 group):遮罩 + 九宫格背景(img353)+ 战绩标题(img40)+ 返回(img34 帧2)+ 底/前景×6(img10)+ 横条×2(img23)+ 详情/查牌(img35 帧1/2)+ 文本×6 + 装饰图标(img171/172 帧1/6 帧1/357 帧1/356/355 帧1)
Layer7_ewm.prefab ewm_Layer (7) 30 二维码弹窗(双 group + 全局帧动画):遮罩×2 + 九宫格背景×2(img411)+ 标题(img412 九宫格 / img414 帧1)+ 关闭×2(img415)+ 内容底×6(img10)+ 按钮×3(img413 帧1/2)+ 底×3(img416/419/420 九宫格)+ 图标(img432 帧1)+ 帧动画(img417 13帧)+ 文本×7
Layer9_Feedback.prefab Feedback_Layer (9) 34 反馈/通知/二维码/房间列表(四 group):反馈弹窗(遮罩 + 九宫格 img41 + 提交 img168 + 提交态 img438 帧1/2 + 标题 img169 + 输入文本)+ 通知(遮罩 + 九宫格 img346 + 标题 img40 / 标题内容 img6 帧3 + 关闭 img33 + 内容页 img338/339/340 + 条目 img216 帧2 + 标签 img217 帧1/3/5 + 底 img218/10 + 文本)+ 二维码(遮罩 + 九宫格 img423 + 图 img115 + 文字 img114 + 底 img80)+ 房间列表(遮罩 + 九宫格 img38 + 列表项 img50/11 + 数字帧动画 img49 帧1)
Layer29_PhoneInfo.prefab PhoneInfo_Layer (29) 38 手机验证/白名单管理(双 group):手机验证弹窗(group-106,遮罩 + 九宫格背景 img2 + 输入框 img407×2 + 验证码按钮 img429 帧2 + 帧动画 img433 倒计时 + 关闭 img33 + 确认 img34 帧1 + 大按钮 img434 帧1 + 标签 img436 帧1/2 + 图标 img435 帧1/2)+ 白名单管理/搜索玩家(group-108,遮罩 + 九宫格背景 img411 + 内容底 img10×2 + 关闭 img415 + 按钮 img412×3 + 底 img419 + 按钮 img413×2 + 图标 img188 帧1 + 文本×10)
Layer6.prefab Layer6 (6) 53 对局主界面(双 group):group-103 牌桌主界面(房间列表背景 img13 全屏隐藏 + 牌桌元素 img7/36/10/26/77/92/78/176/207/79/45/333/387/421 + FrameText 数字 img203 + 文本×9)+ group-3 玩家信息头部(头像框 img24 / 头像 img25 / 昵称 / ID / 购买房卡 img17 / 底牌栏 img18 九宫格×2 / FrameText 金币 img19 / img16 / img204)
Layer14_Pay.prefab Pay_Layer (14) 43 支付金额选择(双 group):group-53 金额选择面板(遮罩 img11 + 九宫格背景 img41 + 标题 img189 帧1 + 关闭 img33 + 金额按钮×10 img190 帧1 + 金额文本×10 + 金额数字 FrameText×10 img191 帧1)+ group-54 确认支付弹窗(遮罩 img11 + 九宫格背景 img197 + 标题 img196 帧1 / img195 + 金额数字 FrameText img192 帧1 + 按钮 img193 帧1/3 + 大按钮 img194)
Layer25_wareHouse.prefab wareHouseLayer (25) 68 仓库(四 group):group-91 主框架+左侧 tab+物品格子+关闭(遮罩 img11 + 九宫格背景 img374 + 标题 img327 + tab img332 帧1/2 + tab 图标 img335 帧1/3 + 确认键 img34 帧1 + 物品格子 img328 12帧 + 关闭 img33);group-92 数字/输入框/按钮(图标 img204 + FrameText 数字 img329 + 图标 img324 + 小按钮 img326 帧1/2 + 输入框 img323 + 输入条 img325 帧1/2 + 小按钮 img322 帧2/3 + 文本);group-93 输入区(小按钮 img322 帧3 + 输入框 img323 + 按钮 img337 帧1/2 + FrameText 数字 img329 + 按钮 img334 + 文本);group-94 输入区(图标 img324/img16/img204 + FrameText 数字 img329 + 头像框 img336 + 文本×2 + 小按钮 img322 帧1/2/3 + 输入框 img323 + 输入条 img325 帧3/1/2 + 按钮 img330)
Layer26_Task.prefab Task_Layer (26) 46 任务列表(单 group-10,横向滚动):遮罩 img11 + 前景 img10 + 九宫格背景 img2(边框 250/200/346/245)+ 标题 img40 + 横幅 img6 帧2 + 关闭 img33 + 任务卡片×5(背景 img43 帧1 / 领取 img55 帧1 / 做任务 img32 帧1)+ 描述×4 + 奖励说明×4 + 进度背景 img56×4 + 进度前景 img57×4 + 已领取 img58 帧2×4 + 进度文字×4
Layer28_SeniorOptions.prefab SeniorOptions_Layer (28) 56 高级选项(单 group-83):全屏遮罩 img382 + 左侧设置面板(九宫格背景 img383 边框 55/45/55/45 + 标题 img385 + 图标 img384/img230 + 内框 img386 九宫格 + 选项按钮 img219 帧1/2/3 / img225 帧2 / img391 帧2 / img426 帧1/2 + 勾选框 img390 帧2 + 数字 FrameText img227 帧1×6 + 短号输入 img228 帧1 + 分隔线 img220 + 图标 img221/img389/img388/img395 + 按钮 img387/img408/img397 + 文本×6)+ 右侧大面板(九宫格背景 img392 + 标题 img393 + 内框 img386 + 按钮 img410 + 文本×5)+ 下方按钮(img224 九宫格 90/90/90/90 + img210 九宫格 103/20/103/20 + img229 + 分享好友/朋友圈 img236 帧2/3)
Layer402_GameNotice.prefab GameNoticeLayer (402) 2 游戏公告滚动(单 group-56):九宫格横幅背景(img39 边框 1/1/1/1)+ 公告内容文字
Layer403.prefab Layer403 (403) 1 准备按钮(单 group-81,img208 帧1)
Layer404_MainSceneButton.prefab MainSceneButton_Layer (404) 6 主场景按钮(单 group-28):顶部横幅(img87)+ 开始按钮(img208 帧2)+ 双态按钮(img215 帧1/2)+ 底条(img181 帧1)+ 文本
Layer405_MainButton.prefab MainButton_Layer (405) 6 主按钮(单 group-21):录音/消息按钮(img68 帧2/1)+ 消息图标(img343)+ 九宫格底(img342 边框 13/13/13/13)+ 文本×2
Layer411.prefab Layer411 (411) 6 房号栏(单 group-81):房号背景(img400)+ 解散/退出按钮(img404 帧2/1)+ 房号数字 FrameText(img398)+ 房号 tag(img399)+ 图标(img403)
Layer420_CheckFree.prefab CheckFree_Layer (420) 7 确认解散弹窗(单 group-36):全屏遮罩(img11)+ 背景(img41 九宫格 55/45/55/45)+ 底(img42 九宫格 53/48/53/48)+ 关闭(img33)+ 确认/取消(img179 帧1/2)+ 文本
Layer408_Interact.prefab Interact_Layer (408) 21 互动动画层(双 group):group-21 遮罩(img10 2×2)+ group-39 互动动画×20(img99 帧1×5 / img102 帧1×5 / img103 帧1×5 / img104 帧1×5)
Layer409_ChatVoice.prefab Chat_Voice_Layer (409) 20 语音聊天(单 group-76):语音气泡×10(img83 九宫格 30/20/30/20)+ 语音动画×10(img100 帧1)
Layer410_ChatText.prefab Chat_Text_Layer (410) 20 文字聊天(单 group-75):聊天气泡×10(img83 九宫格 30/20/30/20)+ 文本×10(fs=14 白色,动态)
Layer413_BtnPanel.prefab btnPannelLayer (413) 18 按钮面板(四 group):group-21 图标(img377)+ group-99 按钮×7(img238 帧1~7)+ 侧边(img378 九宫格 1/1/1/1)+ 底(img10 九宫格 1/1/1/1)+ group-100 大背景(img379 九宫格 90/90/90/90 / img10 九宫格 1/1/1/1)+ 图标(img205)+ 文本×2 + group-81 输入框(img402 九宫格 20/50/20/10)+ 图标(img401)+ 文本
Layer416_PlayerInfo.prefab MainScene_PlayerInfo_Layer (416) 16 玩家信息(双 group):group-77 遮罩(img11)+ 背景(img54 九宫格 70/70/70/70)+ 头像(img25)+ 文本×5(动态)+ group-38 表情图标×8(img105 九宫格 20/20/20/20)
Layer418_ChatPannel.prefab ChatPannel_Layer (418) 54 聊天面板(单 group-30):遮罩 + 聊天背景/底 + 常用语/表情 tab + 常用语×7 + 表情×20 + 历史记录/系统公告区域 + 输入框/发送按钮;48 Sprite + 6 Label
Layer202_PlayerHeadScore.prefab Player_Head_Score_Layer (202) 60 玩家头像分数层(11 group):group-4352 玩家座位×10(九宫格底 img76 45/45/45/45 + 头像 img116125 + 昵称/积分 Label fs14 #FFCB5C)+ group-73 表情×10(表情底 img146 + 表情 img147 帧1)

图片映射(ImageFileID → spriteFrame UUID)

ImageFileID bmp 图片实际尺寸 用途 spriteFrame UUID
11 00011.png 4×4(拉伸) 全屏遮罩(Layer16 Spirit362 / Layer22 Spirit72 / Layer24 Spirit3005 / Layer12 Spirit49 等共用 + Layer420 Spirit242 确认解散遮罩拉伸 1600×720) eabf148a-fa6a-460a-be4f-8e586eb80e07@f9941
108 00108.png 100×100 载入动画 e966950a-fe3c-41d9-adcb-b8950fb77ae1@f9941
87 00087.png 570×105 强制下线提示底(Layer616)+ 主场景顶部横幅(Layer404 Spirit657 拉伸 570×60) c6295419-a30e-4e88-b7d7-d4099114319d@f9941
31 00031.png 91×91 Spirit465 8e3905be-b629-4c4d-858b-b8a76e9f7752@f9941
54 00054.png 454×207 掉线背景(Layer615 原始尺寸)+ 充值提示背景(Layer11 原始尺寸)+ 九宫格背景(Layer17 个人信息背景 592×402 边框 70/70/70/70;Layer2 边框 100/80/100/80;Layer416 边框 70/70/70/70)⚠️ 同图多边框,spriteFrame border 只能一套,延后 4b04584c-c0f4-4586-8be7-05b0adca4157@f9941
97 00097_*.png(8 帧) 64×64 重连动画(多帧) 帧 1 = 5690de47-2417-4e4c-b948-b772697cd010@f9941
98 00098.png 171×28 重连文字(Sprite,非文本) 837b6d75-1a66-40a0-8b7a-42dae7146c2a@f9941
41 00041.png 115×94(九宫格) 协议背景(边框 55/45/55/45)+ 绑定背景(Layer16 Spirit363,同边框)+ 确认解散背景(Layer420 Spirit243 拉伸 637×212,同边框) 3e7492cb-7ae1-4f56-806d-07096662d8fb@f9941
95 00095.png 729×997 协议内容(滚动长图) 998850c4-7861-4c12-8cb4-be7a7415c42a@f9941
33 00033.png 83×84(trim 后 81×81) 关闭按钮(Layer13 Spirit61 战绩关闭按钮 + Layer24 Spirit3011 邻居关闭按钮 + Layer29 Spirit3251 手机验证关闭 + Layer25 Spirit97 仓库关闭 + Layer420 Spirit247 关闭解散确认) eedce6d7-3ea6-434c-83e1-87d9a04b2bad@f9941
10 00010.png 166×68(拉伸) 遮罩(Layer612 + Layer620 共用,异于通用遮罩 00011)+ 更多面板遮罩(Layer8 Spirit3122 拉伸 1280×720 隐藏)+ 微信公众号按钮底(Layer4 Spirit339,拉伸 166×40)+ 房间卡片图标(Layer19 Spirit522 拉伸 100×100 / Spirit523 拉伸 50×50)+ 战绩图标(Layer13 Spirit85/84 拉伸 195×68)+ 战绩页底/前景(Layer12 Spirit50/52/63/57/56/87 拉伸 1073×100/800×200/300×100)+ 白名单内容底(Layer29 Spirit3272 拉伸 550×301 / Spirit3273 拉伸 626×142 隐藏)+ 任务前景/侧边(Layer26 Spirit119 拉伸 1250×650 / Spirit176 拉伸 166×453)+ 高级选项侧边(Layer28 Spirit611 拉伸 100×508) dcc4530b-344b-40b6-8fbb-9fa35db6a289@f9941
249 00249.png 100×100(九宫格) 提示九宫格按钮(边框 40/40/40/40) b44cf3e4-ec84-4208-a68f-ec5e30ecd593@f9941
380 00380_*.png(6 帧) 65×174 记录动画(多帧,帧 1 落盘) 帧 1 = 1305d4c3-fc5b-4873-8ec4-e619f7514692@f9941
381 00381.png 351×359 记录背景 31eeca1a-3b00-4b66-b2c1-0d647d6c821c@f9941
237 00237.png 1280×720 全屏背景(Layer618) a2c1c399-c7f2-47f6-9bed-99ecaa4b1413@f9941
439 00439_*.png(3 帧) 132×156 双帧图标(Layer603 用帧 1/2) 帧 1 = b28d677c-314c-40be-b675-1d8e3194a8b6@f9941,帧 2 = 1c34b82d-4a41-477d-8db6-5a8e391a323b@f9941
109 00109.png 96×91(拉伸) 通知横幅背景(1280×85) 1c5e45ef-2726-4696-a688-47792b5f2dd6@f9941
110 00110.png 57×42 通知图标 45de5613-373d-4860-973d-3f6f47489d30@f9941
111 00111.png 33×37 通知关闭按钮 efd5ab89-8516-4d0b-86c4-4b374631dd4b@f9941
405 00405.png 100×100(拉伸) Layer601 全屏遮罩背景(9-slice 零边距) c6516e94-fd75-4ab6-8457-a3eefd850e64@f9941
406 00406.png 145×74 Layer601 右侧按钮(上) f3f55138-8c91-449c-a6dd-a7c444be894e@f9941
409 00409.png 145×74 Layer601 右侧按钮(下) deb92933-a377-4da4-9509-be856614e026@f9941
2 00002.png 597×446(九宫格) 弹窗背景(Layer608 边框 250/200/346/245、Layer609 设置背景 边框 100/134/100/135、Layer21 排行榜背景 1100×692 边框 55/45/55/45、Layer29 手机验证背景 577×406 边框 90/90/90/90、Layer26 任务背景 Spirit113 边框 250/200/346/245;⚠️ 多 Layer 以 5 组边距共享) 8eb7acc3-aba1-4fcf-b375-a3bfb5303472@f9941
6 00006_*.png(5 帧) 403×76 多帧 sprite(Layer608 Spirit693 用帧 4 / Layer12 Spirit689 用帧 1 / Layer9 Spirit692 用帧 3 / Layer26 Spirit690 用帧 2) 帧 1 = e72b79a6-2b3b-434e-b3af-9bed6261b043@f9941,帧 2 = 2125cf5c-a0a4-4f34-a78a-88dfb3c100e3@f9941,帧 3 = 5febca8f-13b3-4ea3-997c-0f4534ba499d@f9941,帧 4 = 317bd27a-1b89-4653-9949-e9bfb980e998@f9941
40 00040.png 510×138 帮助标题 + 战绩标题(Layer12 Spirit70)+ 任务标题(Layer26 Spirit114) 05398908-866f-4605-b419-4a06ef63248a@f9941
101 00101.png 729×1122 帮助内容(滚动长图) bb84a2a5-ac9d-4227-8934-79a4aa7429a0@f9941
29 00029_*.png(4 帧) 206×75 音乐/音效图标 + Spirit356/387(Layer609 用帧 1/2/3/4) 帧 1 = 9239dc9e-f89e-40c4-ba76-b004e1fd5ec4@f9941,帧 2 = 9ee042b7-fb9f-481e-b97f-5ce7da732655@f9941,帧 3 = f40aef7e-d2b4-440c-b3bc-b5c194a7b037@f9941,帧 4 = 6be9d68d-5d12-43ae-84f5-112d0cf265a8@f9941
30 00030_*.png(2 帧) 170×60 音乐/音效底 + Spirit357/388(Layer609 用帧 1;Spirit388 帧 3 循环回绕帧 1) 帧 1 = 0660c388-fd83-4994-a5a7-e97a7580491a@f9941
48 00048.png 181×70(拉伸到 250×90) 设置标题 + 分享标题(Layer22 Spirit73 拉伸 200×80) 7c8eca87-fcd8-4f1a-a182-276629c8b0d8@f9941
52 00052.png 403×76 Spirit688(设置说明图) d22e8d18-b67b-4fa6-b194-171ac4e217c5@f9941
178 00178_*.png(5 帧) 280×93 退出登录(帧 5)+ 申请解散(帧 1)+ 邀请好友(帧 2) 帧 1 = f639fcfd-2c07-429b-b8a9-0876c12e3d60@f9941,帧 2 = 003dd305-c6df-4bb4-93b0-40d802913fea@f9941,帧 5 = 105a605a-c322-40e8-b278-a23d34b8e46a@f9941
188 00188_*.png(2 帧) 135×80 删除键(Layer602 用帧 2)+ 绑定按钮(Layer16 Spirit366 帧 2 / Spirit367 帧 1)+ 白名单图标(Layer29 Spirit3289 用帧 1,渲染 80×60) 帧 1 = 191af9ac-92cf-4163-b9b1-581298293607@f9941,帧 2 = 5209df7b-725d-4610-be70-cf2c4e536c95@f9941
239 00239.png 137×86(九宫格) 输入框背景(边框 60/40/60/40,Layer602) 32739fb1-0933-4e45-9111-4f56ee4f2957@f9941
241 00241_*.png(12 帧) 333×110 数字键盘 12 键(Layer602,帧 1~12 全用) 帧 1 = 237c724e-4214-451d-a549-f14d649aea16@f9941,帧 2 = c4fc1e99-2f5b-4e92-bd99-40d510b9886d@f9941,帧 3 = 40c89d11-4a05-4ae3-a9db-fd44575091de@f9941,帧 4 = 1ed1717f-1307-4c91-9f6f-8ddb486c9676@f9941,帧 5 = ca157e80-82e2-4075-9b9a-d091fb52ea58@f9941,帧 6 = 2dac5ee2-752f-4fad-b805-492bc9f68cb9@f9941,帧 7 = b5d46f14-24de-4518-9bd1-14802c02ab6e@f9941,帧 8 = 2ff18c2d-a547-4edf-89c3-bed4ed3f758d@f9941,帧 9 = 551ad91e-9030-4580-9ee4-80b8ccf9c5bf@f9941,帧 10 = 415a30af-6b20-4e00-85e7-cb183f63024e@f9941,帧 11 = 8f77b555-c1c5-4461-964d-11661736613a@f9941,帧 12 = 27d606ff-dc5a-4ebf-a865-79c37cf9b6c4@f9941
242 00242_*.png(10 帧) 51×65 光标(Layer602 用帧 1) 帧 1 = 52d93534-329f-4e48-a2c4-b06e5b291250@f9941
42 00042.png 108×98(九宫格) 投票底(边框 53/48/53/48,Layer606)+ 排行榜列表底(Layer21 Spirit607 465×511,同边框)+ 确认底(Layer420 Spirit244 拉伸 550×120,同边框) 34daf5f4-3869-4f71-84c4-d09103701be6@f9941
180 00180_*.png(2 帧) 157×74 同意(帧 1)/ 拒绝(帧 2)(Layer606) 帧 1 = c3e076d4-8d0d-4992-bd87-02c05afc9758@f9941,帧 2 = 50fe4e5c-bdcc-4c1b-b7fc-b44c748c10f3@f9941
89 00089.png 125×33 Spirit358(Layer606,帧 2 循环回绕帧 1,frame_all=1) b7e97f28-26b3-4739-8dc1-4542a42a5d41@f9941
46 00046_*.png(10 帧) 30×30 投票倒计时(FrameText,Layer606 用帧 1) 帧 1 = f3f3eadc-4916-4192-af76-8a3a0e2d01d7@f9941
34 00034_*.png(2 帧) 292×102 确认键(Layer606 用帧 1)+ 战绩页一返回(Layer12 Spirit53 用帧 2)+ 手机验证确认(Layer29 Spirit3253 用帧 1)+ 仓库确认键(Layer25 Spirit3043 用帧 1) 帧 1 = c8cc3782-42f9-4e2d-9898-da1460faff26@f9941,帧 2 = 65ec6a90-8980-4ba2-9e86-e36d4901b4bf@f9941
185 00185.png 260×84(九宫格) 计算器输入框(边框 153/0/50/0,Layer607) 1147e0c6-bf4a-42f9-bdcd-bcbd76ac5dc0@f9941
198 00198_*.png(11 帧) 28×37 光标(FrameText,Layer607 用帧 1) 帧 1 = 1594ca3e-9a00-4f8d-bba0-da2e20acaeda@f9941
184 00184.png 309×110 计算器标题(Layer607) f2db27eb-1a8d-4c9a-a72f-0b1af6d4d1a2@f9941
183 00183_*.png(11 帧) 36×47 光标(FrameText,Layer607 用帧 1) 帧 1 = 13820b69-2f97-4e52-b206-f5621a968124@f9941
186 00186.png 122×68 计算器关闭按钮(Layer607) 04de2ca1-1b00-486f-8129-db573b1248bb@f9941
182 00182_*.png(12 帧) 131×77 计算器 12 键(Layer607,帧 1~12 全用) 帧 1 = 4e168ad5-3a26-4177-911b-e604fa849e5a@f9941,帧 2 = 1a41c053-acd6-421d-81ff-f3387006c570@f9941,帧 3 = 29bf5095-eb18-4b7b-9c70-063302e92990@f9941,帧 4 = a3f70c6d-44e6-448f-bfbf-9737f7cf9612@f9941,帧 5 = 6c1728ad-2e14-4c88-bf32-054f34fdf60c@f9941,帧 6 = 97850373-3f4f-47cf-b6fd-dbb258ba6cf6@f9941,帧 7 = 40f17d6f-b2e0-4fc0-9ec5-4b59f85cc365@f9941,帧 8 = b4f5ea35-a601-4eb0-9bfd-4a6af77709a1@f9941,帧 9 = 817fd57b-626c-431a-9994-d712bcd85d61@f9941,帧 10 = 8713bdc5-c206-468e-b046-f1ef7eb2c82b@f9941,帧 11 = 5a3ae2e3-e4bf-4baa-bf5e-f455b97baf79@f9941,帧 12 = 12a81ba0-2e16-4c3e-a37e-7550ff2939fc@f9941
1 00001.png 1280×720 主界面全屏背景(Layer4 Spirit4,拉伸 1600×720) a8236f97-043b-4548-b529-dc465b31e810@f9941
12 00012.png 298×334 创建房间按钮(Layer4 Spirit11) a3b75089-6fdc-48de-8f73-3b05b52e0dd6@f9941
14 00014_*.png(12 帧,3×4) 150×70 底部 tab 按钮(Layer4:帧 1=更多/2=分享/3=任务/4=战绩/11=设置)+ 更多面板按钮(Layer8:帧 5=背包/6=仓库/7=反馈/8=排行榜/9=绑定/10=通知) 帧 1 = 04f4d29d-861f-4b46-930a-baf544a80b1b@f9941,帧 2 = 467e62c4-8587-4aa5-8d02-fc0ba8e82cf6@f9941,帧 3 = 3a6b2c60-b8ba-4ad9-ba7f-6d9e620c789e@f9941,帧 4 = 57e8e036-825a-4221-98ec-8f1540f8aa42@f9941,帧 5 = d504c257-926d-4bbb-a6a5-b8bf258b735b@f9941,帧 6 = bcef0a07-e08a-4ee5-939b-1b94ae45966c@f9941,帧 7 = 096cee7a-e1a6-440a-aac3-8c2170449f6c@f9941,帧 8 = 42f9d0a7-3f98-49a8-aeef-807b33a5941a@f9941,帧 9 = 75786e98-cc06-4eb5-ba69-fe31b5107423@f9941,帧 10 = fe562996-c836-4a5b-a381-7bd973bfdaf5@f9941,帧 11 = 434102b8-7714-44cd-a65d-898672a7e8ad@f9941
15 00015.png 46×195 房间列表按钮(Layer4 Spirit99) e3425723-dfe9-427b-9d0d-736267823cf8@f9941
59 00059.png 337×441 Spirit679 大厅主视觉(Layer4) 4f725497-383a-4e19-bc2c-4fd55017042b@f9941
199 00199.png 328×224 比赛场按钮(Layer4 Spirit483) b4250870-2a5b-4953-a7b8-57abdd576b7d@f9941
214 00214.png 329×224 星星场平台按钮(Layer4 Spirit568) b8eeb06c-6ed2-4952-ba97-c229852b2ea5@f9941
232 00232.png 185×80 加入房间按钮(Layer4 Spirit12,拉伸 203×86) 5e1f37f2-4852-402a-81bb-1827c638aa7e@f9941
245 00245.png 258×21 广告(9-slice 边框 1/1/1/1,Layer4 Spirit16) f76d6d83-942a-4511-abdd-b12e14aba51d@f9941
248 00248.png 932×39 公告底(Layer4 Spirit219,缩放 645×39) df4db047-ac71-4afd-b73d-e608abadc355@f9941
252 00252.png 160×100 商城按钮(Layer4 Spirit3016) c80ee17e-0a97-453f-a5d5-98e42de7eddd@f9941
253 00253.png 94×99 福袋按钮(Layer4 Spirit3018) a8b9e254-a96b-4a06-a8df-05baeeaaf839@f9941
348 00348.png 80×80 更多按钮(Layer4 Spirit234) 79283b71-19ab-46d1-bd7f-d68e297f6047@f9941
350 00350_*.png(2 帧) 55×50 Spirit479 图标(Layer4 用帧 1) 帧 1 = 151439f3-c9bd-4fb2-97b5-5afc295d76e8@f9941
351 00351.png 175×118 二维码(Layer4 Spirit76) 5d8d62a3-d292-42f9-a589-c30e491d5f2f@f9941
396 00396.png 298×113 Spirit3139 主按钮(Layer4,无名称) 5b2a27a3-fd0f-44b5-812b-21b2f69455ac@f9941
66 00066.png 1280×720 游戏主界面背景(Layer50 Spirit149,拉伸 1600×720) e1aa83b5-47de-4593-997d-debc3ceb2557@f9941
67 00067.png 247×62 顶部横幅(9-slice 边框 20/20/50/20,Layer50 Spirit284) 64bfd3fc-4394-4c36-a9c2-aa7d3f50c5c7@f9941
69 00069_*.png(10 帧,10×1) 15×20 时钟数字 0-9(Layer50 Spirit154/155 用帧 1) 帧 1 = 55fc2d29-a269-4025-b25a-afe69d92d238@f9941
70 00070.png 5×14 时钟冒号(Layer50 Spirit156) 7d193c00-a7ee-4d75-956c-8dd6f6300b56@f9941
112 00112_*.png(3 帧) 49×19 电量图标(Layer50 Spirit337/338 用帧 1) 帧 1 = 7e671255-a374-47e4-9264-fde41226b020@f9941
113 00113_*.png(4 帧) 29×22 wifi 图标(Layer50 Spirit336 用帧 1) 帧 1 = 1ef090dc-6a2b-4a1d-b99a-8f84f04e0aa6@f9941
398 00398_*.png(10 帧,10×1) 17×21 数字 0-9(Layer50 Spirit3141 用帧 1 + Layer411 Spirit3146 房号数字用帧 1) 帧 1 = 7d88dcff-d1ce-4a0a-b24f-2f861d94b613@f9941
399 00399.png 59×25 Spirit3142(Layer50)+ 房号 tag(Layer411 Spirit3147) 13a32880-9854-4d79-b292-6cf00516d88c@f9941
8 00008.png 476×103 房间号显示底(Layer15 Spirit28,渲染 465×103) 2e036f97-2543-4962-b1a7-197acd74c161@f9941
9 00009_*.png(12 帧,3×4) 186×82 加入房间数字键盘 12 键(Layer15:帧 1-9=数字 1-9、帧 10=重输、帧 11=0、帧 12=删除) 帧 1 = 560b4ba0-8b4c-4522-a8c7-d39411d13a8e@f9941,帧 2 = b2e04f1b-2798-4bbf-a869-5ca6d101d69a@f9941,帧 3 = db239522-6c9b-45dd-b638-bedaabe0d0f7@f9941,帧 4 = 029880e7-2a18-47b5-b89f-2ceb720035da@f9941,帧 5 = 2c46f8bd-b111-4ddb-ae01-f409b8fe8c12@f9941,帧 6 = 1efdc1ea-8de7-437e-a301-ac3362a1f0a4@f9941,帧 7 = c468fa1f-6aa7-45cf-aaf6-f7caf3cb52e7@f9941,帧 8 = 5153e2e5-0bfd-44e6-a9c2-d764c22e211b@f9941,帧 9 = 2c464751-e90c-4e73-a778-389045ec716b@f9941,帧 10 = bbd7edb3-32a3-4319-83ac-8289a5f072f1@f9941,帧 11 = dcdbc60a-c3a1-469e-96be-3871b238f058@f9941,帧 12 = baac739a-5e04-486c-8b5d-e11e9e370bcc@f9941
28 00028_*.png(2 帧,1×2) 403×76 Spirit687(Layer15 用帧 2)+ Spirit686(Layer27 用帧 1) 帧 1 = ac673006-0a0e-446c-a082-5b43f0fa4c60@f9941,帧 2 = b64f27f7-869d-4847-9738-6fd504cef161@f9941
373 00373.png 234×78 Spirit602(Layer15,单帧;源 Frame=3 但 frame_all=1 循环回绕帧 1) 73527749-e32e-424f-97c8-49d8449a74b3@f9941
254 00254.png 1280×720(九宫格) 房间列表全屏背景(Layer19 Spirit517,边框 200/134/200/135) a31fecc3-643f-4040-b094-bebfe256da62@f9941
211 00211_*.png(5 帧) 182×50 房间列表标题(Layer19 Spirit518 用帧 1) 帧 1 = 135076af-2311-4615-bc27-30fc11ea541b@f9941
259 00259.png 59×51 关闭/返回图标(Layer19 Spirit519)+ 关闭图标(Layer6 Spirit3182) 3ce98bad-65ed-4209-b389-9bcc36e3b392@f9941
213 00213.png 104×47 刷新按钮(Layer19 Spirit520) 612b277e-2c7a-4819-9b0a-723b5d73dbcd@f9941
257 00257_*.png(2 帧) 201×67 列表按钮(Layer19 Spirit521 帧 1 / Spirit3019 帧 2) 帧 1 = a041ddc3-f3d7-4b35-a721-f5e4de823ea6@f9941,帧 2 = 5600806d-113a-483e-9d46-a95a56f8e7bf@f9941
212 00212_*.png(4 帧) 398×261 房间卡片底(Layer19 Spirit524 用帧 1) 帧 1 = 49c6b009-37e6-4415-a967-38a12fe88626@f9941
210 00210.png 208×43 列表头背景(Layer19 Spirit566/567)+ 高级选项下方按钮(Layer28 Spirit623 九宫格 103/20/103/20) 084eb6ca-3730-48e6-8dbe-67c39cdbe5e5@f9941
255 00255.png 900×151 房间卡片横幅(Layer19 Spirit525,源 Frame=2 回绕帧 1) b54e832d-3ed3-4162-9837-83e00b109ce8@f9941
260 00260.png 32×27 小图标(Layer19 Spirit3026,源 Frame=2 回绕帧 1) c40c91dc-bfe8-4281-96de-b6da5bdfa97b@f9941
261 00261_*.png(2 帧) 21×22 小图标(Layer19 Spirit3027 用帧 2) 帧 2 = 823769bd-34cc-4340-9ce0-bfe30d69a543@f9941
258 00258_*.png(10 帧) 16×19 数字 0-9(Layer19 Spirit3028 FrameText=8) 帧 8 = 3a6cb966-f91b-47d5-a937-b893679a39b9@f9941
358 00358_*.png(4 帧) 210×80 列表按钮(Layer19 Spirit92 帧 1 / Spirit93 帧 4) 帧 1 = 5d57263e-75f2-444d-bf24-42f53cf745ab@f9941,帧 4 = f2ac27a0-f993-4b6e-ae9f-b3fbc1e3d319@f9941
360 00360.png 216×71 房间卡片按钮(Layer19 Spirit94) a5258649-4472-4b1a-a003-bdd4d0bd60b6@f9941
359 00359_*.png(10 帧) 25×34 房间号数字(Layer19 Spirit95 FrameText=1) 帧 1 = 8ef599cb-b532-49d5-a4ea-b67a5df2124f@f9941
361 00361.png 206×74 房间卡片按钮(Layer19 Spirit96) 419d5a22-c81b-4fc2-92c4-be41246ed616@f9941
3 00003.png 50×50 创建房间选择按钮(Layer27:局数×2 / 下注上限×3 / 玩法×2,7 处共用) 4b924bd2-6ccf-40d7-95b2-cfa58e897913@f9941
27 00027_*.png(3 帧,1×3) 134×37 创建房间选项标签(Layer27 Spirit678 帧 2 / Spirit677 帧 3) 帧 2 = a1c2c7c1-b8e4-4137-8af9-aa7122a8c0bb@f9941,帧 3 = 6ea3afac-35d9-45f2-8b6e-1ea991bad826@f9941
354 00354.png 123×43 战绩返回按钮(Layer13 Spirit55) f9208601-2eba-4665-b711-0030f82c1a7c@f9941
65 00065_*.png(2 帧,2×1) 33×41 分页箭头(Layer13 Spirit104 帧 1 / Spirit105 帧 2) 帧 1 = 690f9f06-422a-4a49-a1d5-d0a3110cc050@f9941,帧 2 = a08dd099-bb42-4d3b-8bdc-728e53444111@f9941
345 00345.png 725×482(九宫格) 分享背景(Layer22 Spirit71,边框 313/134/313/135) 6e345900-07a7-4e0a-b6c6-ec66e5072752@f9941
50 00050.png 264×80 Spirit691(Layer22 单帧) 5f783910-7fd0-4482-a206-8dcb57238c74@f9941
51 00051_*.png(2 帧,2×1) 200×192 分享按钮(Layer22 Spirit74 微信好友 帧 1 / Spirit75 朋友圈 帧 2) 帧 1 = 4d5894ca-8968-4834-a7fa-d97c530a1ab3@f9941,帧 2 = 5b77563f-daa5-466d-8a74-5291a2086f66@f9941
187 00187.png 185×73 Spirit364(Layer16 单帧) b6fe5054-293c-42d4-babc-41d324a5c860@f9941
243 00243.png 1002×702(九宫格零边距) 邻居背景(Layer24 Spirit3006,边框 0/0/0/0) ee70b3e9-dd24-4f32-b3f2-59def4ece28e@f9941
244 00244.png 215×69 邻居项按钮(Layer24 Spirit3007~3010,4 处共用;SpiritType=3 但 frame_all=1 单帧) dcefb181-bf8f-4a03-9b5c-441b425d8e30@f9941
347 00347.png 690×115(九宫格) 按钮托盘(Layer8 Spirit3121,边框 70/50/30/50,拉伸 146×115) 187be0e6-88c3-4873-8eaf-a5e9740b78d0@f9941
201 00201_*.png(2 帧) 149×30 授权选项按钮(Layer18 Spirit487 帧 1 / Spirit488 帧 2) 帧 1 = 6ec71a03-56ee-4541-9fd0-2c1200348b43@f9941,帧 2 = e51cd6f4-43a6-46ab-a988-3cf7d94cebe8@f9941
202 00202.png 157×74 授权主按钮(Layer18 Spirit493,单帧) 7467964f-393f-48d6-b835-9e38af944e08@f9941
25 00025.png 93×93 头像(Layer17 Spirit118,拉伸 105×103)+ 玩家头像(Layer6 Spirit8,渲染 63×65)+ 玩家信息头像(Layer416 Spirit282,渲染 105×103) 60da43f5-f3c2-4b9f-9123-fad81f8f8af5@f9941
200 00200.png 150×49 玩家信息按钮(Layer17 Spirit484,单帧) 26e33ced-f227-4a53-997e-5c7bd876595a@f9941
407 00407.png 354×67(九宫格) 个性签名底(Layer17 Spirit3156,边框 20/20/20/20,拉伸 391×79)+ 手机验证输入框(Layer29 Spirit3243/3244,边框 150/25/150/25,拉伸 424×61 / 279×61)⚠️ 同图多边框,spriteFrame border 只能一套,延后 92947828-edaa-4341-ac48-dfe33d934d5f@f9941
235 00235.png 2×565 竖线分隔(Layer21 Spirit608,排行榜列表左右分隔线) 2c1a10fe-291d-48a4-a6ff-edf7de01a07f@f9941
234 00234.png 420×87(九宫格) 排行榜底部栏(Layer21 Spirit610,边框 200/43/200/43,拉伸 420×87) fe744ec6-7245-428f-aa0e-b88e9c2bb60f@f9941
233 00233_*.png(3 帧) 88×93 排行榜箭头(Layer21 Spirit629 用帧 1) 帧 1 = fb86ab44-8140-4d8e-82f1-84ae4b8f3216@f9941
116 00116.png 93×93 排行榜头像框(Layer21 Spirit630 拉伸 65×65 / Spirit634 拉伸 105×105)+ 玩家头像(Layer202 Spirit376 渲染 93×93) 0c7ab485-8adf-432e-8dfb-27dff1dde280@f9941
106 00106.png 137×138 排行榜奖杯/名次图标(Layer21 Spirit631 拉伸 80×80) b6310388-a682-483c-9d39-17c8876f0b49@f9941
24 00024.png 70×72 排行榜装饰(Layer21 Spirit635)+ 玩家头像框(Layer6 Spirit9,渲染 70×72) 7863c037-341e-47a9-a00f-133597728429@f9941
204 00204_*.png(5 帧) 44×40 排行榜小图标(Layer21 Spirit639 用帧 1)+ 牌桌图标(Layer6 Spirit508 用帧 1,渲染 44×40)+ 仓库图标(Layer25 Spirit3032/3077 用帧 1) 帧 1 = 6b9ad554-bf4a-4493-82dd-92b4328cb8a4@f9941
425 00425_*.png(2 帧) 403×76 排行榜标题(Layer21 Spirit3234 用帧 1) 帧 1 = 97b4bd7f-8716-497f-a375-d9c841cf34e9@f9941
353 00353.png 1231×692(九宫格) 战绩背景(Layer12 Spirit48,边框 250/200/346/245) 064548fb-6849-4425-8ecb-255faa57860a@f9941
171 00171.png 106×26 战绩装饰(Layer12 Spirit683) 372dab1a-5549-4301-9dbf-480c4e57958b@f9941
172 00172_*.png(10 帧) 14×22 战绩装饰(Layer12 Spirit684 用帧 1) 帧 1 = eaf82c8a-35f9-4c5c-8dba-3e06cabf692f@f9941
23 00023.png 1152×158 战绩横条(Layer12 Spirit64/88) 27ec9c8a-8bf8-4546-ab2b-d1a0520f14b2@f9941
35 00035_*.png(2 帧) 70×141 详情/查牌(Layer12 Spirit51 详情1 帧 1 / Spirit54 查牌 帧 2) 帧 1 = ecfcc3d2-d110-48d3-9f3f-f8bf8ac92a4b@f9941,帧 2 = d1f31383-61d3-4be3-ac6b-e8b1071dd1ba@f9941
357 00357_*.png(2 帧) 576×77 战绩装饰(Layer12 Spirit83 用帧 1) 帧 1 = f9adb6d0-4478-452a-b7c8-21e4671ecbb5@f9941
356 00356.png 697×2 战绩分隔线(Layer12 Spirit86/91) c31c03c5-c95f-4b49-a083-c6be357c83ac@f9941
355 00355_*.png(2 帧) 289×26 战绩装饰(Layer12 Spirit82 用帧 1) 帧 1 = 99f3ce26-968b-4672-aa0f-c45ae5000884@f9941
411 00411.png 182×188(九宫格) 二维码弹窗背景(Layer7 Spirit3201/3219,边框 90/90/90/90)+ 白名单背景(Layer29 Spirit3271,边框 90/90/90/90,拉伸 591×621) 51c575a7-4a16-4cc7-8546-26e0c69a8010@f9941
412 00412.png 201×49(九宫格) 二维码标题(Layer7 Spirit3205,边框 95/20/95/20)+ 白名单按钮(Layer29 Spirit3275/3282/3287,边框 95/20/95/20,拉伸 173×49 / 193×49 / 266×49) 0ca224e1-4160-4038-bec8-2d57a9beefdf@f9941
413 00413_*.png(2 帧) 79×41 二维码按钮(Layer7 Spirit3206 帧 2 / Spirit3208 帧 1 / Spirit3216 帧 1)+ 白名单按钮(Layer29 Spirit3278 帧 1 / Spirit3281 帧 1) 帧 1 = 940bbbba-8104-422a-ad35-6f5bc890e59d@f9941,帧 2 = b6ea7c41-3ce3-42ed-b425-06839fd0c1ec@f9941
414 00414_*.png(2 帧) 78×26 二维码标题小字(Layer7 Spirit3202 用帧 1) 帧 1 = 0b495d59-5e7c-42b1-a85d-deb232a6fcc9@f9941,帧 2 = 72bc59c9-e2b8-47b3-8ced-50386649b37b@f9941
415 00415.png 100×100 二维码关闭按钮(Layer7 Spirit3203/3222)+ 白名单关闭(Layer29 Spirit3274) fe285a2f-1f82-4c45-ac59-b596f952b47b@f9941
416 00416.png 403×55 二维码内容底(Layer7 Spirit3210) 154011e6-f360-44c3-9c7e-a5c532f5ee1f@f9941
417 00417_*.png(13 帧) 25×36 二维码帧动画(Layer7 Spirit3228 用帧 1) 帧 1 = 0c2d691f-0c5f-4147-811a-badd8fc14dfd@f9941
419 00419.png 120×60(九宫格) 二维码底/列表(Layer7 Spirit3207/3223,边框 55/20/55/20)+ 白名单底(Layer29 Spirit3277,边框 55/20/55/20,拉伸 521×49) 050eaa6d-bc43-4c44-a8fc-3cacf8aa5e50@f9941
420 00420.png 120×60(九宫格) 二维码底/列表(Layer7 Spirit3225,边框 55/20/55/20) 9222540c-8344-4c62-85f0-252d24510081@f9941
432 00432_*.png(2 帧) 50×50 二维码图标(Layer7 Spirit3260 用帧 1) 帧 1 = 018c5320-85fe-415f-8811-5d5b703867f5@f9941,帧 2 = 1bf2dbaf-948f-4000-91b6-dde20f95e483@f9941
168 00168.png 135×80 反馈提交按钮(Layer9 Spirit550) 6bc626b8-d480-4ba8-92ac-0f95e21761af@f9941
438 00438_*.png(2 帧) 135×80 反馈提交按钮态(Layer9 Spirit3266 帧 1 / Spirit3265 帧 2) 帧 1 = a933d0bf-d0bc-43e0-b475-0d9d8a16262b@f9941,帧 2 = fdc6b65e-e526-49d2-aa05-eb4d891174bb@f9941
169 00169.png 181×70 反馈标题(Layer9 Spirit676) 02d0a481-5261-4d50-ad04-2695547afe37@f9941
346 00346.png 1132×664(九宫格) 通知背景(Layer9 Spirit78,边框 250/200/346/245) 03393c45-1e39-42f5-b287-ea6fb574279c@f9941
218 00218.png 250×40 通知底(Layer9 Spirit576) ac88bed1-d8b6-460d-9a1f-93d021c7b3f4@f9941
338 00338.png 720×400 通知内容页(Layer9 Spirit3102) 200f41c0-4ecf-4ad7-8864-877306a46fd1@f9941
339 00339.png 770×400 通知内容页(Layer9 Spirit3105) cb2429ec-da7a-421e-8635-9d8e9599dfd7@f9941
340 00340.png 770×400 通知内容页(Layer9 Spirit3106) dbeaba27-ba73-4fd0-9a5d-ae1dd8e1af1a@f9941
216 00216_*.png(2 帧) 236×100 通知条目(Layer9 Spirit570/571/572 用帧 2) 帧 2 = a42d050f-b023-4580-9444-36552fa546e3@f9941
217 00217_*.png(8 帧) 125×40 通知分类标签(Layer9 Spirit573 帧 1 / Spirit574 帧 3 / Spirit575 帧 5) 帧 1 = 87d01b20-33bc-45b6-99cc-d22412f6e82f@f9941,帧 3 = 9fd0b3df-4b98-428c-b2d3-fe3b467321b9@f9941,帧 5 = a972c966-3dc9-4396-8935-d2583f5ed499@f9941
423 00423.png 955×640(九宫格) 二维码背景(Layer9 Spirit342,边框 55/45/55/45) dfdcc5f5-bf77-42a6-8e2e-f8462bc51edc@f9941
115 00115.png 321×287 二维码图(Layer9 Spirit343) 06403876-e8f4-48fd-ad50-9bbefe0c5d0a@f9941
114 00114.png 371×51 二维码文字(Layer9 Spirit344) 0c0c1c72-96f5-4c54-a199-0df6189c762c@f9941
80 00080.png 315×74 二维码底(Layer9 Spirit345) b1efcc9a-2999-4c92-8d68-d7462c4bca2e@f9941
38 00038.png 280×530(九宫格) 房间列表背景(Layer9 Spirit98,边框 50/50/50/50) 083b1c88-4376-4aea-b08c-12eed59f94df@f9941
49 00049_*.png(10 帧) 14×19 数字帧动画(Layer9 Spirit102 用帧 1,房间号数字) 帧 1 = 9d49bb70-608e-46d2-8672-5afb78bbd8d7@f9941
429 00429_*.png(2 帧,1×2) 148×73 手机验证码按钮(Layer29 Spirit3245 用帧 2,Frame=2) 帧 2 = 1d3b6808-281b-48d4-a768-010fe68009ed@f9941
433 00433_*.png(11 帧,11×1) 21×28 手机验证倒计时帧动画(Layer29 Spirit3246/3247/3248 用帧 1,FrameText=12 循环回绕帧 1) 帧 1 = 62b9af40-6efd-4790-b049-416c4ed1c861@f9941
434 00434_*.png(2 帧,1×2) 284×84 手机验证主按钮(Layer29 Spirit3252 用帧 1) 帧 1 = c0541eab-a8d2-4669-968a-d6bd2892fc02@f9941
435 00435_*.png(2 帧,2×1) 45×62 手机验证图标(Layer29 Spirit3262 帧 1 / Spirit3263 帧 2) 帧 1 = 84faf20a-3862-4fe9-85cf-1ad5de88f873@f9941,帧 2 = c6f6f99a-725d-4921-9c91-7625750b70f0@f9941
436 00436_*.png(2 帧,1×2) 181×26 手机验证标签(Layer29 Spirit3249 帧 1 / Spirit3250 帧 2) 帧 1 = 1441df71-9b70-4892-bffe-4b464ca3a4ff@f9941,帧 2 = b706d5cf-be38-4dac-8a31-37c377576dfa@f9941
375 00375_*.png(2 帧,1×2) 236×100 白名单按钮(Layer29 Spirit3276 用帧 2,渲染 116×41) 帧 2 = 66044cac-db4a-4354-8f83-de168e697cb1@f9941
7 00007.png 441×395 牌桌主元素(Layer6 Spirit3170) 8f185a74-fe9f-4b55-9e9b-42fa5daf15e3@f9941
13 00013.png 1280×720 房间列表背景(Layer6 Spirit6,IsVisible=0 隐藏,全屏拉伸) 185f4ed3-89dd-498f-bfe6-1dc89cc4a5a9@f9941
16 00016_*.png(5 帧,1×5) 77×230(单帧 77×46) 牌桌图标(Layer6 Spirit286 用帧 1)+ 仓库图标(Layer25 Spirit3078 用帧 1) 帧 1 = bf4f2fec-3b77-442f-97fd-d1bb71ce4d91@f9941
17 00017.png 26×25 购买房卡图标(Layer6 Spirit10 / Spirit509 两处) 13baa8d4-dd1b-419a-9153-a7d294c6a51b@f9941
18 00018.png 155×35(九宫格) 底牌栏(Layer6 Spirit287 / Spirit496,边框 70/1/70/1) e0ab2dec-b102-4404-a2b1-c1519983b4e2@f9941
19 00019_*.png(13 帧,13×1) 221×28(单帧 17×28) FrameText 金币数字(Layer6 Spirit3161 FrameText=1 / Spirit3162 FrameText=1000000) 帧 1 = fc6e9a8e-0a6d-4555-bc3e-88fd427b9f3a@f9941
26 00026_*.png(2 帧,1×2) 132×80(单帧 132×40) 牌桌元素(Layer6 Spirit3174 用帧 1) 帧 1 = 12dd0f9c-72ab-4887-9413-b3018821c487@f9941
36 00036.png 659×493 牌桌主元素(Layer6 Spirit3173,IsVisible=0 隐藏) f213b9c2-688e-421b-8371-b7e1154437a8@f9941
44 00044.png 280×80 牌桌元素(Layer6 Spirit478) d1e52465-f634-4e54-861d-9ae49d9b73cf@f9941
45 00045_*.png(2 帧,1×2) 159×120(单帧 159×60) 牌桌按钮(Layer6 Spirit3175 帧 1 / Spirit3199 帧 2) 帧 1 = db98f2d6-9aea-42ad-b2eb-569d7fba0ac5@f9941,帧 2 = bfc9f9b0-f642-4b3c-a2f7-f1fd886df0a7@f9941
77 00077.png 637×203 牌桌元素(Layer6 Spirit3176) b008b157-313a-445b-a5ea-501d55f3bee7@f9941
78 00078.png 44×44 牌桌图标(Layer6 Spirit3181) 362534c2-ef9e-4fc6-b4b8-aaa1be24d54f@f9941
79 00079_*.png(2 帧,2×1) 500×131(单帧 250×131) 牌桌元素(Layer6 Spirit3186 用帧 1) 帧 1 = cc2a414b-903f-41c2-b404-7152cf6453ab@f9941
92 00092.png 102×103 牌桌图标(Layer6 Spirit3192) f2a266cb-1400-4948-9083-1c8dd029ce7a@f9941
176 00176.png 309×322 牌桌元素(Layer6 Spirit3183,IsVisible=0 隐藏) 2b8d7065-c1d3-40c0-aefb-a93867cb4418@f9941
203 00203_*.png(13 帧,13×1) 299×35(单帧 23×35) FrameText 数字(Layer6 Spirit3187 FrameText=123456 / Spirit3197 FrameText=1) 帧 1 = a209c78b-b882-470b-a7a0-a1ce40c59755@f9941
207 00207_*.png(2 帧,1×2) 218×160(单帧 218×80) 牌桌按钮(Layer6 Spirit3184 帧 1 / Spirit3240 帧 2) 帧 1 = 3213a1f8-60a5-4a2d-8451-ce082e8dc1e3@f9941,帧 2 = 604ed57e-9d10-4cb1-a247-696d67db84e0@f9941
333 00333_*.png(2 帧,1×2) 141×100(单帧 141×50) 牌桌按钮(Layer6 Spirit3194 帧 1 / Spirit3195 帧 2) 帧 1 = 93f88a85-291f-4fa7-94a6-ee2cca507eb9@f9941,帧 2 = 72af5aa1-edd8-4863-99fe-f6648247157f@f9941
387 00387.png 257×57 牌桌标题(Layer6 Spirit3196)+ 高级选项按钮/输入框(Layer28 Spirit3097 普通 / Spirit3236 九宫格 20/20/20/20) a33762cf-de9a-4dd8-a140-12954813f005@f9941
421 00421_*.png(3 帧,1×3) 141×150(单帧 141×50) 牌桌按钮(Layer6 Spirit3214 帧 1 / Spirit3215 帧 2 / Spirit3235 帧 3) 帧 1 = 733acef5-3fad-4869-8b3d-a16fa499cbd4@f9941,帧 2 = 22c562c5-e009-4473-afac-8bc203b3b82d@f9941,帧 3 = c47d4ba6-c8e0-4263-8214-ccaa7c68e2ee@f9941
422 00422.png 111×93 玩家信息元素(Layer6 Spirit3232 group-3 / Spirit3231 group-103 渲染 112×93) d375e75a-db92-408e-966d-d314367fa4d4@f9941
424 00424.png 102×78 玩家信息元素(Layer6 Spirit3233 group-3) 6148cbb3-20e6-4a37-86fd-6b26a179fe72@f9941
431 00431_*.png(2 帧,1×2) 156×128(单帧 156×64) 玩家信息元素(Layer6 Spirit3256 group-3 用帧 1) 帧 1 = afea66bf-d6bf-431c-8afd-aac1b952cddd@f9941
437 00437.png 133×98 玩家信息元素(Layer6 Spirit3264 group-3) 59903a63-a454-42ae-b666-9828e77f6285@f9941
189 00189_*.png(5 帧,竖排) 559×138(单帧) 支付金额选择标题(Layer14 Spirit360 用帧 1) 帧 1 = dad5a5b2-1c64-4641-bb95-653b956a4bb5@f9941
190 00190_*.png(5 帧) 208×210(单帧) 支付金额选择按钮(Layer14 Spirit416~425 用帧 1) 帧 1 = 34f101dd-a0fe-4fdd-bdac-d7d01a2f47c3@f9941
191 00191_*.png(11 帧) 26×32(单帧) 金额数字 FrameText(Layer14 Spirit446~455 用帧 1,FrameText="12") 帧 1 = c9d95e2a-3897-415e-ad0c-16f6833cd91f@f9941
192 00192_*.png(11 帧) 60×70(单帧) 金额数字 FrameText(Layer14 Spirit460 用帧 1,FrameText="12") 帧 1 = 9eef61bf-02e3-42f6-9ce8-ac538d50ac9a@f9941
193 00193_*.png(4 帧,2×2) 228×80(单帧) 支付确认/取消按钮(Layer14 Spirit461/463 用帧 1、Spirit462 用帧 3) 帧 1 = 51d7a3be-2608-460b-88b6-d564ed188218@f9941,帧 3 = 262e5415-2332-4aa5-9a68-ab014ca38104@f9941
194 00194.png 484×89 支付确认大按钮(Layer14 Spirit464) 159c38bb-ddb9-4d16-95ba-d2c8af2b879b@f9941
195 00195.png 119×26 支付标题小字(Layer14 Spirit459) 3abeb587-2ba7-4c13-9419-4bac6e3a6fe2@f9941
196 00196_*.png(5 帧,竖排) 320×31(单帧) 支付确认弹窗标题(Layer14 Spirit458 用帧 1) 帧 1 = 050c6f8e-766e-4186-b283-85c34dc74d01@f9941
197 00197.png 848×591(九宫格) 支付确认弹窗背景(Layer14 Spirit457,边框 70/70/70/70) 557349f8-491a-4e0d-8ee8-484b1f7405a8@f9941
322 00322_*.png(3 帧,1×3) 51×25(单帧) 仓库小按钮(Layer25 Spirit3063 帧2 / Spirit3064 帧3 / Spirit3065/3066 帧3 / Spirit3084 帧1 / Spirit3085 帧2 / Spirit3086 帧3) 帧 1 = a1a6b56a-7b5f-46bb-a449-46a0783d31be@f9941,帧 2 = b8f62e44-4e03-48ff-bc30-28d890f63f36@f9941,帧 3 = 4e46f996-8283-41c5-8e08-c92d96d46863@f9941
323 00323_*.png(2 帧,1×2) 348×61(单帧) 仓库输入框(Layer25 Spirit3038/3039/3067/3068/3087/3088/3089 用帧 1) 帧 1 = c590bdfd-708e-47d0-86f9-c12fd6fabe1d@f9941
324 00324_*.png(2 帧,2×1) 49×49(单帧) 仓库图标(Layer25 Spirit3034/3035/3075/3076 用帧 1) 帧 1 = 6ea3fecc-a433-4a94-99a0-72b9fecb3f48@f9941
325 00325_*.png(3 帧,1×3) 233×25(单帧) 仓库输入条(Layer25 Spirit3040 帧1 / Spirit3041 帧2 / Spirit3090 帧3 / Spirit3091 帧1 / Spirit3092 帧2) 帧 1 = e76aeac6-7710-46ac-8a26-82423fe88728@f9941,帧 2 = 14a0a1f1-605b-4e17-bed7-1cf146ace600@f9941,帧 3 = 66f6b2a3-1012-428f-8c73-b510ba196ded@f9941
326 00326_*.png(2 帧,1×2) 63×31(单帧) 仓库小按钮(Layer25 Spirit3036 帧1 / Spirit3037 帧2) 帧 1 = d61da596-e91f-44ee-ad95-c60a7bd1aa1a@f9941,帧 2 = b69b484c-6614-46f2-bb11-aef5c9e2c072@f9941
327 00327.png 403×76 仓库标题(Layer25 Spirit3031) ada2a16c-46c1-448b-9d71-184f6af8e14c@f9941
328 00328_*.png(12 帧,3×4) 131×77(单帧) 仓库物品格子(Layer25 Spirit3044 帧11 / Spirit30453055 帧110/12) 帧 1 = 709f0415-967c-4044-8421-14e732b71ea9@f9941,帧 2 = da10d8d8-c28e-460c-80d3-5e60552d5709@f9941,帧 3 = 16be1ca8-702f-40a6-b9bf-f9697ae71621@f9941,帧 4 = 96b25724-1e76-41f9-b84d-2c0200bbad9c@f9941,帧 5 = f419824f-097b-4f9d-b96a-4ac03c786eb0@f9941,帧 6 = 3e49d151-a14c-40ff-afb4-743831108e05@f9941,帧 7 = ce278762-2213-43ad-baf2-25a1dcab76dd@f9941,帧 8 = 9397e708-75f0-48ee-9ead-28b319582a3f@f9941,帧 9 = 05076ef5-5acd-482d-a685-24abdf2dd5dd@f9941,帧 10 = d6ab4157-bf1b-4cd1-90c0-ac6fb4de44ab@f9941,帧 11 = b7b84d44-7f5f-49c5-9b4b-01dae729c40b@f9941,帧 12 = eac89782-a461-41de-9dda-0d5aa03b3e04@f9941
329 00329_*.png(10 帧,10×1) 27×34(单帧) 仓库数字 FrameText(Layer25 Spirit3033/3056/3058 FrameText="10000"、Spirit3071 FrameText="1"、Spirit3072 FrameText="9999"、Spirit3079/3080/3093/3094/3095 FrameText="111"/"222" 均用帧 1) 帧 1 = 089f6155-1876-464a-a726-bcf016091508@f9941
330 00330.png 104×55 仓库按钮(Layer25 Spirit3096) 8c754215-97c0-43f0-ac16-816227add1f1@f9941
332 00332_*.png(2 帧,1×2) 236×100(单帧) 仓库左侧 tab(Layer25 Spirit3059 帧1 / Spirit3060 帧2) 帧 1 = 0af58858-c0d7-4e27-9d71-ec286c1c8deb@f9941,帧 2 = c7298af1-c72d-4a47-8da8-b9f9aa4b8b7b@f9941
334 00334.png 311×23 仓库按钮(Layer25 Spirit3074) add7b249-18ee-40da-b67c-ad42f7ac61bc@f9941
335 00335_*.png(4 帧,2×2) 97×37(单帧) 仓库 tab 图标(Layer25 Spirit3061 帧1 / Spirit3062 帧3) 帧 1 = 619c2f40-6e6e-42e0-811f-da4ced7e1c5d@f9941,帧 3 = 2371d2b0-9f13-4dc7-9266-74ddcd1a933e@f9941
336 00336.png 93×93 仓库头像框(Layer25 Spirit3081,渲染 70×70) c7f4102c-d134-4e01-bb5f-8082e990eba1@f9941
337 00337_*.png(2 帧,1×2) 154×25(单帧) 仓库按钮(Layer25 Spirit3069 帧1 / Spirit3070 帧2) 帧 1 = bfa7e4c3-0bb1-43fd-a6d1-266bc760e2db@f9941,帧 2 = 7899c2d8-537a-4374-9b89-f15a7f676e04@f9941
374 00374.png 1132×664(九宫格) 仓库背景(Layer25 Spirit3030,边框 400/200/346/245) 90371a42-824c-4e7b-afd6-ed6138db9014@f9941
32 00032_*.png(2 帧,1×2) 149×30(单帧) 做任务按钮(Layer26 Spirit122/125/128/131/134 用帧 1) 帧 1 = 0179e156-c67a-4155-97be-19f95c20c5d6@f9941,帧 2 = d3319923-eaae-4ec1-aa0a-120a7e424473@f9941
43 00043_*.png(5 帧,5×1) 269×453(单帧) 任务卡片背景(Layer26 Spirit120/123/126/129/132 用帧 1) 帧 1 = 2327b915-6dba-405a-9604-c2e7e9410638@f9941,帧 2 = 13181e32-e14b-437a-b586-3d04479b2dc8@f9941,帧 3 = 008a7f94-0c6a-42ff-ad2e-3376048a1001@f9941,帧 4 = cbfea016-6003-4fb0-8c74-153c3839984d@f9941,帧 5 = 2c4d4902-2b4e-4819-a138-7f49ac790bb5@f9941
55 00055_*.png(2 帧,1×2) 171×58(单帧) 任务领取按钮(Layer26 Spirit121/124/127/130/133 用帧 1) 帧 1 = 5b3f363e-0430-464b-9695-320d93846dcf@f9941,帧 2 = 770d2c6e-8432-4a4b-8693-f79d69c5c032@f9941
56 00056.png 204×23 任务进度背景(Layer26 Spirit311~314) 4076f965-095a-47cb-8278-5683330e8f28@f9941
57 00057.png 202×21 任务进度前景(Layer26 Spirit315~318) 5aa742e1-c2b1-4de6-ae02-13675a9165b4@f9941
58 00058_*.png(2 帧,1×2) 81×26(单帧) 已领取标记(Layer26 Spirit328~331 用帧 2) 帧 1 = 0544adf8-a09d-44b3-ba22-03cfadc5d61e@f9941,帧 2 = cffa3693-5396-4c45-99bd-611d00ab3be2@f9941
219 00219_*.png(3 帧,1×3) 109×50(单帧) 高级选项按钮(Layer28 Spirit3131 帧1 / Spirit580 帧2 / Spirit592 帧3) 帧 1 = 300c7e3e-a243-4dfe-a08a-7c714a2afd7c@f9941,帧 2 = 2648d1b2-b6cc-46b0-a2a3-487d5eeed8e5@f9941,帧 3 = a7a7ae0b-d906-4e03-8f37-5355a9580997@f9941
220 00220.png 503×18 高级选项分隔线(Layer28 Spirit596) 47c78a4b-859b-45ad-a7c5-f7c223e43402@f9941
221 00221.png 70×52 高级选项图标(Layer28 Spirit597) 15250612-15fc-4a47-a938-122a9f4cb8fb@f9941
224 00224.png 485×169(九宫格) 高级选项下方按钮/面板(Layer28 Spirit622,边框 90/90/90/90) ff323f32-7811-4c41-b5aa-2068b339bb62@f9941
225 00225_*.png(3 帧,1×3) 109×74(单帧) 高级选项按钮(Layer28 Spirit627 用帧 2) 帧 2 = 76e7e50f-da8b-42f4-8beb-2b76b481fb31@f9941
227 00227_*.png(10 帧,10×1) 18×22(单帧) 高级选项数字 sprite(Layer28 Spirit593/594/595/624/3099/3237 用帧 1,短号数字) 帧 1 = 633ee510-9b17-4421-b86b-4cfd177a70b7@f9941
228 00228_*.png(10 帧,10×1) 26×37(单帧) 高级选项短号输入框(Layer28 Spirit598 用帧 1,数字) 帧 1 = a97f2ec6-99dc-4e81-8d8e-6e71ed457954@f9941
229 00229.png 185×60 高级选项按钮(Layer28 Spirit625,FrameIndex=5 回绕帧 1) 310e499a-4902-4123-97e5-169b53923193@f9941
230 00230.png 168×178 高级选项图标(Layer28 Spirit603) c3da0aeb-635c-425b-9bcc-d2303908658b@f9941
236 00236_*.png(3 帧,1×3) 204×85(单帧) 高级选项分享按钮(Layer28 Spirit626 帧1 / Spirit652 分享好友 帧2 / Spirit653 分享朋友圈 帧3) 帧 1 = c91b912e-9477-4a24-a87c-94494b9e0737@f9941,帧 2 = df12cd1c-1c9d-479c-bbdf-ec4d540a8d3e@f9941,帧 3 = 152b4b63-7526-4798-a8bc-4257c166adf8@f9941
382 00382.png 1280×720 全屏遮罩(Layer28 Spirit577 拉伸 1600×720) c4135216-ddb5-44ba-be74-7d6ae4e24356@f9941
383 00383.png 656×497(九宫格) 高级选项左面板背景(Layer28 Spirit578,边框 55/45/55/45) 4713b0f6-aae8-4cf6-af8f-3a34f8b5d673@f9941
384 00384.png 124×77 高级选项图标(Layer28 Spirit579) 08b94e95-0c30-4d6b-8528-6a6f6bb46ae9@f9941
385 00385.png 209×81 高级选项标题(Layer28 Spirit581,FrameIndex=2 回绕帧 1) c2fe1edc-2118-4ed3-9b50-d58e8d75f248@f9941
386 00386.png 288×174(九宫格) 高级选项内框(Layer28 Spirit3129 拉伸 542×174 / Spirit3137 拉伸 511×528,边框 55/45/55/45) b32b6454-e428-4e5f-95e2-6b9762e59004@f9941
388 00388.png 111×21 高级选项文本条(Layer28 Spirit3130) 73825a17-2ad5-4e0d-8857-66fa68ba30af@f9941
389 00389.png 75×26 高级选项小标签(Layer28 Spirit3132) 1f17584a-f31c-41f2-9fad-c088dc7e6ad4@f9941
390 00390_*.png(2 帧,1×2) 40×40(单帧) 高级选项勾选框/开关(Layer28 Spirit3100/3166/3167 用帧 2) 帧 2 = 2e74c3dc-b460-43ca-8205-3eb1ba2ad650@f9941
391 00391_*.png(2 帧,1×2) 191×57(单帧) 高级选项按钮(Layer28 Spirit3133/3164/3258 用帧 2) 帧 2 = 40919583-15ce-43d5-96f4-c10402db8e0a@f9941
392 00392.png 564×679(九宫格) 高级选项右面板背景(Layer28 Spirit3135,边框 55/45/55/45) 6a91aa70-a26b-43d1-8a0c-520521cfde08@f9941
393 00393.png 270×55 高级选项右面板标题(Layer28 Spirit3136) bcf9e835-69ac-468d-b3a7-c3a0fe0f824e@f9941
395 00395.png 42×33 高级选项小图标(Layer28 Spirit3138,FrameIndex=2 回绕帧 1) d8b5863a-62ce-4ff8-a233-946f532e21f1@f9941
397 00397.png 144×62 高级选项按钮(Layer28 Spirit3140,FrameIndex=2 回绕帧 1) caa45852-94dd-4002-a624-c33469e341bb@f9941
408 00408.png 241×50 高级选项按钮/输入条(Layer28 Spirit3158) d984148c-201a-479f-b29c-8b448ee8c6f6@f9941
410 00410.png 110×30 高级选项小按钮(Layer28 Spirit3163,FrameIndex=2 回绕帧 1) 6639015c-6206-465e-9ff1-8d320d443d77@f9941
426 00426_*.png(2 帧,1×2) 87×46(单帧) 高级选项小按钮(Layer28 Spirit3238 帧1 / Spirit3257 帧2) 帧 1 = 9d4cd734-7d5c-48f7-a98b-cf3846955e32@f9941,帧 2 = acf55d2f-fd0e-4b51-ae04-41f78c75cec4@f9941
39 00039.png 629×36(九宫格) 游戏公告滚动背景(Layer402 Spirit389 拉伸 629×40,边框 1/1/1/1) 6e5777d9-88db-40e8-b4bc-2739951717e3@f9941
68 00068_*.png(2 帧,2×1) 88×88(单帧) 录音/消息按钮(Layer405 Spirit152 录音 帧2 / Spirit153 消息 帧1) 帧 1 = 09564741-b821-449f-ae85-c652282ef6c6@f9941,帧 2 = ab463835-86de-4648-af02-5de9d5af0668@f9941
179 00179_*.png(2 帧,1×2) 157×74(单帧) 确认/取消按钮(Layer420 Spirit245 确认 帧1 / Spirit246 取消 帧2) 帧 1 = a29710ee-adc5-496e-8fe4-8bf1c2351af6@f9941,帧 2 = 90826223-0181-49e5-9547-5b52195b014a@f9941
181 00181_*.png(5 帧,1×5) 494×28(单帧) 主场景底条(Layer404 Spirit195 帧1) 帧 1 = 8541e1cf-02b3-4e12-8e87-957127dccc85@f9941
208 00208_*.png(2 帧,1×2) 184×80(单帧) 准备/开始按钮(Layer403 Spirit515 准备 帧1 / Layer404 Spirit184 开始 帧2) 帧 1 = b8a0a85a-788c-4dc6-9736-2158cdb7d234@f9941,帧 2 = 0c369998-cb71-4e12-afa5-d86977f31de3@f9941
215 00215_*.png(2 帧,1×2) 300×70(单帧) 主场景双态按钮(Layer404 Spirit569 帧1 / Spirit183 帧2) 帧 1 = d13b89de-45cf-46c6-ba15-b0a113dd085a@f9941,帧 2 = 30aee7c2-237f-4bde-8bdf-34cd4b644bfb@f9941
342 00342.png 27×27(九宫格) 录音按钮九宫格底(Layer405 Spirit3118,边框 13/13/13/13) 3c09029f-06e3-4a28-85d2-c1dbc72e6bd5@f9941
343 00343.png 102×64 消息按钮图标(Layer405 Spirit3115,FrameIndex=4 回绕帧 1) 7ab30157-c08a-4d03-b3bb-f54bce82f79d@f9941
400 00400.png 742×48 房号背景(Layer411 Spirit3143) 0aa23b29-6e06-49d4-98e5-e190a990d6a4@f9941
403 00403.png 160×60 图标(Layer411 Spirit3151) 101fa2b1-699f-4d7d-a72f-8ca7c3bcecc7@f9941
404 00404_*.png(2 帧,1×2) 160×80(单帧) 解散/退出按钮(Layer411 Spirit3144 解散 帧2 / Spirit3145 退出 帧3 回绕帧 1) 帧 1 = eb30a042-da99-47c2-8cc3-312497477522@f9941,帧 2 = de1ae4c7-7cd0-429e-8ec9-f60031c5e86c@f9941
83 00083.png 127×63(九宫格) 语音气泡(Layer409 10 个)+ 聊天气泡(Layer410 10 个),边框 30/20/30/20 8c4a282d-467c-4e53-be42-d65cec714689@f9941
99 00099_*.png(7 帧,7×1) 143×135(单帧) 互动动画(Layer408 Spirit274~278 用帧1) 帧 1 = 44a9e557-91e1-4737-8d50-739c36a17e29@f9941
100 00100_*.png(3 帧,3×1) 20×25(单帧) 语音动画(Layer409 10 个用帧1) 帧 1 = a896b90f-7405-458b-85a6-accb6618a16f@f9941
102 00102_*.png(12 帧,12×1) 110×98(单帧) 互动动画(Layer408 Spirit292~296 用帧1) 帧 1 = 303b89dd-e104-4aee-809c-433e3fa3d993@f9941
103 00103_*.png(4 帧,1×4) 400×200(单帧,渲染 200×100) 互动动画(Layer408 Spirit297~301 用帧1) 帧 1 = 4589db32-441a-4662-a380-3df0d128e657@f9941
104 00104_*.png(12 帧,12×1) 130×130(单帧) 互动动画(Layer408 Spirit302~306 用帧1) 帧 1 = 66399f35-347a-4c09-9cd9-e944545ae31a@f9941
105 00105.png 64×64(九宫格) 玩家信息表情图标×8(Layer416,边框 20/20/20/20) e52b27d3-87da-4771-a470-688e70a61096@f9941
205 00205.png 72×29 图标(Layer413 Spirit512) 4bdef9c1-bcc2-433c-b904-e16e504bcc98@f9941
238 00238_*.png(7 帧,1×7) 155×80(单帧) 按钮面板按钮×7(Layer413 Spirit151/150/233/3014/513/656/185 用帧1~7) 帧 1 = 932f3dff-2b3f-40e3-a406-5d49cf19c68d@f9941,帧 2 = 7a4f099f-3d06-48f6-bf23-aaebfb59d7a1@f9941,帧 3 = 4b739e68-edaf-4406-ad6d-da78ec629058@f9941,帧 4 = e76a66a6-bbca-4a9d-815a-cedc8860efb5@f9941,帧 5 = fb6bc555-732a-4756-baa3-704c7259798b@f9941,帧 6 = c0f545ef-1556-41c4-8c1e-06ff6ab2c694@f9941,帧 7 = 5ad50aac-d65e-4efe-923d-8a96baf5f26b@f9941
377 00377.png 100×88 图标(Layer413 Spirit107) d2b9a6bb-2125-444a-827b-167139647e90@f9941
378 00378.png 396×720(九宫格) 按钮面板侧边(Layer413 Spirit108,边框 1/1/1/1) 87feae97-a87a-4102-9bf4-6bcaf2349902@f9941
379 00379.png 265×181(九宫格) 按钮面板大背景(Layer413 Spirit109 渲染 280×126,边框 90/90/90/90) 7771f99c-8227-4b5c-a07a-3bbf69eb0e2b@f9941
401 00401.png 54×60 图标(Layer413 Spirit3149) d7473ba7-c4bf-485c-b440-fe819e470112@f9941
402 00402.png 252×120(九宫格) 按钮面板输入框(Layer413 Spirit3148 渲染 141×33,边框 20/50/20/10) ae8f5608-c489-49e9-857b-14a255dccf42@f9941
76 00076.png 129×176(九宫格) 玩家座位底(Layer202 Spirit346~355 渲染 129×176,边框 45/45/45/45) 9d56940c-03d8-4921-b0a7-ef9d96a6adc5@f9941
117 00117.png 93×93 玩家头像(Layer202 Spirit377) 1246d5ba-8566-4365-b93f-33b195a43dea@f9941
118 00118.png 93×93 玩家头像(Layer202 Spirit378) db56d262-0df6-4601-b3f4-d5db43198803@f9941
119 00119.png 93×93 玩家头像(Layer202 Spirit379) 0aed62e5-d0f2-412b-a2e7-000ec463db3f@f9941
120 00120.png 93×93 玩家头像(Layer202 Spirit380) 2841c52e-92a1-40c6-a445-299df9606aa9@f9941
121 00121.png 93×93 玩家头像(Layer202 Spirit381) c4194536-2b35-4b69-bbd1-2d9925f23a5b@f9941
122 00122.png 93×93 玩家头像(Layer202 Spirit382) 20fdf722-00e2-4e1e-939d-48fdc139db7c@f9941
123 00123.png 93×93 玩家头像(Layer202 Spirit383) 9358bdc7-f8cd-41f2-ba06-252fe194872a@f9941
124 00124.png 93×93 玩家头像(Layer202 Spirit384) 4ad247a0-c0b3-4a14-b0a0-fd9beeb5da37@f9941
125 00125.png 93×93 玩家头像(Layer202 Spirit385) a7f1330f-4c94-425f-a0ac-ab07d60ee206@f9941
146 00146.png 105×99 表情底(Layer202 Spirit468~477) 47fd71d0-b38a-4b27-850c-0d27f5318db0@f9941
147 00147_*.png(5 帧) 100×100(单帧) 表情图标(Layer202 Spirit498~507 用帧1) 帧 1 = adad69bf-4541-42d2-8a5f-1b3462bf9a5a@f9941,帧 2 = a918e3ac-79ca-483f-95d6-5b27a7d9de8e@f9941,帧 3 = 9de19dbc-eaa6-45eb-b12d-b64ac29112b5@f9941,帧 4 = 6db90928-993c-4029-8ae8-ccbff51c3a85@f9941,帧 5 = b6434791-0afa-4b49-96d5-24f138f0dbfe@f9941

3. 每个 prefab 详细说明

约定:lpos = 相对父节点中心的偏移;Widget hc = _horizontalCenter;所有节点 anchorPoint = (0.5, 0.5)。

3.1 Layer619_BackHall.prefab(BackHall_Layer,返回大厅)

源 Layer00619.xml:1 spirit,GroupID=55。

Layer619_BackHall            UITransform 1600×720  Widget 45
└─ group-55                  UITransform 1600×720  Widget 45
   └─ Spirit465              UITransform 91×91    Widget 16 (hc=569.5)
节点 源字段 组件属性
Spirit465 ObjectID=465, X=1164 Y=146 W=91 H=91, ImgResID=31, Frame=1, CanClick=1 Sprite sf=8e3905be-…@f9941 type=0 sizeMode=0;contentSize 91×91;lpos (569.5, 168.5);Widget 16 hc=569.5

脚本驱动要点:

  • Spirit465 是「返回大厅」按钮(CanClick=1),XML Event 为空 → 需脚本 bind_button_click_event 绑定点击回调。

3.2 Layer614_Loading.prefab(Loading_Layer,载入遮罩)

源 Layer00614.xml:2 spirits,GroupID=40。

Layer614_Loading            UITransform 1600×720  Widget 45
└─ group-40                 UITransform 1600×720  Widget 45
   ├─ 载入遮罩              UITransform 1600×720  Widget 45
   └─ 载入动画              UITransform 150×150  Widget 16 (hc=0)
节点 源字段 组件属性
载入遮罩 ObjectID=326, X=0 Y=0 W=1280 H=720, ImgResID=11, CanClick=1 Sprite sf=eabf148a-…@f9941 type=0 sizeMode=0;contentSize 1600×720(全屏拉伸);lpos (0,0);Widget 45
载入动画 ObjectID=327, X=565 Y=285 W=150 H=150, ImgResID=108, Frame=1 Sprite sf=e966950a-…@f9941 type=0 sizeMode=0;contentSize 150×150;lpos (0,0);Widget 16 hc=0

脚本驱动要点:

  • 载入遮罩(CanClick=1)XML Event MouseUp=326(自引用)→ 语义为「点击关闭 loading」,脚本绑定点击回调。
  • 载入动画 frame_all=1(单帧静态),若后续要转圈动画需脚本切 spriteFrame 或加 Animation(源为静态图)。

3.3 Layer616_Kick.prefab(Kick_Layer,强制下线提示)

源 Layer00616.xml:3 spirits,GroupID=33。

Layer616_Kick              UITransform 1600×720  Widget 45
└─ group-33                UITransform 1600×720  Widget 45
   ├─ 强制下线提示         UITransform 1600×720  Widget 45
   ├─ 强制下线提示底       UITransform 600×105  Widget 16 (hc=-1)
   └─ 强制退出提示文字     UITransform 168×28   Widget 16 (hc=-18)  [Label]
节点 源字段 组件属性
强制下线提示 ObjectID=224, X=0 Y=0 W=1280 H=720, ImgResID=11 Sprite sf=eabf148a-…@f9941 type=0 sizeMode=0;contentSize 1600×720;lpos (0,0);Widget 45
强制下线提示底 ObjectID=225, X=339 Y=292 W=600 H=105, ImgResID=87 Sprite sf=c6295419-…@f9941 type=0 sizeMode=0;contentSize 600×105;lpos (-1, 15.5);Widget 16 hc=-1
强制退出提示文字 ObjectID=227, X=538 Y=330 W=168 H=28, FontSize=16, FontColor=16777215, Text="强制退出提示文字" Label string=强制退出提示文字 fontSize=16 lineHeight=16 color=白(255,255,255,255);contentSize 168×28;lpos (-18, 16);Widget 16 hc=-18

脚本驱动要点:

  • 强制退出提示文字(Label)是动态文本:_string 运行时由脚本替换为实际提示内容(源 Text="强制退出提示文字" 是占位)。
  • 强制下线提示底是「提示框底图」,文字叠加其上(lpos 差 (17, 0.5),文字略偏左下对齐底图)。

3.4 Layer613_RoomCardUpdate.prefab(updateRoomCard_Layer,房卡修改)

源 Layer00613.xml:3 spirits,GroupID=34。

Layer613_RoomCardUpdate        UITransform 1600×720  Widget 45
└─ group-34                    UITransform 1600×720  Widget 45
   ├─ 房卡修改遮罩            UITransform 1600×720  Widget 45
   ├─ 房卡修改背景            UITransform 570×105   Widget 16 (hc=12)
   └─ 房卡修改提示文字        UITransform 168×28    Widget 16 (hc=-50)  [Label]
节点 源字段 组件属性
房卡修改遮罩 ObjectID=226, X=0 Y=0 W=1280 H=720, ImgResID=11 Sprite sf=eabf148a-…@f9941 type=0 sizeMode=0;contentSize 1600×720;lpos (0,0);Widget 45
房卡修改背景 ObjectID=228, X=367 Y=288 W=570 H=105, ImgResID=87 Sprite sf=c6295419-…@f9941 type=0 sizeMode=0;contentSize 570×105;lpos (12, 19.5);Widget 16 hc=12
房卡修改提示文字 ObjectID=229, X=506 Y=324 W=168 H=28, FontSize=16, FontColor=16777215, Text="房卡修改提示文字" Label string=房卡修改提示文字 fontSize=16 lineHeight=16 color=白;contentSize 168×28;lpos (-50, 22);Widget 16 hc=-50

脚本驱动要点:

  • 房卡修改提示文字(Label)是动态文本:_string 运行时由脚本替换(源 Text="房卡修改提示文字" 是占位)。
  • 遮罩 CanClick=1,XML Event 空 → 脚本按需 bind_button_click_event(通常「点击关闭」)。

3.5 Layer615_Reconnect.prefab(Reconnect_Layer,掉线重连)

源 Layer00615.xml:4 spirits,GroupID=35。

Layer615_Reconnect        UITransform 1600×720  Widget 45
└─ group-35               UITransform 1600×720  Widget 45
   ├─ 掉线遮罩            UITransform 1600×720  Widget 45
   ├─ 掉线背景            UITransform 454×207   Widget 16 (hc=0)
   ├─ 重连动画            UITransform 64×64     Widget 16 (hc=0)
   └─ 重连文字            UITransform 171×28    Widget 16 (hc=0.5)  [Sprite]
节点 源字段 组件属性
掉线遮罩 ObjectID=230, X=0 Y=0 W=1280 H=720, ImgResID=11, CanClick=1 Sprite sf=eabf148a-…@f9941 type=0 sizeMode=0;contentSize 1600×720;lpos (0,0);Widget 45
掉线背景 ObjectID=231, X=413 Y=257 W=454 H=207, ImgResID=54 Sprite sf=4b04584c-…@f9941 type=0 sizeMode=0;contentSize 454×207;lpos (0,-0.5);Widget 16 hc=0
重连动画 ObjectID=232, X=608 Y=293 W=64 H=64, ImgResID=97, SpiritType=3, Frame=1, FrameIndex=1 Sprite sf=5690de47-…@f9941(第 1 帧)type=0 sizeMode=0;contentSize 64×64;lpos (0,35);Widget 16 hc=0
重连文字 ObjectID=255, X=555 Y=390 W=171 H=28, ImgResID=98, ObjectType=2 Sprite sf=837b6d75-…@f9941 type=0 sizeMode=0;contentSize 171×28;lpos (0.5,-44);Widget 16 hc=0.5

脚本驱动要点:

  • 重连文字是 Sprite,不是 Label(ObjectType=2、ImgResID=98,源 XML SpiritType=0 无 FontSize/Text):文字已烘焙在图片 00098.png 里,脚本无需 set string,只按需显隐/换图。
  • 重连动画是多帧 sprite(ImgResID=97,源 SpiritType=3 + Frame=1,8 帧 00097_1~8.png):迁移只落第 1 帧为 spriteFrame,运行时逐帧动画需脚本循环切 spriteFrame 或加 cc.Animation。
  • 掉线遮罩 CanClick=1,XML Event 空 → 脚本按需 bind_button_click_event(通常「点击取消重连/关闭」)。

3.6 Layer10_Protol.prefab(Protol_Layer,协议弹窗)

源 Layer00010.xml:4 spirits,GroupID=37。

Layer10_Protol           UITransform 1600×720  Widget 45
└─ group-37              UITransform 1600×720  Widget 45
   ├─ 协议遮罩           UITransform 1600×720  Widget 45
   ├─ 协议背景           UITransform 820×650   Widget 16 (hc=-7)   [9-slice]
   ├─ 协议内容           UITransform 729×997   Widget 16 (hc=-5.5)
   └─ Spirit253          UITransform 83×84     Widget 16 (hc=395.5)
节点 源字段 组件属性
协议遮罩 ObjectID=250, X=0 Y=0 W=1280 H=720, ImgResID=11, CanClick=1 Sprite sf=eabf148a-…@f9941 type=0 sizeMode=0;contentSize 1600×720;lpos (0,0);Widget 45
协议背景 ObjectID=251, X=223 Y=30 W=820 H=650, ImgResID=41, SpiritType=5, 边距 55/45/55/45 Sprite sf=3e7492cb-…@f9941 type=1 (SLICED) sizeMode=0;contentSize 820×650;lpos (-7,5);Widget 16 hc=-7;spriteFrame border/capInsets=[55,45,55,45]
协议内容 ObjectID=252, X=270 Y=70 W=729 H=997, ImgResID=95 Sprite sf=998850c4-…@f9941 type=0 sizeMode=0;contentSize 729×997;lpos (-5.5,-208.5);Widget 16 hc=-5.5
Spirit253 ObjectID=253, X=994 Y=6 W=83 H=84, ImgResID=33, CanClick=1 Sprite sf=eedce6d7-…@f9941 type=0 sizeMode=0;contentSize 83×84;lpos (395.5,312);Widget 16 hc=395.5

脚本驱动要点:

  • 协议背景是九宫格(源 SpiritType=5,边距 55/45/55/45):Sprite _type=SLICED + spriteFrame border 已设。九宫格边距是图片 00041.png 的固有属性,10 个 Layer 共享且边距一致,已在图片资源上一次性设置。
  • 协议内容是滚动长图(729×997,高超出 720 画布):contentSize 用源值,lpos (-5.5,-208.5) 向下超出屏幕,运行时需脚本配合 ScrollView/Mask 滚动显示(或按需裁剪)。
  • Spirit253 是关闭按钮(CanClick=1,源 Name 即 "Spirit253" 未改名),XML Event 空 → 脚本 bind_button_click_event 绑定「关闭协议弹窗」。
  • 协议遮罩 CanClick=1,XML Event 空 → 脚本按需绑定「点击遮罩关闭」。

3.7 Layer612_Tips.prefab(Tips_Layer,提示弹窗)

源 Layer00612.xml:5 spirits,2 组(GroupID=32 普通提示、GroupID=89 九宫格提示)。

Layer612_Tips             UITransform 1600×720  Widget 45
├─ group-32              UITransform 1600×720  Widget 45
│  ├─ Spirit3193         UITransform 1600×720  Widget 45
│  ├─ 提示背景           UITransform 570×105   Widget 16 (hc=-24)
│  └─ 提示文字           UITransform 84×28     Widget 16 (hc=-81)   [Label]
└─ group-89              UITransform 1600×720  Widget 45
   ├─ Spirit3012         UITransform 100×100   Widget 16 (hc=-254)  [9-slice]
   └─ Spirit3013         UITransform 84×28     Widget 16 (hc=-238)  [Label]
节点 源字段 组件属性
Spirit3193 ObjectID=3193, X=0 Y=0 W=1280 H=720, ImgResID=10, CanClick=1 Sprite sf=dcc4530b-…@f9941 type=0 sizeMode=0;contentSize 1600×720;lpos (0,0);Widget 45
提示背景 ObjectID=217, X=331 Y=290 W=570 H=105, ImgResID=87 Sprite sf=c6295419-…@f9941 type=0 sizeMode=0;contentSize 570×105;lpos (-24, 17.5);Widget 16 hc=-24
提示文字 ObjectID=218, X=517 Y=327 W=84 H=28, FontSize=16, FontColor=16777215, Text="提示文字" Label string=提示文字 fontSize=16 lineHeight=16 color=白;contentSize 84×28;lpos (-81, 19);Widget 16 hc=-81
Spirit3012 ObjectID=3012, X=336 Y=289 W=100 H=100, ImgResID=249, SpiritType=5, 边距 40/40/40/40, CanClick=1 Sprite sf=b44cf3e4-…@f9941 type=1 (SLICED) sizeMode=0;contentSize 100×100;lpos (-254, 21);Widget 16 hc=-254;spriteFrame border/capInsets=[40,40,40,40]
Spirit3013 ObjectID=3013, X=360 Y=336 W=84 H=28, FontSize=16, FontColor=16777215, Text="提示文字" Label string=提示文字 fontSize=16 lineHeight=16 color=白;contentSize 84×28;lpos (-238, 10);Widget 16 hc=-238

脚本驱动要点:

  • 两组提示:group-32 是普通提示(遮罩 + 570×105 底 + 文字),group-89 是九宫格提示(100×100 九宫格按钮 + 文字)。两组为互斥的两种提示形态,运行时按需显隐某一 group。
  • 提示文字(Label)是动态文本:两处 _string 都是占位 "提示文字",运行时由脚本替换为实际提示内容。
  • Spirit3012 是九宫格(源 SpiritType=5 + CanDragSize=1,边距 40/40/40/40):Sprite _type=SLICED + spriteFrame border 已设。图片 00249.png 仅被 Layer612 使用(无跨 Layer 共享),边距在图片资源上一次性设置。CanDragSize=1 表明运行时可能被脚本拉伸(九宫格保证拉伸不变形)。
  • 遮罩图异于通用遮罩:Layer612 用 ImgResID=10(00010.png 166×68)做遮罩,不是其它 Layer 通用的 00011.png(4×4)。若后续要统一遮罩,需在脚本/来源处确认(数据源权威,不得下游兜底)。
  • Spirit3193(CanClick=1)、Spirit3012(CanClick=1)XML Event 空 → 脚本按需 bind_button_click_event。

3.8 Layer620_Record.prefab(recordLayer,记录)

源 Layer00620.xml:3 spirits,GroupID=101。

Layer620_Record          UITransform 1600×720  Widget 45
└─ group-101             UITransform 1600×720  Widget 45
   ├─ Spirit3126         UITransform 1600×720  Widget 45
   ├─ Spirit3127         UITransform 351×359   Widget 16 (hc=0.5)
   └─ Spirit3128         UITransform 65×174    Widget 16 (hc=96.5)
节点 源字段 组件属性
Spirit3126 ObjectID=3126, X=0 Y=0 W=1280 H=720, ImgResID=10, CanClick=1 Sprite sf=dcc4530b-…@f9941 type=0 sizeMode=0;contentSize 1600×720;lpos (0,0);Widget 45
Spirit3127 ObjectID=3127, X=465 Y=181 W=351 H=359, ImgResID=381, SpiritType=3, Frame=1, CanClick=1 Sprite sf=31eeca1a-…@f9941 type=0 sizeMode=0;contentSize 351×359;lpos (0.5,-0.5);Widget 16 hc=0.5
Spirit3128 ObjectID=3128, X=704 Y=273 W=65 H=174, ImgResID=380, SpiritType=3, Frame=1, CanClick=1 Sprite sf=1305d4c3-…@f9941(第 1 帧)type=0 sizeMode=0;contentSize 65×174;lpos (96.5,0);Widget 16 hc=96.5

脚本驱动要点:

  • Spirit3128 是多帧 sprite(ImgResID=380,源 SpiritType=3 + Frame=1,6 帧 00380_1~6.png,每帧 65×174):迁移只落第 1 帧为 spriteFrame,运行时逐帧动画需脚本循环切 spriteFrame 或加 cc.Animation(记录滚动/计数动画)。
  • Spirit3127 是记录背景(ImgResID=381 单图 351×359):SizeCalcMode=2 + WidthCalcMode/HeightCalcMode=1(随内容自适应尺寸),但源 W/H 已给出 351×359,迁移按固定 contentSize 落盘。
  • 三节点均 CanClick=1、XML Event 空 → 脚本按需 bind_button_click_event(Spirit3126 遮罩通常「点击关闭」)。
  • 遮罩用 ImgResID=10(00010.png,与 Layer612 共用),非通用遮罩 00011。

3.9 Layer618.prefab(Layer618,双态全屏)

源 Layer00618.xml:2 spirits,2 组(GroupID=85/86)。

Layer618                UITransform 1600×720  Widget 45
├─ group-85            UITransform 1600×720  Widget 45
│  └─ Spirit654        UITransform 1600×720  Widget 45
└─ group-86            UITransform 1600×720  Widget 45
   └─ Spirit655        UITransform 1600×720  Widget 45  [active=false]
节点 源字段 组件属性
Spirit654 ObjectID=654, X=0 Y=0 W=1280 H=720, ImgResID=237, CanClick=1 Sprite sf=a2c1c399-…@f9941 type=0 sizeMode=0;contentSize 1600×720(全屏拉伸);lpos (0,0);Widget 45
Spirit655 ObjectID=655, X=0 Y=0 W=1280 H=720, ImgResID=11, IsVisible=0, CanClick=1 Sprite sf=eabf148a-…@f9941 type=0 sizeMode=0;contentSize 1600×720;lpos (0,0);Widget 45;节点 _active=false(IsVisible=0)

脚本驱动要点:

  • 两个互斥全屏状态:group-85(Spirit654,00237.png 全屏背景,visible)+ group-86(Spirit655,00011.png 遮罩,IsVisible=0 hidden)。运行时脚本按需切换两 group 显隐(如「有背景」vs「纯遮罩」两态)。
  • Spirit654(CanClick=1)、Spirit655(CanClick=1)XML Event 空 → 脚本按需 bind_button_click_event。

3.10 Layer603.prefab(Layer603,双帧图标)

源 Layer00603.xml:3 spirits,GroupID=107。

Layer603              UITransform 1600×720  Widget 45
└─ group-107          UITransform 1600×720  Widget 45
   ├─ Spirit3267      UITransform 1600×720  Widget 45
   ├─ Spirit3268      UITransform 132×156   Widget 16 (hc=-117)
   └─ Spirit3269      UITransform 132×156   Widget 16 (hc=154)
节点 源字段 组件属性
Spirit3267 ObjectID=3267, X=0 Y=0 W=1280 H=720, ImgResID=11, CanClick=1 Sprite sf=eabf148a-…@f9941 type=0 sizeMode=0;contentSize 1600×720;lpos (0,0);Widget 45
Spirit3268 ObjectID=3268, X=457 Y=345 W=132 H=156, ImgResID=439, SpiritType=3, Frame=1, CanClick=1 Sprite sf=b28d677c-…@f9941(帧 1)type=0 sizeMode=0;contentSize 132×156;lpos (-117,-63);Widget 16 hc=-117
Spirit3269 ObjectID=3269, X=728 Y=345 W=132 H=156, ImgResID=439, SpiritType=3, Frame=2, CanClick=1 Sprite sf=1c34b82d-…@f9941(帧 2)type=0 sizeMode=0;contentSize 132×156;lpos (154,-63);Widget 16 hc=154

脚本驱动要点:

  • Spirit3268 / Spirit3269 是同一图片(ImgID 439)的帧 1 / 帧 2,并列放置(X=457 vs 728,同 Y=345)。源 SpiritType=3 + Frame 指明帧号,迁移把帧 1/帧 2 分别落到两个 spriteFrame。语义疑为「两个并列图标 / 二态指示」,脚本按需切 spriteFrame 或显隐。
  • 三节点均 CanClick=1、XML Event 空 → 脚本按需 bind_button_click_event(Spirit3267 遮罩通常「点击关闭」)。

3.11 Layer617_iMessage.prefab(iMessage_Layer,顶部通知横幅)

源 Layer00617.xml:4 spirits,GroupID=41。

Layer617_iMessage       UITransform 1600×720  Widget 45
└─ group-41            UITransform 1600×720  Widget 45
   ├─ 即时通知背景      UITransform 1280×85   Widget 16 (hc=0)
   ├─ 即时通知信息内容  UITransform 27×35     Widget 16 (hc=-22.5)  [Label]
   ├─ 即时通知图标      UITransform 57×42     Widget 16 (hc=-593.5)
   └─ 即时通知关闭      UITransform 33×37     Widget 16 (hc=581.5)
节点 源字段 组件属性
即时通知背景 ObjectID=332, X=0 Y=0 W=1280 H=85, ImgResID=109, CanClick=1 Sprite sf=1c5e45ef-…@f9941 type=0 sizeMode=0;contentSize 1280×85(非全屏,不拉伸 1600);lpos (0,317.5);Widget 16 hc=0
即时通知信息内容 ObjectID=333, X=604 Y=-76 W=27 H=35, FontSize=20, FontColor=16777215, Text="小" Label string=小 fontSize=20 lineHeight=20 color=白;contentSize 27×35;lpos (-22.5,418.5);Widget 16 hc=-22.5
即时通知图标 ObjectID=334, X=18 Y=23 W=57 H=42, ImgResID=110, CanClick=1 Sprite sf=45de5613-…@f9941 type=0 sizeMode=0;contentSize 57×42;lpos (-593.5,316);Widget 16 hc=-593.5
即时通知关闭 ObjectID=335, X=1205 Y=25 W=33 H=37, ImgResID=111, CanClick=1 Sprite sf=efd5ab89-…@f9941 type=0 sizeMode=0;contentSize 33×37;lpos (581.5,316.5);Widget 16 hc=581.5

脚本驱动要点:

  • 顶部通知横幅(iMessage 通知):1280×85 横幅贴顶(lpos.y=317.5),图标左、关闭右、文本居中。横幅非全屏 720 背景,不拉伸到 1600,保持 1280 宽水平居中(符合「1280 UI 居中」设计)。
  • 即时通知信息内容(Label)是动态文本:_string="小" 是占位,运行时由脚本替换为实际通知内容。⚠️ 源 Y=-76(Top=-76)异常:文本在源数据里位于横幅上方(lpos.y=418.5 超出屏幕顶),此值逐字复刻自源(数据源权威不兜底),运行时脚本需按实际内容重新定位。
  • 即时通知关闭(CanClick=1)是「关闭通知」按钮,XML Event 空 → 脚本 bind_button_click_event。

3.12 Layer601.prefab(Layer601,说明弹窗)

源 Layer00601.xml:5 spirits,GroupID=102。

Layer601              UITransform 1600×720  Widget 45
└─ group-102          UITransform 1600×720  Widget 45
   ├─ Spirit3153      UITransform 1600×720  Widget 45
   ├─ Spirit3154      UITransform 1004×174  Widget 16 (hc=-130)   [Label]
   ├─ Spirit3155      UITransform 145×74    Widget 16 (hc=507.5)
   ├─ Spirit3159      UITransform 145×74    Widget 16 (hc=507.5)
   └─ Spirit3160      UITransform 85×25     Widget 16 (hc=-589.5)  [Label]
节点 源字段 组件属性
Spirit3153 ObjectID=3153, X=0 Y=0 W=1280 H=720, ImgResID=405, SpiritType=5(四边距全 0), CanClick=1, CanDragSize=1 Sprite sf=c6516e94-…@f9941 type=0 sizeMode=0;contentSize 1600×720(全屏拉伸);lpos (0,0);Widget 45
Spirit3154 ObjectID=3154, X=8 Y=8 W=1004 H=174, FontSize=24, FontColor=15630432, Text="", WordWrap=1, LineSpace=5, CanClick=1, CanDragSize=1 Label string=``(空) fontSize=24 lineHeight=24 color=(96,128,238,255);contentSize 1004×174;lpos (-130,265);Widget 16 hc=-130
Spirit3155 ObjectID=3155, X=1075 Y=109 W=145 H=74, ImgResID=406, SpiritType=3, Frame=1, CanClick=1 Sprite sf=f3f55138-…@f9941 type=0 sizeMode=0;contentSize 145×74;lpos (507.5,214);Widget 16 hc=507.5
Spirit3159 ObjectID=3159, X=1075 Y=26 W=145 H=74, ImgResID=409, SpiritType=3, Frame=1, CanClick=1 Sprite sf=deb92933-…@f9941 type=0 sizeMode=0;contentSize 145×74;lpos (507.5,297);Widget 16 hc=507.5
Spirit3160 ObjectID=3160, X=8 Y=184 W=85 H=25, FontSize=14, FontColor=6316128, Text="Spirit3160", CanClick=1 Label string=Spirit3160 fontSize=14 lineHeight=14 color=(96,96,96,255);contentSize 85×25;lpos (-589.5,163.5);Widget 16 hc=-589.5

脚本驱动要点:

  • Spirit3153 是遮罩(源 SpiritType=5 但四边距全 0 → 等效普通拉伸,迁移为 SIMPLE type=0),XML Event MouseUp=3153(自引用)→ 语义「点击遮罩关闭该 Layer」,脚本 bind_button_click_event。
  • Spirit3154 是大块动态文本(1004×174,Text="" 空,WordWrap=1 多行 + LineSpace=5):运行时脚本 set string(说明/公告类内容)。⚠️ 源 LineSpace=5 ≠ fontSize(24),映射到 _lineHeight 的精确值待验证(见 5.待验证 1)。
  • Spirit3155 / Spirit3159 是右侧并列两按钮(ImgID 406/409,同 X=1075、同 145×74,Y 差 83):语义疑为「确定/取消」或双态按钮,CanClick=1、XML Event 空 → 脚本按需 bind_button_click_event。
  • Spirit3160 是动态文本(Text="Spirit3160" 是 ObjectName 占位,fontSize=14):运行时脚本 set string。

3.13 Layer608_Help.prefab(Help_Layer,帮助弹窗)

源 Layer00608.xml:7 spirits,GroupID=19。

Layer608_Help          UITransform 1600×720  Widget 45
└─ group-19            UITransform 1600×720  Widget 45
   ├─ 帮助遮罩          UITransform 1600×720  Widget 45
   ├─ 帮助背景          UITransform 900×600   Widget 16 (hc=0)     [9-slice]
   ├─ 帮助文字          UITransform 84×28     Widget 16 (hc=-353)   [Label]
   ├─ 帮助标题          UITransform 510×138   Widget 16 (hc=56)
   ├─ Spirit693         UITransform 403×76    Widget 16 (hc=0.5)
   ├─ 帮助内容          UITransform 729×1122  Widget 16 (hc=4.5)
   └─ 关闭帮助          UITransform 83×84     Widget 16 (hc=418.5)
节点 源字段 组件属性
帮助遮罩 ObjectID=141, X=0 Y=0 W=1280 H=720, ImgResID=11, CanClick=1 Sprite sf=eabf148a-…@f9941 type=0 sizeMode=0;contentSize 1600×720;lpos (0,0);Widget 45
帮助背景 ObjectID=142, X=190 Y=70 W=900 H=600, ImgResID=2, SpiritType=5, 边距 250/200/346/245, CanClick=1, CanDragSize=1 Sprite sf=8eb7acc3-…@f9941 type=1 (SLICED) sizeMode=0;contentSize 900×600;lpos (0,-10);Widget 16 hc=0;border 待补(见要点)
帮助文字 ObjectID=143, X=245 Y=-92 W=84 H=28, FontSize=16, FontColor=1059174, Text="帮助文字", CanClick=1 Label string=帮助文字 fontSize=16 lineHeight=16 color=(102,41,16,255);contentSize 84×28;lpos (-353,438);Widget 16 hc=-353
帮助标题 ObjectID=144, X=441 Y=-251 W=510 H=138, ImgResID=40, CanClick=1 Sprite sf=05398908-…@f9941 type=0 sizeMode=0;contentSize 510×138;lpos (56,542);Widget 16 hc=56
Spirit693 ObjectID=693, X=439 Y=82 W=403 H=76, ImgResID=6, SpiritType=3, Frame=4, CanClick=1 Sprite sf=317bd27a-…@f9941(第 4 帧)type=0 sizeMode=0;contentSize 403×76;lpos (0.5,240);Widget 16 hc=0.5
帮助内容 ObjectID=290, X=280 Y=170 W=729 H=1122, ImgResID=101, CanClick=1 Sprite sf=bb84a2a5-…@f9941 type=0 sizeMode=0;contentSize 729×1122;lpos (4.5,-371);Widget 16 hc=4.5
关闭帮助 ObjectID=47, X=1017 Y=60 W=83 H=84, ImgResID=33, CanClick=1 Sprite sf=eedce6d7-…@f9941 type=0 sizeMode=0;contentSize 83×84;lpos (418.5,258);Widget 16 hc=418.5

脚本驱动要点:

  • 帮助背景是九宫格(源 SpiritType=5,边距 250/200/346/245):Sprite _type=SLICED 已设,但 spriteFrame border 尚未设置(见 1.9「结构优先,边距后补」)。⚠️ 图片 00002.png 被 7 个 Layer 以 4 组不同边距 复用(本层 250/200/346/245 是其中一组),单一 .meta border 无法同时服务;后续「9-slice 补边距」任务需为 (图片,边距) 组合各建 spriteFrame 副本再回填 border。
  • 帮助文字(Label)是动态文本:_string="帮助文字" 是占位(= ObjectName),运行时由脚本替换为实际帮助说明。⚠️ 源 Y=-92(Top=-92)异常,lpos.y=438 已超出屏幕顶(源数据逐字复刻,不兜底),运行时脚本按实际内容重新定位。
  • 帮助内容是滚动长图(729×1122,高超出 720 画布):contentSize 用源值,lpos.y=-371 向下超出屏幕,运行时需脚本配合 ScrollView/Mask 滚动。
  • Spirit693 是多帧 sprite 的第 4 帧(ImgID=6,SpiritType=3 + Frame=4,5 帧 00006_1~5.png,每帧 403×76):迁移落第 4 帧,运行时按需切帧。
  • 关闭帮助(Spirit47)是关闭按钮(CanClick=1),XML Event 空 → 脚本 bind_button_click_event 绑定「关闭帮助弹窗」。帮助遮罩(CanClick=1)→ 点击遮罩关闭(按需绑定)。帮助背景/标题/Spirit693/帮助内容 均 CanClick=1(装饰,按需绑定)。

3.14 Layer609_Setting.prefab(Setting_Layer,设置弹窗)

源 Layer00609.xml:15 spirits,GroupID=6。

Layer609_Setting       UITransform 1600×720  Widget 45
└─ group-6             UITransform 1600×720  Widget 45
   ├─ 设置遮罩          UITransform 1600×720  Widget 45
   ├─ 设置背景          UITransform 730×550   Widget 16 (hc=0)     [9-slice]
   ├─ 设置标题          UITransform 250×90    Widget 16 (hc=-109)
   ├─ Spirit688         UITransform 403×76    Widget 16 (hc=8.5)
   ├─ 音乐底            UITransform 170×60    Widget 16 (hc=149)
   ├─ 音效底            UITransform 170×60    Widget 16 (hc=149)
   ├─ 退出登录          UITransform 280×93    Widget 16 (hc=1)
   ├─ 音乐图标          UITransform 206×75    Widget 16 (hc=-140)
   ├─ 申请解散          UITransform 240×80    Widget 16 (hc=-159)
   ├─ 邀请好友          UITransform 240×80    Widget 16 (hc=171)
   ├─ Spirit356         UITransform 206×75    Widget 16 (hc=-140)
   ├─ Spirit357         UITransform 170×60    Widget 16 (hc=149)
   ├─ 音效图标          UITransform 206×75    Widget 16 (hc=-140)
   ├─ Spirit387         UITransform 206×75    Widget 16 (hc=-140)
   └─ Spirit388         UITransform 170×60    Widget 16 (hc=149)
节点 源字段 组件属性
设置遮罩 ObjectID=42, X=0 Y=0 W=1280 H=720, ImgResID=11, CanClick=1 Sprite sf=eabf148a-…@f9941 type=0 sizeMode=0;contentSize 1600×720;lpos (0,0);Widget 45
设置背景 ObjectID=41, X=275 Y=85 W=730 H=550, ImgResID=2, SpiritType=5, 边距 100/134/100/135, CanClick=1, CanDragSize=1 Sprite sf=8eb7acc3-…@f9941 type=1 (SLICED) sizeMode=0;contentSize 730×550;lpos (0,0);Widget 16 hc=0;border 待补(见要点)
设置标题 ObjectID=69, X=406 Y=-318 W=250 H=90, ImgResID=48, CanClick=1 Sprite sf=7c8eca87-…@f9941 type=0 sizeMode=0;contentSize 250×90;lpos (-109,633);Widget 16 hc=-109
Spirit688 ObjectID=688, X=447 Y=97 W=403 H=76, ImgResID=52, SpiritType=3, Frame=1, CanClick=1 Sprite sf=d22e8d18-…@f9941 type=0 sizeMode=0;contentSize 403×76;lpos (8.5,225);Widget 16 hc=8.5
音乐底 ObjectID=43, X=704 Y=190 W=170 H=60, ImgResID=30, SpiritType=3, Frame=1, CanClick=1 Sprite sf=0660c388-…@f9941(帧 1)type=0 sizeMode=0;contentSize 170×60;lpos (149,140);Widget 16 hc=149
音效底 ObjectID=44, X=704 Y=276 W=170 H=60, ImgResID=30, SpiritType=3, Frame=1, CanClick=1 Sprite sf=0660c388-…@f9941(帧 1)type=0 sizeMode=0;contentSize 170×60;lpos (149,54);Widget 16 hc=149
退出登录 ObjectID=58, X=501 Y=519 W=280 H=93, ImgResID=178, SpiritType=3, Frame=5, CanClick=1 Sprite sf=105a605a-…@f9941(帧 5)type=0 sizeMode=0;contentSize 280×93;lpos (1,-205.5);Widget 16 hc=1
音乐图标 ObjectID=694, X=397 Y=186 W=206 H=75, ImgResID=29, SpiritType=3, Frame=1, CanClick=1 Sprite sf=9239dc9e-…@f9941(帧 1)type=0 sizeMode=0;contentSize 206×75;lpos (-140,136.5);Widget 16 hc=-140
申请解散 ObjectID=181, X=361 Y=524 W=240 H=80, ImgResID=178, SpiritType=3, Frame=1, CanClick=1 Sprite sf=f639fcfd-…@f9941(帧 1)type=0 sizeMode=0;contentSize 240×80;lpos (-159,-204);Widget 16 hc=-159
邀请好友 ObjectID=182, X=691 Y=524 W=240 H=80, ImgResID=178, SpiritType=3, Frame=2, CanClick=1 Sprite sf=003dd305-…@f9941(帧 2)type=0 sizeMode=0;contentSize 240×80;lpos (171,-204);Widget 16 hc=171
Spirit356 ObjectID=356, X=397 Y=356 W=206 H=75, ImgResID=29, SpiritType=3, Frame=3, CanClick=1 Sprite sf=f40aef7e-…@f9941(帧 3)type=0 sizeMode=0;contentSize 206×75;lpos (-140,-33.5);Widget 16 hc=-140
Spirit357 ObjectID=357, X=704 Y=362 W=170 H=60, ImgResID=30, SpiritType=3, Frame=1, CanClick=1 Sprite sf=0660c388-…@f9941(帧 1)type=0 sizeMode=0;contentSize 170×60;lpos (149,-32);Widget 16 hc=149
音效图标 ObjectID=695, X=397 Y=271 W=206 H=75, ImgResID=29, SpiritType=3, Frame=2, CanClick=1 Sprite sf=9ee042b7-…@f9941(帧 2)type=0 sizeMode=0;contentSize 206×75;lpos (-140,51.5);Widget 16 hc=-140
Spirit387 ObjectID=387, X=397 Y=441 W=206 H=75, ImgResID=29, SpiritType=3, Frame=4, CanClick=1 Sprite sf=6be9d68d-…@f9941(帧 4)type=0 sizeMode=0;contentSize 206×75;lpos (-140,-118.5);Widget 16 hc=-140
Spirit388 ObjectID=388, X=704 Y=443 W=170 H=60, ImgResID=30, SpiritType=3, Frame=3, CanClick=1 Sprite sf=0660c388-…@f9941(帧 3 → 循环回绕帧 1)type=0 sizeMode=0;contentSize 170×60;lpos (149,-113);Widget 16 hc=149

脚本驱动要点:

  • 设置背景是九宫格(源 SpiritType=5,边距 100/134/100/135):Sprite _type=SLICED 已设,spriteFrame border 待补(见 1.9「结构优先,边距后补」)。图片 00002.png 被 7 Layer 以 4 组边距复用,本层是其中一组(100/134/100/135),后续补边距需为 (图片,边距) 组合各建 spriteFrame 副本。
  • 三组多帧 sprite:ImgID=29(4 帧 206×75)音乐图标/音效图标/Spirit356/Spirit387 用帧 1/2/3/4;ImgID=30(2 帧 170×60)音乐底/音效底/Spirit357 用帧 1;ImgID=178(5 帧 280×93)退出登录/申请解散/邀请好友 用帧 5/1/2。
  • Spirit388 Frame=3 循环回绕:ImgID=30 仅 2 帧,源 Frame=3 按 ((3-1) % 2) + 1 = 1 回绕到第 1 帧(见 1.10)。这不是数据错误,原工程引擎如此渲染。
  • 设置遮罩是点击关闭:XML Event MouseUp=42(自引用)→ 点击遮罩关闭该 Layer,脚本 bind_button_click_event。
  • Spirit387 是自引用点击:XML Event MouseUp=387(自引用)→ 语义「点击该图标关闭/切换」,脚本 bind_button_click_event。
  • 其余按钮/图标(音乐图标、音效图标、音乐底、音效底、退出登录、申请解散、邀请好友、Spirit356/357/388、Spirit688、设置标题)均 CanClick=1、XML Event 空 → 脚本按需 bind_button_click_event。
  • 设置标题图片 181×70 拉伸到 250×90:源 W/H=250×90 但图片 00048.png 实际 181×70,迁移 contentSize=源值 250×90(引擎拉伸渲染,逐字复刻源布局)。

3.15 Layer602_inputPannel.prefab(inputPannel,输入面板)

源 Layer00602.xml:19 spirits,GroupID=87。

Layer602_inputPannel     UITransform 1600×720  Widget 45
└─ group-87             UITransform 1600×720  Widget 45
   ├─ Spirit659          UITransform 1600×720  Widget 45
   ├─ Spirit660          UITransform 1229×700  Widget 16 (hc=-2.5)    [9-slice]
   ├─ Spirit661          UITransform 333×110   Widget 16 (hc=0.5)
   ├─ Spirit662          UITransform 333×110   Widget 16 (hc=-332.5)
   ├─ Spirit663          UITransform 333×110   Widget 16 (hc=0.5)
   ├─ Spirit664          UITransform 333×110   Widget 16 (hc=333.5)
   ├─ Spirit665          UITransform 333×110   Widget 16 (hc=-332.5)
   ├─ Spirit666          UITransform 333×110   Widget 16 (hc=0.5)
   ├─ Spirit667          UITransform 333×110   Widget 16 (hc=333.5)
   ├─ Spirit668          UITransform 333×110   Widget 16 (hc=-332.5)
   ├─ Spirit669          UITransform 333×110   Widget 16 (hc=0.5)
   ├─ Spirit670          UITransform 333×110   Widget 16 (hc=333.5)
   ├─ Spirit671          UITransform 333×110   Widget 16 (hc=-332.5)
   ├─ Spirit3000         UITransform 333×110   Widget 16 (hc=333.5)
   ├─ Spirit3001         UITransform 18×53     Widget 16 (hc=-160)    [Label]
   ├─ Spirit3002         UITransform 897×90    Widget 16 (hc=-21.5)   [9-slice]
   ├─ Spirit3003         UITransform 51×65     Widget 16 (hc=-158.5)
   ├─ Spirit3004         UITransform 83×84     Widget 16 (hc=570.5)
   └─ Spirit3217         UITransform 135×80    Widget 16 (hc=520.5)
节点 源字段 组件属性
Spirit659 ObjectID=659, X=0 Y=0 W=1280 H=720, ImgResID=11, CanClick=1 Sprite sf=eabf148a-…@f9941 type=0 sizeMode=0;contentSize 1600×720;lpos (0,0);Widget 45
Spirit660 ObjectID=660, X=23 Y=10 W=1229 H=700, ImgResID=41, SpiritType=5, 边距 55/45/55/45, CanClick=1, CanDragSize=1 Sprite sf=3e7492cb-…@f9941 type=1 (SLICED) sizeMode=0;contentSize 1229×700;lpos (-2.5,0);Widget 16 hc=-2.5;border 待补(见要点)
Spirit661 ObjectID=661, X=474 Y=565 W=333 H=110, ImgResID=241, SpiritType=3, Frame=11, CanClick=1 Sprite sf=8f77b555-…@f9941(帧 11)type=0 sizeMode=0;contentSize 333×110;lpos (0.5,-260);Widget 16 hc=0.5
Spirit662 ObjectID=662, X=141 Y=235 W=333 H=110, ImgResID=241, SpiritType=3, Frame=1, CanClick=1 Sprite sf=237c724e-…@f9941(帧 1)type=0 sizeMode=0;contentSize 333×110;lpos (-332.5,70);Widget 16 hc=-332.5
Spirit663 ObjectID=663, X=474 Y=235 W=333 H=110, ImgResID=241, SpiritType=3, Frame=2, CanClick=1 Sprite sf=c4fc1e99-…@f9941(帧 2)type=0 sizeMode=0;contentSize 333×110;lpos (0.5,70);Widget 16 hc=0.5
Spirit664 ObjectID=664, X=807 Y=235 W=333 H=110, ImgResID=241, SpiritType=3, Frame=3, CanClick=1 Sprite sf=40c89d11-…@f9941(帧 3)type=0 sizeMode=0;contentSize 333×110;lpos (333.5,70);Widget 16 hc=333.5
Spirit665 ObjectID=665, X=141 Y=345 W=333 H=110, ImgResID=241, SpiritType=3, Frame=4, CanClick=1 Sprite sf=1ed1717f-…@f9941(帧 4)type=0 sizeMode=0;contentSize 333×110;lpos (-332.5,-40);Widget 16 hc=-332.5
Spirit666 ObjectID=666, X=474 Y=345 W=333 H=110, ImgResID=241, SpiritType=3, Frame=5, CanClick=1 Sprite sf=ca157e80-…@f9941(帧 5)type=0 sizeMode=0;contentSize 333×110;lpos (0.5,-40);Widget 16 hc=0.5
Spirit667 ObjectID=667, X=807 Y=345 W=333 H=110, ImgResID=241, SpiritType=3, Frame=6, CanClick=1 Sprite sf=2dac5ee2-…@f9941(帧 6)type=0 sizeMode=0;contentSize 333×110;lpos (333.5,-40);Widget 16 hc=333.5
Spirit668 ObjectID=668, X=141 Y=455 W=333 H=110, ImgResID=241, SpiritType=3, Frame=7, CanClick=1 Sprite sf=b5d46f14-…@f9941(帧 7)type=0 sizeMode=0;contentSize 333×110;lpos (-332.5,-150);Widget 16 hc=-332.5
Spirit669 ObjectID=669, X=474 Y=455 W=333 H=110, ImgResID=241, SpiritType=3, Frame=8, CanClick=1 Sprite sf=2ff18c2d-…@f9941(帧 8)type=0 sizeMode=0;contentSize 333×110;lpos (0.5,-150);Widget 16 hc=0.5
Spirit670 ObjectID=670, X=807 Y=455 W=333 H=110, ImgResID=241, SpiritType=3, Frame=9, CanClick=1 Sprite sf=551ad91e-…@f9941(帧 9)type=0 sizeMode=0;contentSize 333×110;lpos (333.5,-150);Widget 16 hc=333.5
Spirit671 ObjectID=671, X=141 Y=565 W=333 H=110, ImgResID=241, SpiritType=3, Frame=10, CanClick=1 Sprite sf=415a30af-…@f9941(帧 10)type=0 sizeMode=0;contentSize 333×110;lpos (-332.5,-260);Widget 16 hc=-332.5
Spirit3000 ObjectID=3000, X=807 Y=565 W=333 H=110, ImgResID=241, SpiritType=3, Frame=12, CanClick=1 Sprite sf=27d606ff-…@f9941(帧 12)type=0 sizeMode=0;contentSize 333×110;lpos (333.5,-260);Widget 16 hc=333.5
Spirit3001 ObjectID=3001, X=471 Y=44 W=18 H=53, FontSize=30, FontColor=1854069, FontColorA=255, Text="s", CanClick=1 Label string=s fontSize=30 lineHeight=30 color=(117,74,28,255);contentSize 18×53;lpos (-160,289.5);Widget 16 hc=-160
Spirit3002 ObjectID=3002, X=170 Y=122 W=897 H=90, ImgResID=239, SpiritType=5, 边距 60/40/60/40, CanClick=1, CanDragSize=1 Sprite sf=32739fb1-…@f9941 type=1 (SLICED) sizeMode=0;contentSize 897×90;lpos (-21.5,193);Widget 16 hc=-21.5;border 待补(见要点)
Spirit3003 ObjectID=3003, X=456 Y=135 W=51 H=65, ImgResID=242, SpiritType=4(FrameText), FrameText=1, CanClick=1 Sprite sf=52d93534-…@f9941(帧 1)type=0 sizeMode=0;contentSize 51×65;lpos (-158.5,192.5);Widget 16 hc=-158.5
Spirit3004 ObjectID=3004, X=1169 Y=8 W=83 H=84, ImgResID=33, CanClick=1 Sprite sf=eedce6d7-…@f9941 type=0 sizeMode=0;contentSize 83×84;lpos (570.5,310);Widget 16 hc=570.5
Spirit3217 ObjectID=3217, X=1093 Y=132 W=135 H=80, ImgResID=188, SpiritType=3, Frame=2, CanClick=1 Sprite sf=5209df7b-…@f9941(帧 2)type=0 sizeMode=0;contentSize 135×80;lpos (520.5,188);Widget 16 hc=520.5

脚本驱动要点:

  • 12 键数字键盘:ImgID 241 是 12 帧 333×110 图片(整图 3 列×4 行),Spirit661671 + Spirit3000 共 12 个键,Frame=112(帧号不越界 frame_all=12,直接对号落盘)。布局三列 X=141/474/807、四行 Y=235/345/455/565,帧号按从左到右、从上到下 1..12:帧 1(141,235)、帧 2(474,235)、帧 3(807,235)|帧 4(141,345)、帧 5(474,345)、帧 6(807,345)|帧 7(141,455)、帧 8(474,455)、帧 9(807,455)|帧 10(141,565)、帧 11(474,565)、帧 12(807,565)。脚本按位置绑定各键回调,读取对应键值(数字 0-9 + 特殊键,具体语义由子游戏逻辑定)。
  • Spirit660 / Spirit3002 是九宫格(源 SpiritType=5,边距分别 55/45/55/45 与 60/40/60/40):Sprite _type=SLICED 已设,spriteFrame border 待补(见 1.9「结构优先,边距后补」)。图片 00041.png(边框 55/45/55/45,与 Layer10_Protol 一致)、00239.png(边框 60/40/60/40,仅 Layer602 使用)。
  • Spirit3001 是输入内容显示文本(Label,Text="s" 占位,fontSize=30,FontColor=1854069=0x1C4A75→RGB(117,74,28)):运行时脚本 set string 显示当前输入内容。
  • Spirit3003 是光标(源 SpiritType=4 FrameText,ImgID 242 是 10 帧 51×65 图片,FrameText=1 用帧 1):光标闪烁动画需脚本切 spriteFrame(10 帧)或按需显隐。
  • Spirit3217 是删除键(ImgID 188 帧 2,135×80,CanClick=1),XML Event 空 → 脚本 bind_button_click_event(退格删除)。
  • Spirit3004 是关闭按钮(ImgID 33,83×84,CanClick=1),XML Event 空 → 脚本 bind_button_click_event 绑定「关闭输入面板」。
  • Spirit660 背景自引用点击:XML Event MouseUp=660(自引用)→ 点击背景关闭输入面板,脚本 bind_button_click_event。
  • Spirit670(帧 9,X=807/Y=455 右下)自引用点击:XML Event MouseUp=670(自引用)→ 点击该键关闭(疑「确定/OK」键),脚本 bind_button_click_event。
  • 其余 11 个数字键均 CanClick=1、XML Event 空 → 脚本按需 bind_button_click_event。

3.16 Layer606_Apply.prefab(Apply_Layer,投票解散)

源 Layer00606.xml:31 spirits,GroupID=29 + 32。

Layer606_Apply            (root 纯空节点)
├─ group-29               (纯空节点)
│  ├─ Spirit189            UITransform 1600×720  Widget 45
│  ├─ Spirit192            UITransform 680×550   Widget 16 (hc=-32)   [9-slice]
│  ├─ Spirit214            UITransform 620×360   Widget 16 (hc=-32)   [9-slice]
│  ├─ Spirit190            UITransform 250×90    Widget 16 (hc=-33)
│  ├─ Spirit191            UITransform 76×25     Widget 16 (hc=-265)  [Label]
│  ├─ Spirit201            UITransform 157×74    Widget 16 (hc=-178.5)
│  ├─ Spirit202            UITransform 157×74    Widget 16 (hc=122.5)
│  ├─ Spirit166~175        UITransform 38×25     Widget 16 (hc=-287)  [Label×10]
│  ├─ Spirit264~273        UITransform 38×25     Widget 16 (hc=-224)  [Label×10]
│  ├─ Spirit358            UITransform 125×33    Widget 16 (hc=-34.5)
│  ├─ Spirit369            UITransform 114×25    Widget 16 (hc=-132)  [Label]
│  └─ Spirit222            UITransform 30×30     Widget 16 (hc=202)   [FrameText]
└─ group-32               (纯空节点)
   └─ Spirit223            UITransform 292×102   Widget 16 (hc=-33)
节点 源字段 组件属性
Spirit189 ObjectID=189, X=0 Y=0 W=1280 H=720, ImgResID=11, CanClick=1 Sprite sf=eabf148a-…@f9941 type=0 sizeMode=0;contentSize 1600×720;lpos (0,0);Widget 45
Spirit192 ObjectID=192, X=268 Y=83 W=680 H=550, ImgResID=41, SpiritType=5, 边距 55/45/55/45, CanClick=1 Sprite sf=3e7492cb-…@f9941 type=1 (SLICED) sizeMode=0;contentSize 680×550;lpos (-32,2);Widget 16 hc=-32;border 待补
Spirit214 ObjectID=214, X=298 Y=156 W=620 H=360, ImgResID=42, SpiritType=5, 边距 53/48/53/48, CanClick=1 Sprite sf=34daf5f4-…@f9941 type=1 (SLICED) sizeMode=0;contentSize 620×360;lpos (-32,24);Widget 16 hc=-32;border 待补
Spirit190 ObjectID=190, X=482 Y=58 W=250 H=90, ImgResID=48, CanClick=1 Sprite sf=7c8eca87-…@f9941 type=0 sizeMode=0;contentSize 250×90;lpos (-33,257);Widget 16 hc=-33
Spirit191 ObjectID=191, X=337 Y=177 W=76 H=25, FontSize=14, FontColor=0, Text="投票文字", CanClick=1 Label string=投票文字 fontSize=14 lineHeight=14 color=(0,0,0,255);contentSize 76×25;lpos (-265,170.5);Widget 16 hc=-265
Spirit201 ObjectID=201, X=383 Y=536 W=157 H=74, ImgResID=180, SpiritType=3, Frame=1, CanClick=1 Sprite sf=c3e076d4-…@f9941(帧 1)type=0 sizeMode=0;contentSize 157×74;lpos (-178.5,-213);Widget 16 hc=-178.5
Spirit202 ObjectID=202, X=684 Y=536 W=157 H=74, ImgResID=180, SpiritType=3, Frame=2, CanClick=1 Sprite sf=50fe4e5c-…@f9941(帧 2)type=0 sizeMode=0;contentSize 157×74;lpos (122.5,-213);Widget 16 hc=122.5
Spirit166~175 ObjectID=166175, X=334 Y=224539(step 35) W=38 H=25, FontSize=14, FontColor=0, Text="等待" Label string=等待 fontSize=14 lineHeight=14 color=(0,0,0,255);contentSize 38×25;lpos.x=-287 hc=-287;lpos.y=123.5→-191.5 (step -35)
Spirit264~273 ObjectID=264273, X=397 Y=222537(step 35) W=38 H=25, FontSize=14, FontColor=0, Text="昵称" Label string=昵称 fontSize=14 lineHeight=14 color=(0,0,0,255);contentSize 38×25;lpos.x=-224 hc=-224;lpos.y=125.5→-189.5 (step -35)
Spirit358 ObjectID=358, X=543 Y=79 W=125 H=33, ImgResID=89, SpiritType=3, Frame=2, CanClick=1 Sprite sf=b7e97f28-…@f9941 type=0 sizeMode=0;contentSize 125×33;lpos (-34.5,264.5);Widget 16 hc=-34.5(源 Frame=2 但 frame_all=1 循环回绕帧 1)
Spirit369 ObjectID=369, X=451 Y=468 W=114 H=25, FontSize=14, FontColor=0, Text="解散提示文字", CanClick=1 Label string=解散提示文字 fontSize=14 lineHeight=14 color=(0,0,0,255);contentSize 114×25;lpos (-132,-120.5);Widget 16 hc=-132
Spirit222 ObjectID=222, X=827 Y=107 W=30 H=30, ImgResID=46, SpiritType=4(FrameText), FrameText=1, CanClick=1 Sprite sf=f3f3eadc-…@f9941(帧 1)type=0 sizeMode=0;contentSize 30×30;lpos (202,238);Widget 16 hc=202
Spirit223 ObjectID=223, X=461 Y=518 W=292 H=102, ImgResID=34, SpiritType=3, Frame=1, CanClick=1, group=32 Sprite sf=c8cc3782-…@f9941(帧 1)type=0 sizeMode=0;contentSize 292×102;lpos (-33,-209);Widget 16 hc=-33

脚本驱动要点:

  • Spirit166175 / Spirit264273 是动态列表(各 10 个 Label,Text="等待"/"昵称" 占位,fontSize=14、FontColor=0 黑):运行时脚本按投票玩家列表 set string 填充(等待侧 + 昵称侧各最多 10 人)。
  • Spirit222 是投票倒计时(源 SpiritType=4 FrameText,ImgID 46 是 10 帧 30×30 图片,FrameText=1 用帧 1):运行时按剩余秒数切 spriteFrame(帧 1~10 对应倒计时数字)。
  • Spirit201 / Spirit202 是同意 / 拒绝按钮(ImgID 180 帧 1/2,157×74,CanClick=1、XML Event 空)→ 脚本 bind_button_click_event 绑定投票同意/拒绝。
  • Spirit223 是投票结果确认键(group-32,ImgID 34 帧 1,292×102,CanClick=1、XML Event 空)→ 脚本 bind_button_click_event 绑定确认。
  • Spirit189 遮罩点击关闭(CanClick=1、XML Event 空)→ 脚本按需绑定点击关闭投票弹窗。
  • Spirit192 / Spirit214 是九宫格(源 SpiritType=5,边距分别 55/45/55/45 与 53/48/53/48):Sprite _type=SLICED 已设,spriteFrame border 待补(见 1.9)。

3.17 Layer607_Cal.prefab(Cal_Layer,计算器)

源 Layer00607.xml:20 spirits,GroupID=78 + 79。全部 Sprite,无 Text/Label(计算器为纯图形 + 帧文字光标)。

Layer607_Cal              (root 纯空节点)
├─ group-78               (纯空节点)
│  ├─ Spirit283            UITransform 202×84    Widget 16 (hc=-88)   [9-slice]
│  └─ Spirit370            UITransform 28×37     Widget 16 (hc=-22)   [FrameText]
└─ group-79               (纯空节点)
   ├─ Spirit371            UITransform 1600×720  Widget 45
   ├─ Spirit374            UITransform 700×520   Widget 16 (hc=11)    [9-slice]
   ├─ Spirit372            UITransform 309×110   Widget 16 (hc=-87.5)
   ├─ Spirit373            UITransform 36×47     Widget 16 (hc=-212)  [FrameText]
   ├─ Spirit391            UITransform 122×68    Widget 16 (hc=211)
   ├─ Spirit392~403        UITransform 131×77    Widget 16 (hc=-186.5/-55.5/75.5/206.5)
   └─ Spirit375            UITransform 83×84     Widget 16 (hc=349.5)
节点 源字段 组件属性
Spirit283 ObjectID=283, X=451 Y=605 W=202 H=84, ImgResID=185, SpiritType=5, 边距 153/0/50/0, CanClick=1 Sprite sf=1147e0c6-…@f9941 type=1 (SLICED) sizeMode=0;contentSize 202×84;lpos (-88,-287);Widget 16 hc=-88;border 待补
Spirit370 ObjectID=370, X=604 Y=626 W=28 H=37, ImgResID=198, SpiritType=4(FrameText), FrameText=1, CanClick=1 Sprite sf=1594ca3e-…@f9941(帧 1)type=0 sizeMode=0;contentSize 28×37;lpos (-22,-284.5);Widget 16 hc=-22
Spirit371 ObjectID=371, X=0 Y=0 W=1280 H=720, ImgResID=11, CanClick=1 Sprite sf=eabf148a-…@f9941 type=0 sizeMode=0;contentSize 1600×720;lpos (0,0);Widget 45
Spirit374 ObjectID=374, X=301 Y=85 W=700 H=520, ImgResID=41, SpiritType=5, 边距 55/45/55/45, CanClick=1 Sprite sf=3e7492cb-…@f9941 type=1 (SLICED) sizeMode=0;contentSize 700×520;lpos (11,15);Widget 16 hc=11;border 待补
Spirit372 ObjectID=372, X=398 Y=142 W=309 H=110, ImgResID=184, CanClick=1 Sprite sf=f2db27eb-…@f9941 type=0 sizeMode=0;contentSize 309×110;lpos (-87.5,163);Widget 16 hc=-87.5
Spirit373 ObjectID=373, X=410 Y=198 W=36 H=47, ImgResID=183, SpiritType=4(FrameText), FrameText=1, CanClick=1 Sprite sf=13820b69-…@f9941(帧 1)type=0 sizeMode=0;contentSize 36×47;lpos (-212,138.5);Widget 16 hc=-212
Spirit391 ObjectID=391, X=790 Y=184 W=122 H=68, ImgResID=186, SpiritType=3, Frame=1, CanClick=1, MouseUp=391 Sprite sf=04de2ca1-…@f9941 type=0 sizeMode=0;contentSize 122×68;lpos (211,142);Widget 16 hc=211
Spirit392~403 ObjectID=392~403, ImgResID=182, SpiritType=3, Frame=10/1/2/…/12, CanClick=1 Sprite sf=00182_XX…@f9941 type=0 sizeMode=0;contentSize 131×77;lpos/hc 见下表
Spirit375 ObjectID=375, X=948 Y=61 W=83 H=84, ImgResID=33, CanClick=1 Sprite sf=eedce6d7-…@f9941 type=0 sizeMode=0;contentSize 83×84;lpos (349.5,257);Widget 16 hc=349.5

12 键布局(ImgID 182,帧号按从左到右、从上到下 1..12):

Spirit 帧 源 (X,Y) lpos hc
Spirit393 1 (388,291) (-186.5,30.5) -186.5
Spirit394 2 (519,291) (-55.5,30.5) -55.5
Spirit395 3 (650,291) (75.5,30.5) 75.5
Spirit396 4 (781,291) (206.5,30.5) 206.5
Spirit397 5 (388,368) (-186.5,-46.5) -186.5
Spirit398 6 (519,368) (-55.5,-46.5) -55.5
Spirit399 7 (650,368) (75.5,-46.5) 75.5
Spirit400 8 (781,368) (206.5,-46.5) 206.5
Spirit401 9 (388,445) (-186.5,-123.5) -186.5
Spirit392 10 (519,445) (-55.5,-123.5) -55.5
Spirit402 11 (650,445) (75.5,-123.5) 75.5
Spirit403 12 (781,445) (206.5,-123.5) 206.5

脚本驱动要点:

  • 12 键数字键盘:ImgID 182 是 12 帧 131×77 图片(整图 4 列×3 行),Spirit392403 共 12 键,Frame=112(帧号不越界 frame_all=12,直接对号落盘)。布局四列 X=388/519/650/781、三行 Y=291/368/445。脚本按位置绑定各键回调,读取对应键值(数字 0-9 + 运算符,具体语义由计算器逻辑定)。
  • Spirit283 是输入/结果显示框(源 SpiritType=5 九宫格,边距 153/0/50/0,ImgID 185):Sprite _type=SLICED 已设,显示内容由脚本挂 Label 或按需绘制,spriteFrame border 待补。
  • Spirit370 / Spirit373 是光标(源 SpiritType=4 FrameText,ImgID 198/183 各 11 帧,FrameText=1 用帧 1):光标闪烁动画需脚本切 spriteFrame(11 帧)或按需显隐。
  • Spirit391 是关闭按钮(ImgID 186,122×68,MouseUp=391 自引用)→ 脚本 bind_button_click_event 绑定「关闭计算器」。
  • Spirit375 是关闭图标(ImgID 33,83×84,CanClick=1、XML Event 空)→ 脚本按需绑定。
  • Spirit371 遮罩点击关闭(CanClick=1、XML Event 空)→ 脚本按需绑定点击关闭计算器。

3.18 Layer4_MainMenu.prefab(MainMenu_Layer,主大厅)

源 Layer00004.xml:32 spirits,GroupID=3。这是游戏主大厅层(核心入口),34 节点(1 root + 1 group-3 + 32 children),全部 CanClick=1。

Layer4_MainMenu            UITransform 1600×720  Widget 45
└─ group-3                 UITransform 1600×720  Widget 45
   ├─ Spirit4 主界面背景   UITransform 1600×720  Widget 45(全屏拉伸)
   ├─ 20 个 Sprite         UITransform 各自 W×H  Widget 16(功能按钮/视觉图)
   └─ 11 个 Label          UITransform 各自 W×H  Widget 16(文字)

Sprite(21 个):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit4 主界面背景 Img=1,1280×720,lpos(0,0) Sprite sf=a8236f97-… type=0 sizeMode=0;contentSize 1600×720;Widget 45
Spirit679 Spirit679 Img=59,337×441,lpos(-310.5,-28.5) Sprite sf=4f725497-…;contentSize 337×441;Widget 16
Spirit11 创建房间 Img=12,298×334,lpos(327,26) Sprite sf=a3b75089-…;contentSize 298×334;Widget 16
Spirit7 设置 Img=14 帧11,150×70,lpos(357,-317) Sprite sf=434102b8-…;contentSize 150×70;Widget 16
Spirit479 Spirit479 Img=350 帧1,55×50,lpos(-256.5,239) Sprite sf=151439f3-…;contentSize 55×50;Widget 16
Spirit12 加入房间 Img=232,203×86,lpos(374.5,141) Sprite sf=5e1f37f2-…;contentSize 203×86;Widget 16
Spirit13 战绩 Img=14 帧4,150×70,lpos(175,-317) Sprite sf=57e8e036-…;contentSize 150×70;Widget 16
Spirit14 分享 Img=14 帧2,150×70,lpos(-189,-317) Sprite sf=467e62c4-…;contentSize 150×70;Widget 16
Spirit219 公告底 Img=248,645×39,lpos(92.5,237.5) Sprite sf=df4db047-…;contentSize 645×39;Widget 16
Spirit339 微信公众号 Img=10,166×40,lpos(-221,-592) Sprite sf=dcc4530b-…;contentSize 166×40;Widget 16
Spirit17 任务 Img=14 帧3,150×70,lpos(-7,-317) Sprite sf=3a6b2c60-…;contentSize 150×70;Widget 16
Spirit483 比赛场 Img=199,328×224,lpos(18,-136) Sprite sf=b4250870-…;contentSize 328×224;Widget 16
Spirit568 星星场平台 Img=214,329×224,lpos(18.5,81) Sprite sf=b8eeb06c-…;contentSize 329×224;Widget 16
Spirit3016 商城按钮 Img=252,160×100,lpos(-541,-301) Sprite sf=c80ee17e-…;contentSize 160×100;Widget 16
Spirit3120 更多 Img=14 帧1,150×70,lpos(-371,-317) Sprite sf=04f4d29d-…;contentSize 150×70;Widget 16
Spirit76 二维码 Img=351,175×118,lpos(548.5,-298) Sprite sf=5d8d62a3-…;contentSize 175×118;Widget 16
Spirit3018 福袋 Img=253,94×99,lpos(560,122.5) Sprite sf=a8b9e254-…;contentSize 94×99;Widget 16
Spirit99 房间列表按钮 Img=15,46×195,lpos(-617,-14.5) Sprite sf=e3425723-…;contentSize 46×195;Widget 16
Spirit16 广告 Img=245,258×21(9-slice 1/1/1/1),lpos(-311,-185.5) Sprite sf=f76d6d83-… type=SLICED;contentSize 258×21;Widget 16
Spirit3139 Spirit3139 Img=396,298×113,lpos(327,-191.5) Sprite sf=5b2a27a3-…;contentSize 298×113;Widget 16
Spirit234 更多按钮 Img=348,80×80,lpos(-585,316) Sprite sf=79283b71-…;contentSize 80×80;Widget 16

Label(11 个):

节点 名称 源字段(Text/字号/颜色,W×H,lpos) 组件属性
Spirit157 房卡数量 "房卡数量" 14 白,76×25,lpos(262,494.5) Label string=房卡数量 fontSize=14 color=白
Spirit220 公告文字 "公告文字" 16 白,84×28,lpos(-126,239) Label string=公告文字 fontSize=16 color=白
Spirit340 微信公众号内容 "微信公众号内容" 14 (46,5,205),133×25,lpos(-221.5,-592.5) Label string=微信公众号内容 fontSize=14 color=(46,5,205)
Spirit681 客服QQ "客服QQ说明" 14 (102,41,16),104×25,lpos(-699,-430.5) Label string=客服QQ说明 fontSize=14 color=(102,41,16)
Spirit497 Spirit497 "1000" 14 白,40×25,lpos(416,494.5) Label string=1000 fontSize=14(房卡数量值)
Spirit178 手机2 "客服QQ:" 11 (233,210,7),67×20,lpos(-361.5,-185) Label string=客服QQ: fontSize=11 color=(233,210,7)
Spirit179 微信2 "客服QQ:" 11 (233,210,7),67×20,lpos(-361.5,-211) Label string=客服QQ: fontSize=11 color=(233,210,7)
Spirit193 手机1 "手机:" 11 白,34×20,lpos(-431,-185) Label string=手机: fontSize=11
Spirit194 微信1 "微信:" 11 白,34×20,lpos(-431,-211) Label string=微信: fontSize=11
Spirit180 qq1 "QQ:" 11 白,26×20,lpos(-435,-159) Label string=QQ: fontSize=11
Spirit682 qq2 "a" 11 (233,210,7),8×20,lpos(-391,-159) Label string=a fontSize=11 color=(233,210,7)

脚本驱动要点:

  • 底部 tab 栏:img=14 的 5 个帧是底部导航 tab——帧 1=更多(Spirit3120)、帧 2=分享(Spirit14)、帧 3=任务(Spirit17)、帧 4=战绩(Spirit13)、帧 11=设置(Spirit7)。脚本按语义绑定各自点击回调。
  • 核心功能按钮(CanClick=1、XML Event 空):创建房间(Spirit11)、加入房间(Spirit12)、比赛场(Spirit483)、星星场平台(Spirit568)、商城(Spirit3016)、福袋(Spirit3018)、房间列表(Spirit99)、更多(Spirit234)、Spirit3139(无名称主按钮)。脚本按语义绑定。
  • 自引用 MouseUp:Spirit4 主界面背景(MouseUp=4)、Spirit679(MouseUp=679)、Spirit219 公告底(MouseUp=219)、Spirit16 广告(MouseUp=16)、Spirit340 微信公众号内容(MouseUp=340)→ 语义为「点击自身」,脚本按需绑定(如公告栏打开公告详情)。
  • 动态文本:Spirit220 公告文字、Spirit340 微信公众号内容、Spirit497 房卡数量值、Spirit681 客服QQ 说明——运行时替换为实际内容(见 4.1)。
  • Spirit16 广告 9-slice:img=245 边框 (1,1,1,1) 需设到 spriteFrame .meta 的 border,延后处理(改 .meta 需先征得同意)。Sprite 组件 _type=SLICED 已设。

3.19 Layer50_MainScene.prefab(MainScene_Layer,主场景 HUD)

源 Layer00050.xml:11 spirits,GroupID=21。这是游戏主场景(牌桌)顶部状态栏 HUD,13 节点(1 root + 1 group-21 + 11 children)。

Layer50_MainScene          UITransform 1600×720  Widget 45
└─ group-21                UITransform 1600×720  Widget 45
   ├─ Spirit149 背景       UITransform 1600×720  Widget 45(全屏拉伸)
   ├─ Spirit284           UITransform 247×62    Widget 16(9-slice)
   ├─ Spirit156 时钟冒号   UITransform 4×18     Widget 16
   ├─ Spirit154 小时       UITransform 30×20    Widget 16(数字)
   ├─ Spirit155 分钟       UITransform 30×20    Widget 16(数字)
   ├─ Spirit336 wifi       UITransform 29×22    Widget 16
   ├─ Spirit337 电量背景   UITransform 49×19    Widget 16
   ├─ Spirit338 电量状况   UITransform 49×19    Widget 16
   ├─ Spirit3141          UITransform 102×21   Widget 16(数字)
   ├─ Spirit3142          UITransform 59×25    Widget 16
   └─ Spirit291           UITransform 84×28    Widget 16 [Label]

Sprite(10 个):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit149 游戏主界面背景 Img=66,1280×720,lpos(0,0) Sprite sf=e1aa83b5-…;contentSize 1600×720;Widget 45
Spirit284 Spirit284 Img=67,247×62(9-slice 20/20/50/20),lpos(-420.5,325) Sprite sf=64bfd3fc-… type=SLICED;contentSize 247×62;Widget 16
Spirit156 时钟冒号 Img=70,4×18,lpos(-397,325) Sprite sf=7d193c00-…;contentSize 4×18;Widget 16
Spirit154 小时 Img=69 帧1,30×20,lpos(-420,325) Sprite sf=55fc2d29-…;contentSize 30×20;Widget 16
Spirit155 分钟 Img=69 帧1,30×20,lpos(-374,325) Sprite sf=55fc2d29-…;contentSize 30×20;Widget 16
Spirit336 wifi Img=113 帧1,29×22,lpos(-510.5,325) Sprite sf=1ef090dc-…;contentSize 29×22;Widget 16
Spirit337 电量背景 Img=112 帧1,49×19,lpos(-463.5,324.5) Sprite sf=7e671255-…;contentSize 49×19;Widget 16
Spirit338 电量状况 Img=112 帧1,49×19,lpos(-463.5,324.5) Sprite sf=7e671255-…;contentSize 49×19;Widget 16
Spirit3141 Spirit3141 Img=398 帧1,102×21,lpos(-411,324.5) Sprite sf=7d88dcff-…;contentSize 102×21;Widget 16
Spirit3142 Spirit3142 Img=399,59×25,lpos(-494.5,324.5) Sprite sf=13a32880-…;contentSize 59×25;Widget 16

Label(1 个):

节点 名称 源字段(Text/字号/颜色,W×H,lpos) 组件属性
Spirit291 Spirit291 "Spirit291" 16 黑(0,0,0),84×28,lpos(-393,418) Label string=Spirit291 fontSize=16 color=黑

脚本驱动要点:

  • 时钟:Spirit154 小时 + Spirit156 冒号 + Spirit155 分钟,img=69 是 10 帧数字(0-9),运行时脚本按当前时间切 spriteFrame(帧 N = 数字 N-1)。
  • wifi 信号:img=113 4 帧(信号强度),Spirit336 按信号强弱切帧。
  • 电量:img=112 3 帧,Spirit337 电量背景 + Spirit338 电量状况(覆盖显示当前电量)。
  • Spirit3141:img=398 10 帧数字(0-9),运行时填充(可能金币/筹码数)。
  • Spirit291(Label):"Spirit291" 占位文本,运行时替换(可能房间信息/昵称)。
  • Spirit284 9-slice:img=67 边框 (20,20,50,20) 需设到 spriteFrame .meta 的 border,延后处理(改 .meta 需先征得同意)。Sprite _type=SLICED 已设。
  • 可点击:全部 CanClick=1;自引用 MouseUp 有 Spirit149(背景)、Spirit284、Spirit336(wifi)、Spirit291(Label)→ 脚本按需绑定(状态栏通常无需点击)。

3.20 Layer15_JoinRoom.prefab(JoinRoom_Layer,加入房间弹窗)

源 Layer00015.xml:26 spirits,GroupID=5。加入房间弹窗,28 节点(1 root + 1 group-5 + 26 children),全部 Sprite(无 Label)。含数字键盘(img=9 12 帧)与房间号 FrameText 显示。

Layer15_JoinRoom          UITransform 1600×720  Widget 45
└─ group-5                UITransform 1600×720  Widget 45
   ├─ Spirit27 加入房间遮罩    UITransform 1600×720  Widget 45(全屏拉伸)
   ├─ Spirit26 加入房间背景    UITransform 800×660   Widget 16 (hc=0)  [9-slice]
   ├─ Spirit28 房间号显示      UITransform 465×103   Widget 16 (hc=0.5)
   ├─ Spirit68 加入房间标题    UITransform 510×138   Widget 16 (hc=-24)
   ├─ Spirit687               UITransform 403×76    Widget 16 (hc=0.5)
   ├─ Spirit236~241 房间号 1-6 UITransform 30×30    Widget 16(FrameText)
   ├─ Spirit29~40/514 数字键盘 UITransform 186×82   Widget 16(12 键)
   ├─ Spirit602               UITransform 234×78    Widget 16 (hc=0)
   └─ Spirit59 加入房间关闭按钮 UITransform 83×84    Widget 16 (hc=366.5)

节点表(26 个,全部 Sprite):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit27 加入房间遮罩 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45
Spirit26 加入房间背景 Img=2(9-slice 250/200/346/245),800×660,lpos(0,-5) Sprite sf=8eb7acc3-… type=SLICED;contentSize 800×660;Widget 16 hc=0;border 待补
Spirit28 房间号显示 Img=8,465×103,lpos(0.5,174.5) Sprite sf=2e036f97-…;contentSize 465×103;Widget 16 hc=0.5
Spirit29 0 Img=9 帧11,186×82,lpos(1,-167) Sprite sf=dcdbc60a-…;contentSize 186×82;Widget 16 hc=1
Spirit30 1 Img=9 帧1,186×82,lpos(-185,79) Sprite sf=560b4ba0-…;contentSize 186×82;Widget 16 hc=-185
Spirit31 2 Img=9 帧2,186×82,lpos(1,79) Sprite sf=b2e04f1b-…;contentSize 186×82;Widget 16 hc=1
Spirit32 3 Img=9 帧3,186×82,lpos(187,79) Sprite sf=db239522-…;contentSize 186×82;Widget 16 hc=187
Spirit33 4 Img=9 帧4,186×82,lpos(-185,-3) Sprite sf=029880e7-…;contentSize 186×82;Widget 16 hc=-185
Spirit34 5 Img=9 帧5,186×82,lpos(1,-3) Sprite sf=2c46f8bd-…;contentSize 186×82;Widget 16 hc=1
Spirit35 6 Img=9 帧6,186×82,lpos(187,-3) Sprite sf=1efdc1ea-…;contentSize 186×82;Widget 16 hc=187
Spirit36 7 Img=9 帧7,186×82,lpos(-185,-85) Sprite sf=c468fa1f-…;contentSize 186×82;Widget 16 hc=-185
Spirit37 8 Img=9 帧8,186×82,lpos(1,-85) Sprite sf=5153e2e5-…;contentSize 186×82;Widget 16 hc=1
Spirit38 9 Img=9 帧9,186×82,lpos(187,-85) Sprite sf=2c464751-…;contentSize 186×82;Widget 16 hc=187
Spirit39 重输 Img=9 帧10,186×82,lpos(-281,-570) Sprite sf=bbd7edb3-…;contentSize 186×82;Widget 16 hc=-281(⚠️ Y=889 屏幕外)
Spirit40 删除 Img=9 帧12,186×82,lpos(187,-167) Sprite sf=baac739a-…;contentSize 186×82;Widget 16 hc=187
Spirit68 加入房间标题 Img=40,510×138,lpos(-24,513) Sprite sf=05398908-…;contentSize 510×138;Widget 16 hc=-24
Spirit59 加入房间关闭按钮 Img=33,83×84,lpos(366.5,302) Sprite sf=eedce6d7-…;contentSize 83×84;Widget 16 hc=366.5
Spirit236 房间号1 Img=46 FrameText=1,30×30,lpos(-189,150) Sprite sf=f3f3eadc-…;contentSize 30×30;Widget 16 hc=-189
Spirit237 房间号2 Img=46,30×30,lpos(-112,150) Sprite sf=f3f3eadc-…;contentSize 30×30;Widget 16 hc=-112
Spirit238 房间号3 Img=46,30×30,lpos(-32,150) Sprite sf=f3f3eadc-…;contentSize 30×30;Widget 16 hc=-32
Spirit239 房间号4 Img=46,30×30,lpos(44,150) Sprite sf=f3f3eadc-…;contentSize 30×30;Widget 16 hc=44
Spirit240 房间号5 Img=46,30×30,lpos(121,150) Sprite sf=f3f3eadc-…;contentSize 30×30;Widget 16 hc=121
Spirit241 房间号6 Img=46,30×30,lpos(197,150) Sprite sf=f3f3eadc-…;contentSize 30×30;Widget 16 hc=197
Spirit687 Spirit687 Img=28 帧2,403×76,lpos(0.5,275) Sprite sf=b64f27f7-…;contentSize 403×76;Widget 16 hc=0.5
Spirit514 Spirit514 Img=9 帧10,186×82,lpos(-185,-167) Sprite sf=bbd7edb3-…;contentSize 186×82;Widget 16 hc=-185
Spirit602 Spirit602 Img=373 帧3→1,234×78,lpos(0,-251) Sprite sf=73527749-…;contentSize 234×78;Widget 16 hc=0

脚本驱动要点:

  • 数字键盘 12 键(img=9,12 帧 3×4 布局):帧号从左到右、从上到下 1..12 = 数字 1-9 + 重输 + 0 + 删除。布局三列 X=362/548/734、四行 Y=240/322/404/486:
    • 行 1 (Y=240):Spirit30 数字1(X=362) / Spirit31 数字2(X=548) / Spirit32 数字3(X=734)
    • 行 2 (Y=322):Spirit33 数字4 / Spirit34 数字5 / Spirit35 数字6
    • 行 3 (Y=404):Spirit36 数字7 / Spirit37 数字8 / Spirit38 数字9
    • 行 4 (Y=486):Spirit514 重输(X=362) / Spirit29 数字0(X=548) / Spirit40 删除(X=734) 脚本按位置绑定各键回调,读取对应键值(数字 0-9 + 重输 + 删除,具体语义由加入房间逻辑定)。
  • Spirit39 重输(Y=889 屏幕外):源数据里额外一个「重输」按钮位于屏幕下方(lpos.y=-570),与 Spirit514 同为 img=9 帧 10。⚠️ 逐字复刻源数据(数据源权威不兜底),运行时可能不显示或需脚本按需显隐。
  • 房间号显示(Spirit236~241):img=46 是 10 帧 30×30 数字(FrameText),6 个 spirit 从左到右 X=436/513/593/669/746/822 组成 6 位房间号。运行时按房间号各位数字切 spriteFrame(帧 N = 数字 N-1)。Spirit28 房间号显示底图(img=8,465×103)铺在其后。
  • Spirit602 帧号循环回绕:img=373 单帧(frame_all=1),源 Frame=3 按 ((3-1)%1)+1=1 回绕到帧 1(见 1.10)。不是数据错误。
  • Spirit26 加入房间背景是九宫格(源 SpiritType=5,边距 250/200/346/245):Sprite _type=SLICED 已设,spriteFrame border 待补。图片 00002.png 被 7 Layer 以 4 组边距复用,本层是其中一组(250/200/346/245,与 Layer608 帮助背景一致),后续补边距需为 (图片,边距) 组合各建 spriteFrame 副本。
  • Spirit68 加入房间标题自引用点击(MouseUp=68)、Spirit236 房间号1 自引用点击(MouseUp=236)→ 脚本按需绑定。
  • Spirit59 关闭按钮(CanClick=1、XML Event 空)→ 脚本 bind_button_click_event 绑定「关闭加入房间弹窗」。
  • Spirit27 遮罩(CanClick=1、XML Event 空)→ 脚本按需绑定「点击遮罩关闭」。
  • 其余键均 CanClick=1、XML Event 空 → 脚本按需 bind_button_click_event。

3.21 Layer19_WorldRoomList.prefab(WorldRoomList_Layer,世界房间列表)

源 Layer00019.xml:34 spirits,GroupID=82/96/97。世界房间列表,38 节点(1 root + 3 group + 34 children),21 Sprite + 13 Label。含 2 张房间卡片(group-96/97,各含头像/房主名/房间号 FrameText)+ 主框架(遮罩/背景/标题/刷新/列表头/分页图标)。

Layer19_WorldRoomList      UITransform 1600×720  Widget 45
├─ group-82                UITransform 1600×720  Widget 45
│  ├─ Spirit516 遮罩        UITransform 1600×720  Widget 45(全屏拉伸)
│  ├─ Spirit517 背景        UITransform 1600×720  Widget 45  [9-slice]
│  ├─ Spirit518 标题        UITransform 182×50    Widget 16 (hc=-372)
│  ├─ Spirit519 关闭/返回   UITransform 59×51     Widget 16 (hc=-593.5)
│  ├─ 刷新 Spirit520        UITransform 104×47    Widget 16 (hc=567)
│  ├─ Spirit521/3019 列表按钮 UITransform 201×67  Widget 16 (hc=158.5 / -120.5)
│  ├─ Spirit566/567 列表头  UITransform 208×43    Widget 16 (hc=-412 / -73)
│  ├─ Spirit92/93 列表按钮  UITransform 210×80    Widget 16 (hc=-109 / 106)
│  └─ Spirit527/562/563/565(Label 列表文本)
├─ group-96(房间卡片 1)   UITransform 1600×720  Widget 45
│  ├─ Spirit522 头像        UITransform 100×100   Widget 16 (hc=-366)
│  ├─ Spirit524 卡片底      UITransform 398×261   Widget 16 (hc=-356)
│  ├─ Spirit94/96 卡片按钮  UITransform 216×71 / 206×74  Widget 16
│  ├─ Spirit95 房间号 FrameText UITransform 25×34  Widget 16
│  └─ Spirit526/3020/3022/3024(Label 房主名/信息)
└─ group-97(房间卡片 2)   UITransform 1600×720  Widget 45
   ├─ Spirit523 头像        UITransform 50×50     Widget 16 (hc=-420)
   ├─ Spirit525 卡片横幅    UITransform 900×151   Widget 16 (hc=-111)
   ├─ Spirit3026/3027/3028(小图标/数字)        Widget 16
   └─ Spirit564/3021/3023/3025/3165(Label 列表文本)

节点表(34 个:21 Sprite + 13 Label):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit516 遮罩 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45
Spirit517 背景 Img=254(9-slice 200/134/200/135),1280×720,lpos(0,0) Sprite sf=a31fecc3-… type=SLICED;contentSize 1600×720;Widget 45;border 待补
Spirit518 标题 Img=211 帧1,182×50,lpos(-372,320) Sprite sf=135076af-…;contentSize 182×50;Widget 16 hc=-372
Spirit519 关闭/返回 Img=259,59×51,lpos(-593.5,322.5) Sprite sf=3ce98bad-…;contentSize 59×51;Widget 16 hc=-593.5
刷新 (Spirit520) 刷新 Img=213,104×47,lpos(567,322.5) Sprite sf=612b277e-…;contentSize 104×47;Widget 16 hc=567
Spirit521 列表按钮 Img=257 帧1,201×67,lpos(158.5,-314.5) Sprite sf=a041ddc3-…;contentSize 201×67;Widget 16 hc=158.5
Spirit566 列表头 Img=210,208×43,lpos(-412,-657.5) Sprite sf=084eb6ca-…;contentSize 208×43;Widget 16 hc=-412
Spirit567 列表头 Img=210,208×43,lpos(-73,-666.5) Sprite sf=084eb6ca-…;contentSize 208×43;Widget 16 hc=-73
Spirit3019 列表按钮 Img=257 帧2,201×67,lpos(-120.5,-314.5) Sprite sf=5600806d-…;contentSize 201×67;Widget 16 hc=-120.5
Spirit92 列表按钮 Img=358 帧1,210×80,lpos(-109,242) Sprite sf=5d57263e-…;contentSize 210×80;Widget 16 hc=-109
Spirit93 列表按钮 Img=358 帧4,210×80,lpos(106,242) Sprite sf=f2ac27a0-…;contentSize 210×80;Widget 16 hc=106
Spirit527 Label FontSize=14 黑,75×25,lpos(-26.5,-463.5) Label fontSize=14 color=黑;Widget 16 hc=-26.5
Spirit562 Label FontSize=14 白,75×25,lpos(-417.5,-651.5) Label fontSize=14 color=白;Widget 16 hc=-417.5
Spirit563 Label FontSize=16 黑,84×28,lpos(90,-535) Label fontSize=16 color=黑;Widget 16 hc=90
Spirit565 Label FontSize=14 白,75×25,lpos(-47.5,-659.5) Label fontSize=14 color=白;Widget 16 hc=-47.5
Spirit522 头像 Img=10,100×100,lpos(-366,142) Sprite sf=dcc4530b-…;contentSize 100×100;Widget 16 hc=-366
Spirit524 卡片底 Img=212 帧1,398×261,lpos(-356,-494.5) Sprite sf=49c6b009-…;contentSize 398×261;Widget 16 hc=-356
Spirit526 Label FontSize=24 红 "啊",32×42,lpos(-425,-434) Label fontSize=24 color=红;Widget 16 hc=-425
Spirit3020 Label FontSize=16 棕,10×28,lpos(-368,-467) Label fontSize=16 color=棕;Widget 16 hc=-368
Spirit3022 Label FontSize=14 白,75×25,lpos(-350.5,-535.5) Label fontSize=14 color=白;Widget 16 hc=-350.5
Spirit3024 Label FontSize=14 白,9×25,lpos(-489.5,-533.5) Label fontSize=14 color=白;Widget 16 hc=-489.5
Spirit94 卡片按钮 Img=360,216×71,lpos(-509,-478.5) Sprite sf=a5258649-…;contentSize 216×71;Widget 16 hc=-509
Spirit95 房间号 Img=359 FrameText=1,25×34,lpos(-514.5,-478) Sprite sf=8ef599cb-…;contentSize 25×34;Widget 16 hc=-514.5
Spirit96 卡片按钮 Img=361,206×74,lpos(-307,-427) Sprite sf=419d5a22-…;contentSize 206×74;Widget 16 hc=-307
Spirit523 头像 Img=10,50×50,lpos(-420,167) Sprite sf=dcc4530b-…;contentSize 50×50;Widget 16 hc=-420
Spirit525 卡片横幅 Img=255 帧2→1,900×151,lpos(-111,-740.5) Sprite sf=b54e832d-…;contentSize 900×151;Widget 16 hc=-111
Spirit564 Label FontSize=14 棕,75×25,lpos(-455.5,-730.5) Label fontSize=14 color=棕;Widget 16 hc=-455.5
Spirit3021 Label FontSize=14 棕,9×25,lpos(-482.5,-692.5) Label fontSize=14 color=棕;Widget 16 hc=-482.5
Spirit3023 Label FontSize=14 棕,75×25,lpos(224.5,-692.5) Label fontSize=14 color=棕;Widget 16 hc=224.5
Spirit3025 Label FontSize=14 棕,75×25,lpos(224.5,-655.5) Label fontSize=14 color=棕;Widget 16 hc=224.5
Spirit3026 小图标 Img=260 帧2→1,32×27,lpos(-257,-692.5) Sprite sf=c40c91dc-…;contentSize 32×27;Widget 16 hc=-257
Spirit3027 小图标 Img=261 帧2,21×22,lpos(-219.5,-692) Sprite sf=823769bd-…;contentSize 21×22;Widget 16 hc=-219.5
Spirit3028 数字 Img=258 FrameText=8,16×19,lpos(224,-710.5) Sprite sf=3a6cb966-…;contentSize 16×19;Widget 16 hc=224
Spirit3165 Label FontSize=14 白,9×25,lpos(-532.5,-680.5) Label fontSize=14 color=白;Widget 16 hc=-532.5

脚本驱动要点:

  • 颜色映射:源 FontColor 按 0xBBGGRR 存储(高位 B、低位 R):16777215=白、0=黑、1981561=0x1E3C79→RGB(121,58,30) 棕、255=0x0000FF→红。Label _color 已按此转换。
  • 2 张房间卡片(group-96 / group-97):WorldRoomList 的列表项是运行时动态生成的房间卡片模板。group-96(9 spirit)与 group-97(10 spirit)是两张卡片样例,脚本按房间数量复用其结构(房主头像 Spirit522/523、卡片底 Spirit524/横幅 Spirit525、房主名 Label、房间号 FrameText Spirit95/3028、进入按钮 Spirit94/96)。
  • 房间号 FrameText:img=359(10 帧 25×34)与 img=258(10 帧 16×19)是 0-9 数字,Spirit95(FrameText=1)、Spirit3028(FrameText=8)运行时按房间号各位数字切 spriteFrame(帧 N = 数字 N-1)。
  • 帧号循环回绕:img=255/260 单帧(frame_all=1),源 Frame=2 按 ((2-1)%1)+1=1 回绕到帧 1(见 1.10);img=261 帧 2(frame_all=2)正常取帧 2。
  • Spirit517 背景九宫格(源 SpiritType=5,边距 200/134/200/135):Sprite _type=SLICED 已设,spriteFrame border 待补(图片 00254.png 是 1280×720 单图,非多 Layer 复用,补边距可直改其 spriteFrame border)。
  • 动态文本:Label _string 多为占位("Spirit526" = ObjectName、"s"/"啊" = 源占位),运行时替换为房主昵称、房间号、房间信息等(见 4.1)。
  • 可点击:Spirit516 遮罩(点击关闭)、Spirit519 关闭/返回、刷新 Spirit520、Spirit94 进入房间(MouseUp=94 自引用)、其余按钮按需绑定(见 4.2)。

3.22 Layer27_CreateRoom.prefab(CreateRoom_Layer,创建房间)

源 Layer00027.xml:19 spirits,GroupID=4。创建房间弹窗,21 节点(1 root + 1 group + 19 children),15 Sprite + 4 Label。含遮罩 + 背景(9-slice)+ 标题 + 局数选择×2 + 下注上限选择×3 + 玩法选择×2 + 确定创建按钮 + 关闭按钮 + 3 张 frame sprite(选项标签)+ 4 个选项文本。

Layer27_CreateRoom         UITransform 1600×720  Widget 45
└─ group-4                 UITransform 1600×720  Widget 45
   ├─ Spirit18 遮罩        UITransform 1600×720  Widget 45(全屏拉伸)
   ├─ Spirit19 背景        UITransform 850×400   Widget 16 (hc=0)   [9-slice]
   ├─ Spirit62 标题        UITransform 510×138   Widget 16 (hc=51)
   ├─ Spirit20/21 局数选择 UITransform 50×50     Widget 16 (hc=-98 / 165)
   ├─ Spirit22/23/24 下注上限 UITransform 50×50  Widget 16 (hc=-465 / -202 / -465)
   ├─ Spirit25 确定创建    UITransform 292×102   Widget 16 (hc=0)
   ├─ Spirit139/140 玩法选择 UITransform 50×50   Widget 16 (hc=-98 / 165)
   ├─ Spirit60 关闭按钮    UITransform 83×84     Widget 16 (hc=391.5)
   ├─ Spirit672/673/674/675(Label 选项文本)    Widget 16
   └─ Spirit677/678/686(frame sprite)          Widget 16

节点表(19 个:15 Sprite + 4 Label):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit18 创建房间遮罩 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45
Spirit19 创建房间背景 Img=2(9-slice 250/200/346/245),850×400,lpos(0,2) Sprite sf=8eb7acc3-… type=SLICED;contentSize 850×400;Widget 16 hc=0;border 待补
Spirit62 创建房间标题 Img=40,510×138,lpos(51,589) Sprite sf=05398908-…;contentSize 510×138;Widget 16 hc=51
Spirit20 局数选择1 Img=3,50×50,lpos(-98,-38) Sprite sf=4b924bd2-…;contentSize 50×50;Widget 16 hc=-98
Spirit21 局数选择2 Img=3,50×50,lpos(165,-38) Sprite sf=4b924bd2-…;contentSize 50×50;Widget 16 hc=165
Spirit22 下注上限选择1 Img=3,50×50,lpos(-465,488) Sprite sf=4b924bd2-…;contentSize 50×50;Widget 16 hc=-465
Spirit23 下注上限选择2 Img=3,50×50,lpos(-202,488) Sprite sf=4b924bd2-…;contentSize 50×50;Widget 16 hc=-202
Spirit24 下注上限选择3 Img=3,50×50,lpos(-465,418) Sprite sf=4b924bd2-…;contentSize 50×50;Widget 16 hc=-465
Spirit25 确定创建房间 Img=34 帧1,292×102,lpos(0,-178) Sprite sf=c8cc3782-…;contentSize 292×102;Widget 16 hc=0
Spirit139 玩法一选择 Img=3,50×50,lpos(-98,37) Sprite sf=4b924bd2-…;contentSize 50×50;Widget 16 hc=-98
Spirit140 玩法二选择 Img=3,50×50,lpos(165,37) Sprite sf=4b924bd2-…;contentSize 50×50;Widget 16 hc=165
Spirit60 创建房间关闭按钮 Img=33,83×84,lpos(391.5,178) Sprite sf=eedce6d7-…;contentSize 83×84;Widget 16 hc=391.5
Spirit672 Spirit672 FontSize=16 黑,84×28,lpos(-10,41) Label fontSize=16 color=黑;Widget 16 hc=-10
Spirit673 Spirit673 FontSize=16 黑,84×28,lpos(238,41) Label fontSize=16 color=黑;Widget 16 hc=238
Spirit674 Spirit674 FontSize=16 黑,84×28,lpos(-9,-39) Label fontSize=16 color=黑;Widget 16 hc=-9
Spirit675 Spirit675 FontSize=16 黑,84×28,lpos(253,-35) Label fontSize=16 color=黑;Widget 16 hc=253
Spirit677 Spirit677 Img=27 帧3,134×37,lpos(-241,40.5) Sprite sf=6ea3afac-…;contentSize 134×37;Widget 16 hc=-241
Spirit678 Spirit678 Img=27 帧2,134×37,lpos(-239,-37.5) Sprite sf=a1c2c7c1-…;contentSize 134×37;Widget 16 hc=-239
Spirit686 Spirit686 Img=28 帧1,403×76,lpos(0.5,153) Sprite sf=ac673006-…;contentSize 403×76;Widget 16 hc=0.5

脚本驱动要点:

  • Spirit19 背景九宫格(源 SpiritType=5,边距 250/200/346/245):Sprite _type=SLICED 已设,spriteFrame border 待补。图片 00002.png 被 7 Layer 以 4 组边距复用,本层是其中一组(250/200/346/245,与 Layer608 帮助背景一致),后续补边距需为 (图片,边距) 组合各建 spriteFrame 副本。
  • ⚠️ 负 Y 源数据逐字复刻:Spirit62 标题(Y=-298 → lpos.y=589)、Spirit22/23(Y=-153 → lpos.y=488)、Spirit24(Y=-83 → lpos.y=418)源坐标在背景顶边(Y=158)上方,lpos.y 超出屏幕顶(>360)。这是源数据真实坐标(与 Layer15 标题 Y=-222 同理),迁移逐字复刻不兜底,运行时脚本需按实际布局重新定位或按需显隐。
  • img=3 选择按钮(7 处共用):Spirit20/21(局数)、Spirit22/23/24(下注上限)、Spirit139/140(玩法)共用同一 spriteFrame 4b924bd2-…(50×50 单图)。源未提供「选中/未选中」两态图,脚本需按选中态切 spriteFrame 或换图(数据源权威,选中态图需在来源处补充)。
  • 多帧 sprite:img=27(3 帧 134×37)Spirit677 用帧 3 / Spirit678 用帧 2;img=28(2 帧 403×76)Spirit686 用帧 1。仅落单帧 spriteFrame,运行时按需切帧或加 cc.Animation。
  • 动态文本:4 个 Label(Spirit672/673/674/675)_string="Spirit672" 是 ObjectName 占位,运行时替换为局数/下注上限/玩法选项的实际值(见 4.1)。
  • 可点击:全部 19 节点 CanClick=1 但源 EventList 空(无 MouseUp 自引用),按语义绑定:Spirit18 遮罩(点击关闭)、Spirit60 关闭按钮、Spirit25 确定创建、Spirit20/21/139/140 局数/玩法选择、Spirit22/23/24 下注上限选择(见 4.2)。

3.23 Layer11_ChargeInfo.prefab(ChargeInfo_Layer,充值提示)

源 Layer00011.xml:4 spirits,GroupID=20。充值提示弹窗,6 节点(1 root + 1 group + 4 children),2 Sprite + 2 Label。

Layer11_ChargeInfo         UITransform 1600×720  Widget 45
└─ group-20                UITransform 1600×720  Widget 45
   ├─ Spirit146 遮罩        UITransform 1600×720  Widget 45(全屏拉伸)
   ├─ Spirit147 背景        UITransform 454×207   Widget 16 (hc=-7)
   ├─ Spirit148 提示文字    UITransform 126×28    Widget 16 (hc=-116)  [Label]
   └─ Spirit680 补充文字    UITransform 21×28     Widget 16 (hc=-78.5) [Label]

节点表(4 个:2 Sprite + 2 Label):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit146 充值提示遮罩 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45
Spirit147 充值提示背景 Img=54,454×207,lpos(-7,13.5) Sprite sf=4b04584c-…;contentSize 454×207;Widget 16 hc=-7
Spirit148 充值提示文字 FontSize=16 棕,126×28,lpos(-116,54) Label fontSize=16 color=(102,41,16,255);Widget 16 hc=-116
Spirit680 Spirit680 FontSize=16 紫,21×28,lpos(-78.5,-6) Label fontSize=16 color=(46,5,205,255);Widget 16 hc=-78.5

脚本驱动要点:

  • Spirit147 背景复用 img=54(00054.png 454×207「掉线背景」,Layer615 Spirit231 同图):非九宫格,Sprite type=SIMPLE。
  • 动态文本:Spirit148 _string="充值提示文字"、Spirit680 _string="字" 均为占位,运行时替换为实际充值提示内容(见 4.1)。
  • Spirit680 颜色:FontColor=13436206=0xCD052E→RGB(46,5,205) 深紫,逐字复刻源数据。
  • 可点击:全部 CanClick=1、源 EventList 空,按语义绑定 Spirit146 遮罩(点击关闭)、Spirit147 背景(按需)(见 4.2)。

3.24 Layer13.prefab(Layer13,战绩弹窗)

源 Layer00013.xml:6 spirits,分 2 组(GroupID=7 战绩主界面、GroupID=8 分页箭头)。双 group 战绩弹窗,9 节点(1 root + 2 group + 6 children),6 Sprite + 0 Label。

Layer13                    UITransform 1600×720  Widget 45
├─ group-7                 UITransform 1600×720  Widget 45
│  ├─ Spirit55 战绩返回     UITransform 123×43   Widget 16 (hc=-524.5)
│  ├─ Spirit85             UITransform 195×68   Widget 16 (hc=106.5)
│  ├─ Spirit84             UITransform 195×68   Widget 16 (hc=-104.5)
│  └─ Spirit61 战绩关闭按钮  UITransform 83×84   Widget 16 (hc=585.5)
└─ group-8                 UITransform 1600×720  Widget 45
   ├─ Spirit104            UITransform 33×41    Widget 16 (hc=491.5)
   └─ Spirit105            UITransform 33×41    Widget 16 (hc=557.5)

节点表(6 个 Sprite):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit55 战绩返回 Img=354 帧 2→1,123×43,lpos(-524.5,294.5) Sprite sf=f9208601-…;contentSize 123×43;Widget 16 hc=-524.5
Spirit85 Spirit85 Img=10 帧 1,195×68,lpos(106.5,299) Sprite sf=dcc4530b-…;contentSize 195×68;Widget 16 hc=106.5
Spirit84 Spirit84 Img=10 帧 1,195×68,lpos(-104.5,299) Sprite sf=dcc4530b-…;contentSize 195×68;Widget 16 hc=-104.5
Spirit61 战绩关闭按钮 Img=33 帧 0→1,83×84,lpos(585.5,311) Sprite sf=eedce6d7-…;contentSize 83×84;Widget 16 hc=585.5
Spirit104 Spirit104 Img=65 帧 1,33×41,lpos(491.5,-304.5) Sprite sf=690f9f06-…;contentSize 33×41;Widget 16 hc=491.5
Spirit105 Spirit105 Img=65 帧 2,33×41,lpos(557.5,-304.5) Sprite sf=a08dd099-…;contentSize 33×41;Widget 16 hc=557.5

脚本驱动要点:

  • 双 group 结构:group-7(战绩主界面:Spirit55 返回 + Spirit85/84 两个图标 + Spirit61 关闭按钮)与 group-8(Spirit104/105 分页箭头)两组独立,运行时按需显隐某一组。
  • 帧号回绕:Spirit55 源 Frame=2 但 img=354 仅 frame_all=1,按 §1.10 取模回绕第 1 帧(单帧图直接引用);Spirit61 源 Frame=0 同样回绕第 1 帧(img=33 单帧)。
  • img=65 两帧分页箭头:Spirit104 帧 1 / Spirit105 帧 2(上一页/下一页),源 ObjectName 无语义名,靠位置(X=1115/1181、Y=644 屏幕底部)识别为分页控件。
  • Spirit85/84 共用 img=10:两个 195×68 图标(img=10 单帧 166×68 拉伸到 195×68),ObjectName 无语义名,为战绩内容区装饰图标。
  • ⚠️ 负 Y 源数据:Spirit104/105 源 Y=644 → lpos.y=-304.5(接近屏幕底边 360 之外),逐字复刻,运行时按需重新定位(同 Layer27 负 Y 处理)。
  • 可点击:全部 CanClick=1、源 EventList 空,按语义绑定 Spirit55 战绩返回(返回战绩列表)、Spirit61 战绩关闭按钮(关闭弹窗)、Spirit104/105 分页箭头(翻页)(见 4.2)。

3.25 Layer22_Share.prefab(Share_Layer,分享弹窗)

源 Layer00022.xml:6 spirits,GroupID=11。分享弹窗,8 节点(1 root + 1 group + 6 children),6 Sprite + 0 Label。

Layer22_Share              UITransform 1600×720  Widget 45
└─ group-11                UITransform 1600×720  Widget 45
   ├─ Spirit72 分享遮罩     UITransform 1600×720  Widget 45(全屏拉伸)
   ├─ Spirit71 分享背景     UITransform 725×482   Widget 16 (hc=0.5)  [9-slice]
   ├─ Spirit73 分享标题     UITransform 200×80    Widget 16 (hc=61)
   ├─ Spirit691            UITransform 264×80    Widget 16 (hc=150)
   ├─ Spirit74 分享微信好友  UITransform 200×192  Widget 16 (hc=-239)
   └─ Spirit75 分享朋友圈    UITransform 200×192  Widget 16 (hc=-25)

节点表(6 个 Sprite):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit72 分享遮罩 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45
Spirit71 分享背景 Img=345,725×482,lpos(0.5,0) Sprite sf=6e345900-… type=SLICED;contentSize 725×482;Widget 16 hc=0.5
Spirit73 分享标题 Img=48,200×80,lpos(61,518) Sprite sf=7c8eca87-…;contentSize 200×80;Widget 16 hc=61
Spirit691 Spirit691 Img=50 帧 1,264×80,lpos(150,504) Sprite sf=5f783910-…;contentSize 264×80;Widget 16 hc=150
Spirit74 分享微信好友 Img=51 帧 1,200×192,lpos(-239,-128) Sprite sf=4d5894ca-…;contentSize 200×192;Widget 16 hc=-239
Spirit75 分享朋友圈 Img=51 帧 2,200×192,lpos(-25,-128) Sprite sf=5b77563f-…;contentSize 200×192;Widget 16 hc=-25

脚本驱动要点:

  • 九宫格背景:Spirit71 分享背景 SpiritType=5(9-slice),Sprite type=SLICED + sizeMode=CUSTOM + contentSize=725×482。⚠️ 边框 LeftEdge/TopEdge/RightEdge/BottomEdge = 313/134/313/135 存 spriteFrame border(.meta),延后(改 .meta 需先征同意,见 §1.9)。
  • 全屏遮罩:Spirit72 遮罩 Img=11(00011.png 4×4 通用遮罩拉伸),contentSize 1600×720 + Widget 45。
  • 渲染顺序:遮罩 Spirit72(siblingIndex 0)在背景 Spirit71 之下,符合「遮罩在底层、弹窗内容在上层」。
  • ⚠️ 负 Y 源数据:Spirit73 标题源 Y=-198 → lpos.y=518、Spirit691 源 Y=-184 → lpos.y=504(超出屏幕顶 360),逐字复刻,运行时重新定位。
  • img=51 两帧分享按钮:Spirit74 微信好友(帧 1)/ Spirit75 朋友圈(帧 2),各 200×192。
  • 可点击:全部 CanClick=1、源 EventList 空,按语义绑定 Spirit72 遮罩(点击关闭)、Spirit74 微信好友(分享给微信好友)、Spirit75 朋友圈(分享到朋友圈)(见 4.2)。

3.26 Layer16_Bind.prefab(Bind_Layer,绑定弹窗)

源 Layer00016.xml:7 spirits,GroupID=80。绑定弹窗,9 节点(1 root + 1 group + 7 children),5 Sprite + 2 Label。

Layer16_Bind               UITransform 1600×720  Widget 45
└─ group-80                UITransform 1600×720  Widget 45
   ├─ Spirit362 绑定遮罩    UITransform 1600×720  Widget 45(全屏拉伸)
   ├─ Spirit363             UITransform 900×200   Widget 16 (hc=-16)  [9-slice]
   ├─ Spirit364             UITransform 185×73    Widget 16 (hc=-14.5)
   ├─ Spirit365             UITransform 450×60    Widget 16 (hc=-200)  [Label]
   ├─ Spirit366             UITransform 135×80    Widget 16 (hc=142.5)
   ├─ Spirit367             UITransform 135×80    Widget 16 (hc=321.5)
   └─ Spirit368             UITransform 109×35    Widget 16 (hc=-342.5) [Label]

节点表(7 个:5 Sprite + 2 Label):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit362 绑定遮罩 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45
Spirit363 Spirit363 Img=41,900×200,lpos(-16,231) Sprite sf=3e7492cb-… type=SLICED;contentSize 900×200;Widget 16 hc=-16
Spirit364 Spirit364 Img=187 帧 1,185×73,lpos(-14.5,321.5) Sprite sf=b6fe5054-…;contentSize 185×73;Widget 16 hc=-14.5
Spirit365 Spirit365 FontSize=20 黑,450×60,lpos(-200,234) Label fontSize=20 color=黑(0,0,0,255);contentSize 450×60;Widget 16 hc=-200
Spirit366 Spirit366 Img=188 帧 2,135×80,lpos(142.5,234) Sprite sf=5209df7b-…;contentSize 135×80;Widget 16 hc=142.5
Spirit367 Spirit367 Img=188 帧 1,135×80,lpos(321.5,234) Sprite sf=191af9ac-…;contentSize 135×80;Widget 16 hc=321.5
Spirit368 Spirit368 FontSize=20 黑,109×35,lpos(-342.5,232.5) Label fontSize=20 color=黑;contentSize 109×35;Widget 16 hc=-342.5

脚本驱动要点:

  • 九宫格背景:Spirit363 背景 SpiritType=5,Sprite type=SLICED + sizeMode=CUSTOM + contentSize=900×200。⚠️ 边框 55/45/55/45 存 spriteFrame border(.meta),延后(见 §1.9)。
  • 全屏遮罩:Spirit362 遮罩 Img=11(00011.png 4×4 通用遮罩拉伸),contentSize 1600×720 + Widget 45。
  • 动态文本:Spirit365 _string=""(空占位)、Spirit368 _string="Spirit368"(占位),运行时替换为绑定相关内容(见 4.1)。
  • 颜色分量字段:Layer16 的 FontColor 用 FontColorR/G/B 分量(均为 0 = 黑色),非 0xBBGGRR 数值形式;迁移为 Label color=(0,0,0,255)。
  • img=188 两帧按钮:Spirit366 帧 2 / Spirit367 帧 1,绑定操作按钮(源 ObjectName 无语义名,靠位置/帧识别)。
  • 可点击:全部 CanClick=1、源 EventList 空,按语义绑定 Spirit362 遮罩(点击关闭)、Spirit366/367(绑定操作按钮)、Spirit364(按需)(见 4.2)。

3.27 Layer24_Neighbor.prefab(NeighborLayer,邻居弹窗)

源 Layer00024.xml:7 spirits,GroupID=88。邻居弹窗,9 节点(1 root + 1 group + 7 children),7 Sprite + 0 Label。

Layer24_Neighbor           UITransform 1600×720  Widget 45
└─ group-88                UITransform 1600×720  Widget 45
   ├─ Spirit3005 邻居遮罩   UITransform 1600×720  Widget 45(全屏拉伸)
   ├─ Spirit3006 邻居背景   UITransform 1002×702  Widget 16 (hc=0)  [9-slice]
   ├─ Spirit3007 邻居项1    UITransform 215×69    Widget 16 (hc=266.5)
   ├─ Spirit3008 邻居项2    UITransform 215×69    Widget 16 (hc=266.5)
   ├─ Spirit3009 邻居项3    UITransform 215×69    Widget 16 (hc=266.5)
   ├─ Spirit3010 邻居项4    UITransform 215×69    Widget 16 (hc=266.5)
   └─ Spirit3011 关闭       UITransform 83×84     Widget 16 (hc=478.5)

节点表(7 个 Sprite):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit3005 邻居遮罩 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45
Spirit3006 邻居背景 Img=243,1002×702,lpos(0,9) Sprite sf=ee70b3e9-… type=SLICED;contentSize 1002×702;Widget 16 hc=0
Spirit3007 邻居项1 Img=244 帧 1,215×69,lpos(266.5,173.5) Sprite sf=dcefb181-…;contentSize 215×69;Widget 16 hc=266.5
Spirit3008 邻居项2 Img=244 帧 1,215×69,lpos(266.5,41.5) Sprite sf=dcefb181-…;contentSize 215×69;Widget 16 hc=266.5
Spirit3009 邻居项3 Img=244 帧 1,215×69,lpos(266.5,-90.5) Sprite sf=dcefb181-…;contentSize 215×69;Widget 16 hc=266.5
Spirit3010 邻居项4 Img=244 帧 1,215×69,lpos(266.5,-222.5) Sprite sf=dcefb181-…;contentSize 215×69;Widget 16 hc=266.5
Spirit3011 关闭 Img=33,83×84,lpos(478.5,269) Sprite sf=eedce6d7-…;contentSize 83×84;Widget 16 hc=478.5

脚本驱动要点:

  • 九宫格背景:Spirit3006 背景 SpiritType=5,Sprite type=SLICED + sizeMode=CUSTOM + contentSize=1002×702。⚠️ 边框 LeftEdge/TopEdge/RightEdge/BottomEdge = 0/0/0/0(零边距,等同拉伸)存 spriteFrame border(.meta),延后(见 §1.9)。
  • 全屏遮罩:Spirit3005 遮罩 Img=11(00011.png 4×4 通用遮罩拉伸),contentSize 1600×720 + Widget 45。
  • 邻居项×4(Spirit3007~3010):SpiritType=3(帧 sprite)但 frame_all=1(单帧),4 处共用同一 spriteFrame dcefb181-…(img244)。纵向排列(源 Y=152/284/416/548,间隔 132),是邻居列表项模板;头像/昵称等为运行时动态叠加(源 XML 无 Text spirit),脚本按邻居数量复用其结构。
  • 可点击:Spirit3005 遮罩 MouseUp=3005(自引用,点击关闭);Spirit30063011 全部 CanClick=1 但 XML EventList 空,按语义绑定 Spirit3011 关闭按钮、Spirit30073010 邻居项(查看/进入邻居,按需绑定)(见 4.2)。

3.28 Layer8_Notice.prefab(Notice_Layer,公告/更多面板)

源 Layer00008.xml:9 spirits,GroupID=95/3。公告/更多面板,12 节点(1 root + 2 group + 9 children),8 Sprite + 1 Label。

Layer8_Notice              UITransform 1600×720  Widget 45
├─ group-3                 UITransform 1600×720  Widget 45
│  └─ Spirit145 公告内容    UITransform 60×20     Widget 16 (hc=-529)  [Label]
└─ group-95                UITransform 1600×720  Widget 45
   ├─ Spirit3122 更多遮罩   UITransform 1600×720  Widget 45(全屏拉伸,active=false)
   ├─ Spirit3121 按钮托盘   UITransform 146×115   Widget 16 (hc=-367)  [9-slice]
   ├─ Spirit3017 背包按钮   UITransform 150×70    Widget 16 (hc=116)
   ├─ Spirit5 通知          UITransform 150×70    Widget 16 (hc=426)
   ├─ Spirit235 绑定按钮    UITransform 150×70    Widget 16 (hc=-39)
   ├─ Spirit604 排行榜      UITransform 150×70    Widget 16 (hc=-194)
   ├─ Spirit3057 仓库       UITransform 150×70    Widget 16 (hc=271)
   └─ Spirit15 反馈         UITransform 150×70    Widget 16 (hc=-349)

节点表(9 个:8 Sprite + 1 Label):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit3122 更多遮罩 Img=10,1280×720,lpos(0,0) Sprite sf=dcc4530b-…;contentSize 1600×720;Widget 45;active=false
Spirit145 公告内容 FontSize=11 白,60×20,lpos(-529,-437) Label fontSize=11 color=白(255,255,255,255);contentSize 60×20;Widget 16 hc=-529
Spirit3121 按钮托盘 Img=347,146×115,lpos(-367,-222.5) Sprite sf=187be0e6-… type=SLICED;contentSize 146×115;Widget 16 hc=-367
Spirit3017 背包按钮 Img=14 帧 5,150×70,lpos(116,-210) Sprite sf=d504c257-…;contentSize 150×70;Widget 16 hc=116
Spirit5 通知 Img=14 帧 10,150×70,lpos(426,-210) Sprite sf=fe562996-…;contentSize 150×70;Widget 16 hc=426
Spirit235 绑定按钮 Img=14 帧 9,150×70,lpos(-39,-210) Sprite sf=75786e98-…;contentSize 150×70;Widget 16 hc=-39
Spirit604 排行榜 Img=14 帧 8,150×70,lpos(-194,-210) Sprite sf=42f9d0a7-…;contentSize 150×70;Widget 16 hc=-194
Spirit3057 仓库 Img=14 帧 6,150×70,lpos(271,-210) Sprite sf=bcef0a07-…;contentSize 150×70;Widget 16 hc=271
Spirit15 反馈 Img=14 帧 7,150×70,lpos(-349,-210) Sprite sf=096cee7a-…;contentSize 150×70;Widget 16 hc=-349

脚本驱动要点:

  • 双 group 结构:group-3(公告内容文字)与 group-95(更多面板主体)。Spirit145 公告内容的 GroupID=3 指向主大厅 group(跨 Layer 共享,源数据如此),迁移忠实保留 group-3 独立 group。
  • 全屏遮罩:Spirit3122 Img=10(00010.png 166×68 拉伸 1280×720),IsVisible=0 → _active=false(隐藏),Widget 45。运行时打开更多面板时激活;点击遮罩关闭(见 4.2)。
  • 按钮托盘:Spirit3121 SpiritType=5,Sprite type=SLICED + sizeMode=CUSTOM + contentSize=146×115。⚠️ 边框 70/50/30/50 存 spriteFrame border(.meta),延后(见 §1.9)。
  • 6 功能按钮:SpiritType=3 帧 sprite,img=14 帧 5~10(背包/通知/绑定/排行榜/仓库/反馈),横向排列(源 Y=535,X 从 216→991)。
  • 动态文本:Spirit145 公告内容 _string="公告内容"(占位,运行时替换为实际公告)。⚠️ Layer8 的 FontColor 用白色 FontColorR/G/B=255(#FFFFFF,非 Layer16 的黑色)。
  • 可点击:全部 CanClick=1、XML EventList 空,按语义绑定 Spirit3122 遮罩(点击关闭更多面板)、6 按钮(各自功能入口,按需绑定)(见 4.2)。

3.29 Layer18_Auth.prefab(Auth_layer,授权弹窗)

源 Layer00018.xml:9 spirits,GroupID=57。授权/认证弹窗,11 节点(1 root + 1 group + 9 children),5 Sprite + 4 Label。

Layer18_Auth               UITransform 1600×720  Widget 45
└─ group-57                UITransform 1600×720  Widget 45
   ├─ Spirit485 授权遮罩    UITransform 1600×720  Widget 45(全屏拉伸,active=false)
   ├─ Spirit486 授权背景    UITransform 850×180   Widget 16 (hc=0)     [9-slice]
   ├─ Spirit487 授权选项1   UITransform 149×30    Widget 16 (hc=-293.5)
   ├─ Spirit488 授权选项2   UITransform 149×30    Widget 16 (hc=-294.5)
   ├─ Spirit489 授权文字1   UITransform 150×40    Widget 16 (hc=-116)   [Label 空]
   ├─ Spirit490 授权文字2   UITransform 350×40    Widget 16 (hc=-16)    [Label 空]
   ├─ Spirit491 授权文字3   UITransform 109×35    Widget 16 (hc=-136.5) [Label 占位]
   ├─ Spirit492 授权文字4   UITransform 109×35    Widget 16 (hc=-136.5) [Label 占位]
   └─ Spirit493 授权主按钮  UITransform 157×74    Widget 16 (hc=301.5)

节点表(9 个:5 Sprite + 4 Label):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit485 授权遮罩 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45;active=false
Spirit486 授权背景 Img=41(九宫格),850×180,lpos(0,260) Sprite sf=3e7492cb-… type=SLICED;contentSize 850×180;Widget 16 hc=0
Spirit487 授权选项1 Img=201 帧 1,149×30,lpos(-293.5,292) Sprite sf=6ec71a03-…;contentSize 149×30;Widget 16 hc=-293.5
Spirit488 授权选项2 Img=201 帧 2,149×30,lpos(-294.5,232) Sprite sf=e51cd6f4-…;contentSize 149×30;Widget 16 hc=-294.5
Spirit489 授权文字1 FontSize=20 黑,150×40,lpos(-116,292) Label fontSize=20 color=黑(0,0,0,255);contentSize 150×40;Widget 16 hc=-116;Text=""
Spirit490 授权文字2 FontSize=20 黑,350×40,lpos(-16,232) Label fontSize=20 color=黑;contentSize 350×40;Widget 16 hc=-16;Text=""
Spirit491 授权文字3 FontSize=20 黑,109×35,lpos(-136.5,291.5) Label fontSize=20 color=黑;contentSize 109×35;Widget 16 hc=-136.5;Text="Spirit491"
Spirit492 授权文字4 FontSize=20 黑,109×35,lpos(-136.5,231.5) Label fontSize=20 color=黑;contentSize 109×35;Widget 16 hc=-136.5;Text="Spirit492"
Spirit493 授权主按钮 Img=202(单帧),157×74,lpos(301.5,260) Sprite sf=7467964f-…;contentSize 157×74;Widget 16 hc=301.5

脚本驱动要点:

  • 单一 group-57:9 spirits 全在 group-57(源 BelongGroupID=57),无跨 group。
  • 全屏遮罩:Spirit485 Img=11(00011.png 4×4 通用遮罩拉伸),IsVisible=0 → _active=false(隐藏),Widget 45。运行时打开授权弹窗时激活。
  • 授权背景:Spirit486 SpiritType=5,Sprite type=SLICED + sizeMode=CUSTOM + contentSize=850×180,边框 55/45/55/45(同 img41 协议/绑定背景)。⚠️ 边框存 spriteFrame border(.meta),延后(见 §1.9)。
  • 授权选项按钮:Spirit487/488 SpiritType=3 帧 sprite,img=201(00201.png 2 帧 149×30),帧 1/帧 2 各占一个节点(授权/取消,按需绑定)。
  • 授权主按钮:Spirit493 img=202(00202.png 单帧 157×74),位于右侧(hc=301.5),授权确认入口。
  • 动态文本:4 个 Label 全是黑色(FontColor=#000000)。Spirit489/490 Text=""(空占位,运行时填充授权说明);Spirit491/492 Text="Spirit491"/"Spirit492"(= ObjectName 占位,运行时替换)。见 4.1。
  • 可点击:全部 CanClick=1、XML EventList 空,按语义绑定 Spirit485 遮罩(点击关闭)、Spirit487/488 授权选项、Spirit493 授权主按钮(见 4.2)。

3.30 Layer17_PlayerInfo.prefab(MenuPlayerInfo_Layer,玩家信息菜单)

源 Layer00017.xml:15 spirits,GroupID=18。玩家信息菜单弹窗,17 节点(1 root + 1 group + 15 children),7 Sprite + 8 Label。

Layer17_PlayerInfo           UITransform 1600×720  Widget 45
└─ group-18                  UITransform 1600×720  Widget 45
   ├─ Spirit116 个人信息遮罩  UITransform 1600×720  Widget 45(全屏拉伸)
   ├─ Spirit117 个人信息背景  UITransform 592×402   Widget 16 (hc=0)     [9-slice]
   ├─ Spirit118 头像          UITransform 105×103   Widget 16 (hc=-194.5)
   ├─ Spirit484 按钮          UITransform 150×49    Widget 16 (hc=-197)
   ├─ Spirit494 右上图标      UITransform 105×103   Widget 16 (hc=587.5)
   ├─ Spirit495 左下图标      UITransform 105×103   Widget 16 (hc=-587.5)
   ├─ Spirit3156 签名底       UITransform 391×79    Widget 16 (hc=77.5)  [9-slice]
   ├─ Spirit196 文字          UITransform 75×25     Widget 16 (hc=-80.5) [Label]
   ├─ Spirit197 文字          UITransform 75×25     Widget 16 (hc=-80.5) [Label]
   ├─ Spirit198 文字          UITransform 75×25     Widget 16 (hc=-80.5) [Label]
   ├─ Spirit199 文字          UITransform 75×25     Widget 16 (hc=-80.5) [Label]
   ├─ Spirit200 文字          UITransform 75×25     Widget 16 (hc=-80.5) [Label]
   ├─ Spirit510 文字          UITransform 75×25     Widget 16 (hc=-80.5) [Label]
   ├─ Spirit3152 个性签名     UITransform 75×25     Widget 16 (hc=-80.5) [Label]
   └─ Spirit3157 文字         UITransform 75×25     Widget 16 (hc=-66.5) [Label]

节点表(15 个:7 Sprite + 8 Label):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit116 个人信息遮罩 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45
Spirit117 个人信息背景 Img=54(九宫格),592×402,lpos(0,0) Sprite sf=4b04584c-… type=SLICED;contentSize 592×402;Widget 16 hc=0
Spirit118 头像 Img=25,105×103,lpos(-194.5,87.5) Sprite sf=60da43f5-…;contentSize 105×103;Widget 16 hc=-194.5
Spirit484 按钮 Img=200(单帧),150×49,lpos(-197,-3.5) Sprite sf=26e33ced-…;contentSize 150×49;Widget 16 hc=-197
Spirit494 右上图标 Img=10,105×103,lpos(587.5,308.5) Sprite sf=dcc4530b-…;contentSize 105×103;Widget 16 hc=587.5
Spirit495 左下图标 Img=10,105×103,lpos(-587.5,-308.5) Sprite sf=dcc4530b-…;contentSize 105×103;Widget 16 hc=-587.5
Spirit3156 签名底 Img=407(九宫格),391×79,lpos(77.5,-129.5) Sprite sf=92947828-… type=SLICED;contentSize 391×79;Widget 16 hc=77.5
Spirit196 文字 FontSize=14 黑,75×25,lpos(-80.5,149.5) Label fontSize=14 color=黑(0,0,0,255);Text="Spirit196"(占位)
Spirit197 文字 FontSize=14 黑,75×25,lpos(-80.5,114.5) Label fontSize=14 color=黑;Text="Spirit766"(占位)
Spirit198 文字 FontSize=14 黑,75×25,lpos(-80.5,79.5) Label fontSize=14 color=黑;Text="Spirit766"(占位)
Spirit199 文字 FontSize=14 黑,75×25,lpos(-80.5,44.5) Label fontSize=14 color=黑;Text="Spirit766"(占位)
Spirit200 文字 FontSize=14 黑,75×25,lpos(-80.5,-25.5) Label fontSize=14 color=黑;Text="Spirit766"(占位)
Spirit510 文字 FontSize=14 黑,75×25,lpos(-80.5,9.5) Label fontSize=14 color=黑;Text="Spirit766"(占位)
Spirit3152 个性签名 FontSize=14 黑,75×25,lpos(-80.5,-61.5) Label fontSize=14 color=黑;Text="Spirit766"(占位)
Spirit3157 文字 FontSize=14 黑,75×25,lpos(-66.5,-113.5) Label fontSize=14 color=黑;Text="Spirit766"(占位)

脚本驱动要点:

  • 单一 group-18:15 spirits 全在 group-18,无跨 group。
  • 全屏遮罩:Spirit116 Img=11(00011.png 4×4 通用遮罩拉伸),IsVisible=1(可见,异于 Layer8/18 的隐藏遮罩),Widget 45。运行时由脚本控制显隐。
  • 个人信息背景:Spirit117 SpiritType=5,Sprite type=SLICED + contentSize=592×402,源边框 70/70/70/70。⚠️ img=54 同图多边框(Layer2 用 100/80/100/80、Layer416 用 70/70/70/70),spriteFrame border 只能一套,延后(见 §1.9、图片映射 img=54 注)。
  • 头像:Spirit118 Img=25(00025.png 93×93),contentSize 105×103(拉伸)。
  • 边缘图标:Spirit494(右上 hc=587.5)、Spirit495(左下 hc=-587.5)均用 Img=10(00010.png 166×68)拉伸 105×103,贴屏幕边缘(疑关闭/装饰,按需绑定)。
  • 签名底:Spirit3156 SpiritType=5,img=407(00407.png 354×67),边框 20/20/20/20,Sprite type=SLICED + contentSize=391×79。⚠️ 边框延后(见 §1.9)。
  • 动态文本:8 个 Label 全是黑色(FontColor=#000000,FontSize=14),Text 均为占位("Spirit196" / "Spirit766"),运行时替换为玩家昵称、ID、个性签名等实际信息。见 4.1。
  • 可点击:全部 CanClick=1、XML EventList 空,按语义绑定 Spirit116 遮罩(点击关闭)、Spirit484 按钮、Spirit494/495 边缘图标(见 4.2)。

3.31 Layer21_RankList.prefab(rankList_Layer,排行榜列表)

源 Layer00021.xml:20 spirits,GroupID=84。排行榜列表弹窗,22 节点(1 root + 1 group + 20 children),13 Sprite + 7 Label。

Layer21_RankList             UITransform 1600×720  Widget 45
└─ group-84                  UITransform 1600×720  Widget 45
   ├─ Spirit605 遮罩         UITransform 1600×720  Widget 45(全屏拉伸)
   ├─ Spirit606 背景         UITransform 1100×692  Widget 16 (hc=0)      [9-slice]
   ├─ Spirit607 列表底       UITransform 465×511   Widget 16 (hc=-269.5) [9-slice]
   ├─ Spirit608 竖线         UITransform 2×565     Widget 16 (hc=0)
   ├─ Spirit609 图标         UITransform 166×68    Widget 16 (hc=-397)
   ├─ Spirit610 底部栏       UITransform 420×87    Widget 16 (hc=-304)   [9-slice]
   ├─ Spirit629 箭头         UITransform 88×93     Widget 16 (hc=-487)
   ├─ Spirit630 头像框       UITransform 65×65     Widget 16 (hc=-387.5)
   ├─ Spirit631 名次图标     UITransform 80×80     Widget 16 (hc=-388)
   ├─ Spirit634 头像框       UITransform 105×105   Widget 16 (hc=111.5)
   ├─ Spirit635 装饰         UITransform 70×72     Widget 16 (hc=24)
   ├─ Spirit639 小图标       UITransform 44×40     Widget 16 (hc=230)
   ├─ Spirit3234 标题        UITransform 403×76    Widget 16 (hc=0.5)
   ├─ Spirit632 文字         UITransform 195×25    Widget 16 (hc=-222.5) [Label]
   ├─ Spirit633 文字         UITransform 75×25     Widget 16 (hc=-282.5) [Label]
   ├─ Spirit636 文字         UITransform 84×28     Widget 16 (hc=250)    [Label]
   ├─ Spirit637 文字         UITransform 84×28     Widget 16 (hc=250)    [Label]
   ├─ Spirit638 文字         UITransform 84×28     Widget 16 (hc=312)    [Label]
   ├─ Spirit640 文字         UITransform 84×28     Widget 16 (hc=86)     [Label 暗红]
   └─ Spirit641 文字         UITransform 84×28     Widget 16 (hc=86)     [Label 暗红]

节点表(20 个:13 Sprite + 7 Label):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit605 遮罩 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45
Spirit606 背景 Img=2(九宫格),1100×692,lpos(0,8) Sprite sf=8eb7acc3-… type=SLICED;contentSize 1100×692;Widget 16 hc=0
Spirit607 列表底 Img=42(九宫格),465×511,lpos(-269.5,-37.5) Sprite sf=34daf5f4-… type=SLICED;contentSize 465×511;Widget 16 hc=-269.5
Spirit608 竖线 Img=235,2×565,lpos(0,0.5) Sprite sf=2c1a10fe-…;contentSize 2×565;Widget 16 hc=0
Spirit609 图标 Img=10,166×68,lpos(-397,184) Sprite sf=dcc4530b-…;contentSize 166×68;Widget 16 hc=-397
Spirit610 底部栏 Img=234(九宫格),420×87,lpos(-304,-423.5) Sprite sf=fe744ec6-… type=SLICED;contentSize 420×87;Widget 16 hc=-304
Spirit629 箭头 Img=233 帧 1,88×93,lpos(-487,-421.5) Sprite sf=fb86ab44-…;contentSize 88×93;Widget 16 hc=-487
Spirit630 头像框 Img=116,65×65,lpos(-387.5,-423.5) Sprite sf=0c7ab485-…;contentSize 65×65;Widget 16 hc=-387.5
Spirit631 名次图标 Img=106,80×80,lpos(-388,-423) Sprite sf=b6310388-…;contentSize 80×80;Widget 16 hc=-388
Spirit634 头像框 Img=116,105×105,lpos(111.5,148.5) Sprite sf=0c7ab485-…;contentSize 105×105;Widget 16 hc=111.5
Spirit635 装饰 Img=24,70×72,lpos(24,453) Sprite sf=7863c037-…;contentSize 70×72;Widget 16 hc=24
Spirit639 小图标 Img=204 帧 1,44×40,lpos(230,99) Sprite sf=6b9ad554-…;contentSize 44×40;Widget 16 hc=230
Spirit3234 标题 Img=425 帧 1,403×76,lpos(0.5,304) Sprite sf=97b4bd7f-…;contentSize 403×76;Widget 16 hc=0.5
Spirit632 文字 FontSize=14 黑,195×25,lpos(-222.5,-406.5) Label fontSize=14 color=黑;Text="色丰富飞的放到的是是 "(占位)
Spirit633 文字 FontSize=14 黑,75×25,lpos(-282.5,-439.5) Label fontSize=14 color=黑;Text="Spirit632"(占位)
Spirit636 文字 FontSize=16 黑,84×28,lpos(250,195) Label fontSize=16 color=黑;Text="Spirit632"(占位)
Spirit637 文字 FontSize=16 黑,84×28,lpos(250,147) Label fontSize=16 color=黑;Text="Spirit632"(占位)
Spirit638 文字 FontSize=16 黑,84×28,lpos(312,99) Label fontSize=16 color=黑;Text="Spirit632"(占位)
Spirit640 文字 FontSize=16 暗红,84×28,lpos(86,-111) Label fontSize=16 color=#6C130F(108,19,15);Text="Spirit632"(占位)
Spirit641 文字 FontSize=16 暗红,84×28,lpos(86,24) Label fontSize=16 color=#6C130F(108,19,15);Text="Spirit632"(占位)

脚本驱动要点:

  • 单一 group-84:20 spirits 全在 group-84,无跨 group。
  • 全屏遮罩:Spirit605 Img=11(00011.png 4×4 通用遮罩拉伸),IsVisible=1(可见),Widget 45。
  • 排行榜背景:Spirit606 SpiritType=5,img=2(00002.png 597×446),边框 55/45/55/45,Sprite type=SLICED + contentSize=1100×692。⚠️ img=2 同图多边框(见图片映射 img=2 注),spriteFrame border 延后。
  • 列表底:Spirit607 SpiritType=5,img=42(00042.png),边框 53/48/53/48(同 Layer606 投票底),Sprite type=SLICED + contentSize=465×511。
  • 底部栏:Spirit610 SpiritType=5,img=234(00234.png 420×87),边框 200/43/200/43,Sprite type=SLICED + contentSize=420×87。⚠️ 边框延后。
  • 竖线分隔:Spirit608 Img=235(00235.png 2×565 细竖线),contentSize 2×565,排行榜左右分区。
  • 帧 sprite:Spirit629(img=233 帧 1 箭头)、Spirit639(img=204 帧 1 小图标)、Spirit3234(img=425 帧 1 标题)。
  • ⚠️ 源数据越界(逐字复刻,不兜底):底部栏/箭头/头像框/文字(Spirit610/629/630/631/632/633,源 Top=740~787)lpos.y 落在屏幕下方(-406~-439);Spirit635(源 Top=-129)lpos.y=453 落在屏幕上方。均按源坐标逐字复刻(数据源权威,下游不兜底),运行时脚本按实际列表内容重新布局。
  • 动态文本:7 个 Label Text 均为占位("Spirit632" / "色丰富飞的放到的是是 "),运行时替换为排行榜条目(玩家昵称、分数等)。Spirit640/641 用暗红色(#6C130F,R=108/G=19/B=15)标名次,其余黑色。见 4.1。
  • 可点击:全部 CanClick=1、XML EventList 空,按语义绑定 Spirit605 遮罩(点击关闭)、Spirit629 箭头(翻页/返回)、列表条目(见 4.2)。

3.32 Layer12_CombatLayer.prefab(CombatLayer,战绩弹窗)

源 Layer00012.xml:27 spirits,GroupID=7/8/9。战绩弹窗(标题区常驻 + 两页内容纵向滑动),31 节点(1 root + 3 group + 27 children),21 Sprite + 6 Label。

Layer12_CombatLayer          UITransform 1600×720  Widget 45
├─ group-7                   UITransform 1600×720  Widget 45(标题区 9 节点)
│  ├─ Spirit49 遮罩          UITransform 1600×720  Widget 45(全屏拉伸)
│  ├─ Spirit48 背景          UITransform 1231×692  Widget 16 (hc=0.5)    [9-slice]
│  ├─ Spirit70 标题          UITransform 510×138   Widget 16 (hc=379)
│  ├─ Spirit683              UITransform 106×26    Widget 16 (hc=238)
│  ├─ Spirit684              UITransform 14×22     Widget 16 (hc=308)    [帧动画]
│  ├─ Spirit685              UITransform 45×25     Widget 16 (hc=-176.5) [Label 黄]
│  ├─ Spirit689              UITransform 403×76    Widget 16 (hc=-214.5)
│  ├─ Spirit83               UITransform 576×77    Widget 16 (hc=0)
│  └─ Spirit82               UITransform 289×26    Widget 16 (hc=-379.5)
├─ group-8                   UITransform 1600×720  Widget 45(战绩页一 10 节点)
│  ├─ Spirit50 底            UITransform 1073×100  Widget 16 (hc=-91.5)
│  ├─ Spirit52 前景          UITransform 800×200   Widget 16 (hc=-204)
│  ├─ Spirit53 返回          UITransform 292×102   Widget 16 (hc=-247)
│  ├─ Spirit63 底            UITransform 300×100   Widget 16 (hc=-426)
│  ├─ Spirit64 横条          UITransform 1152×158  Widget 16 (hc=20)
│  ├─ Spirit65 文字          UITransform 76×25     Widget 16 (hc=-469)    [Label]
│  ├─ Spirit66 文字          UITransform 76×25     Widget 16 (hc=-360)    [Label]
│  ├─ Spirit67 文字          UITransform 10×25     Widget 16 (hc=-191)    [Label 白]
│  ├─ Spirit51 详情1         UITransform 70×141    Widget 16 (hc=537)
│  └─ Spirit86 分隔线        UITransform 697×2     Widget 16 (hc=129.5)
└─ group-9                   UITransform 1600×720  Widget 45(战绩页二 8 节点)
   ├─ Spirit57 底            UITransform 1073×100  Widget 16 (hc=-166.5)
   ├─ Spirit56 前景          UITransform 800×200   Widget 16 (hc=-302)
   ├─ Spirit87 底            UITransform 300×100   Widget 16 (hc=-392)
   ├─ Spirit88 横条          UITransform 1152×158  Widget 16 (hc=28)
   ├─ Spirit54 查牌          UITransform 70×141    Widget 16 (hc=552)
   ├─ Spirit89 文字          UITransform 128×42    Widget 16 (hc=-396)    [Label]
   ├─ Spirit90 文字          UITransform 76×25     Widget 16 (hc=-143)    [Label 白]
   └─ Spirit91 分隔线        UITransform 697×2     Widget 16 (hc=144.5)

group-7 标题区(9 节点:7 Sprite + 2 Label):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit49 战绩页一遮罩 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45
Spirit48 战绩背景 Img=353(九宫格),1231×692,lpos(0.5,0) Sprite sf=064548fb-… type=SLICED;contentSize 1231×692;Widget 16 hc=0.5
Spirit70 战绩标题 Img=40,510×138,lpos(379,568) Sprite sf=05398908-…;contentSize 510×138;Widget 16 hc=379
Spirit683 Spirit683 Img=171(fi=0→帧1),106×26,lpos(238,-306) Sprite sf=372dab1a-…;contentSize 106×26;Widget 16 hc=238
Spirit684 Spirit684 Img=172 帧 1(FrameStyle=1 帧动画),14×22,lpos(308,-306) Sprite sf=eaf82c8a-…;contentSize 14×22;Widget 16 hc=308
Spirit685 Spirit685 45×25,lpos(-176.5,-305.5) Label fontSize=14 color=#E4EA1E(228,234,30);Text=" "(9 空格装饰)
Spirit689 Spirit689 Img=6 帧 1,403×76,lpos(-214.5,557) Sprite sf=e72b79a6-…;contentSize 403×76;Widget 16 hc=-214.5
Spirit83 Spirit83 Img=357 帧 1,576×77,lpos(0,296.5) Sprite sf=f9adb6d0-…;contentSize 576×77;Widget 16 hc=0
Spirit82 Spirit82 Img=355 帧 1(fi=0→帧1),289×26,lpos(-379.5,-306) Sprite sf=99f3ce26-…;contentSize 289×26;Widget 16 hc=-379.5

group-8 战绩页一(10 节点:8 Sprite + 2 Label):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit50 战绩页一底 Img=10,1073×100,lpos(-91.5,-482) Sprite sf=dcc4530b-…;contentSize 1073×100;Widget 16 hc=-91.5
Spirit52 战绩前景 Img=10,800×200,lpos(-204,-762) Sprite sf=dcc4530b-…;contentSize 800×200;Widget 16 hc=-204
Spirit53 战绩页一返回 Img=34 帧 2,292×102,lpos(-247,-611) Sprite sf=65ec6a90-…;contentSize 292×102;Widget 16 hc=-247
Spirit63 战绩页1底 Img=10(Frame=2 回绕帧1),300×100,lpos(-426,196) Sprite sf=dcc4530b-…;contentSize 300×100;Widget 16 hc=-426
Spirit64 战绩页1横条 Img=23(Frame=2 回绕帧1),1152×158,lpos(20,-516) Sprite sf=27ec9c8a-…;contentSize 1152×158;Widget 16 hc=20
Spirit65 战绩文字内容 76×25,lpos(-469,-475.5) Label fontSize=14 color=黑;Text="战绩文字"(占位)
Spirit66 Spirit66 76×25,lpos(-360,-477.5) Label fontSize=14 color=黑;Text="战绩文字"(占位)
Spirit67 Spirit67 10×25,lpos(-191,-479.5) Label fontSize=14 color=白;Text="a"(占位)
Spirit51 详情1 Img=35 帧 1,70×141,lpos(537,-512.5) Sprite sf=ecfcc3d2-…;contentSize 70×141;Widget 16 hc=537
Spirit86 Spirit86 Img=356(Frame=1 回绕帧1),697×2,lpos(129.5,-515) Sprite sf=c31c03c5-…;contentSize 697×2;Widget 16 hc=129.5

group-9 战绩页二(8 节点:6 Sprite + 2 Label):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit57 战绩页二底 Img=10,1073×100,lpos(-166.5,-551) Sprite sf=dcc4530b-…;contentSize 1073×100;Widget 16 hc=-166.5
Spirit56 战绩页二前景 Img=10,800×200,lpos(-302,-804) Sprite sf=dcc4530b-…;contentSize 800×200;Widget 16 hc=-302
Spirit87 Spirit87 Img=10(Frame=2 回绕帧1),300×100,lpos(-392,176) Sprite sf=dcc4530b-…;contentSize 300×100;Widget 16 hc=-392
Spirit88 Spirit88 Img=23(Frame=2 回绕帧1),1152×158,lpos(28,-625) Sprite sf=27ec9c8a-…;contentSize 1152×158;Widget 16 hc=28
Spirit54 查牌 Img=35 帧 2,70×141,lpos(552,-619.5) Sprite sf=d1f31383-…;contentSize 70×141;Widget 16 hc=552
Spirit89 Spirit89 128×42,lpos(-396,-618) Label fontSize=24 color=黑;Text="战绩文字"(占位)
Spirit90 Spirit90 76×25,lpos(-143,-592.5) Label fontSize=14 color=白;Text="昵称积分"(占位)
Spirit91 Spirit91 Img=356(Frame=1 回绕帧1),697×2,lpos(144.5,-628) Sprite sf=c31c03c5-…;contentSize 697×2;Widget 16 hc=144.5

脚本驱动要点:

  • 三 group 滑动页:group-7 标题区(常驻顶部)、group-8 战绩页一、group-9 战绩页二。源数据把两页内容用负 Y(Top 大 → lpos.y 落屏幕下方)错开:group-8 底 lpos.y=-482、前景 -762,group-9 底 -551、前景 -804,形成「标题区常驻 + 两页纵向滑动切换」的设计。脚本按页显隐/滑动 group-8/group-9。
  • 全屏遮罩:Spirit49 Img=11(00011.png 4×4 通用遮罩拉伸),IsVisible=1(可见),Widget 45。
  • 九宫格背景:Spirit48 SpiritType=5,Img=353(00353.png 1231×692),边框 250/200/346/245,Sprite type=SLICED + contentSize=1231×692。⚠️ 边框延后(见图片映射 img=353,改 spriteFrame .meta 需先征同意)。
  • 帧动画:Spirit684 FrameStyle=1,Img=172(00172_*.png 10 帧 14×22),fi=1 → 帧 1(00172_01.png),战绩装饰动画。
  • 帧号循环取模:img=10/23/356(frame_all=1)的 FrameIndex(2/1)循环回绕帧 1 直接用 bmp;img=6/34/35/171/172/355/357 多帧按 fi 取帧,fi=0 → 帧 1(见 1.10)。Spirit51 详情1 帧 1、Spirit54 查牌 帧 2(同一 img=35 两帧)。
  • 动态文本:6 个 Label 占位("战绩文字"/"a"/"昵称积分"/" "),运行时替换为战绩数据(对局结果、昵称、积分等)。Spirit67/90 白字(昵称/积分值)、Spirit65/66/89 黑字(列标题/内容)、Spirit685 黄色 9 空格(装饰/隐藏用途)。见 4.1。
  • 可点击:全部 CanClick=1、XML EventList 空,按语义绑定 Spirit49 遮罩(点击关闭)、Spirit53 返回、Spirit51 详情、Spirit54 查牌,其余装饰按需(见 4.2)。

3.33 Layer7_ewm.prefab(ewm_Layer,二维码弹窗)

源 Layer00007.xml:30 spirits,GroupID=104/105(另 1 个 G=0)。二维码弹窗(两个结构对称的弹窗 + 一个全局帧动画),33 节点(1 root + 2 group + 30 children),23 Sprite + 7 Label。⚠️ 全部 spirit 无语义名(XML Name 均为 Spirit{N}),按钮/文字语义需按结构位置推断。

Layer7_ewm                  UITransform 1600×720  Widget 45
├─ group-104                UITransform 1600×720  Widget 45(二维码弹窗一 17 节点)
│  ├─ Spirit3200 遮罩       UITransform 1600×720  Widget 45(全屏拉伸)
│  ├─ Spirit3201 背景       UITransform 453×621   Widget 16 (hc=0.5)    [9-slice]
│  ├─ Spirit3202 标题小字   UITransform 78×26     Widget 16 (hc=0)
│  ├─ Spirit3204 内容底     UITransform 427×301   Widget 16 (hc=0.5)
│  ├─ Spirit3211 内容底     UITransform 455×142   Widget 16 (hc=3.5)
│  ├─ Spirit3213 内容底     UITransform 460×199   Widget 16 (hc=2)
│  ├─ Spirit3203 关闭       UITransform 100×100   Widget 16 (hc=185)
│  ├─ Spirit3205 标题       UITransform 316×49    Widget 16 (hc=0)      [9-slice]
│  ├─ Spirit3206 按钮       UITransform 79×41     Widget 16 (hc=66.5)
│  ├─ Spirit3207 底         UITransform 420×49    Widget 16 (hc=-69)    [9-slice]
│  ├─ Spirit3208 按钮       UITransform 79×41     Widget 16 (hc=94.5)
│  ├─ Spirit3209 文字       UITransform 85×25     Widget 16 (hc=-210.5) [Label]
│  ├─ Spirit3210 底         UITransform 403×55    Widget 16 (hc=0.5)
│  ├─ Spirit3212 文字       UITransform 9×25      Widget 16 (hc=-134.5) [Label]
│  ├─ Spirit3216 按钮       UITransform 79×41     Widget 16 (hc=-69.5)
│  ├─ Spirit3260 图标       UITransform 50×50     Widget 16 (hc=-176)
│  └─ Spirit3261 文字       UITransform 7×21      Widget 16 (hc=-141.5) [Label]
├─ group-105                UITransform 1600×720  Widget 45(二维码弹窗二 12 节点)
│  ├─ Spirit3218 遮罩       UITransform 1600×720  Widget 45(全屏拉伸)
│  ├─ Spirit3219 背景       UITransform 453×621   Widget 16 (hc=0.5)    [9-slice]
│  ├─ Spirit3224 文字       UITransform 85×25     Widget 16 (hc=-33.5)  [Label 白]
│  ├─ Spirit3227 内容底     UITransform 425×468   Widget 16 (hc=0.5)
│  ├─ Spirit3220 内容底     UITransform 455×142   Widget 16 (hc=0.5)
│  ├─ Spirit3221 内容底     UITransform 460×116   Widget 16 (hc=0)
│  ├─ Spirit3222 关闭       UITransform 100×100   Widget 16 (hc=201)
│  ├─ Spirit3223 底         UITransform 420×49    Widget 16 (hc=-5)     [9-slice]
│  ├─ Spirit3225 底         UITransform 420×49    Widget 16 (hc=3)      [9-slice]
│  ├─ Spirit3226 文字       UITransform 85×25     Widget 16 (hc=-148.5) [Label]
│  ├─ Spirit3229 文字       UITransform 85×25     Widget 16 (hc=-69.5)  [Label]
│  └─ Spirit3230 文字       UITransform 85×25     Widget 16 (hc=54.5)   [Label]
└─ Spirit3228 帧动画        UITransform 25×36     Widget 16 (hc=-204.5)

group-104 二维码弹窗一(17 节点:14 Sprite + 3 Label):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit3200 遮罩 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45
Spirit3201 背景 Img=411(九宫格),453×621,lpos(0.5,-0.5) Sprite sf=51c575a7-… type=SLICED;contentSize 453×621;Widget 16 hc=0.5
Spirit3202 标题小字 Img=414 帧 1,78×26,lpos(0,278) Sprite sf=0b495d59-…;contentSize 78×26;Widget 16 hc=0
Spirit3204 内容底 Img=10,427×301,lpos(0.5,-82.5) Sprite sf=dcc4530b-…;contentSize 427×301;Widget 16 hc=0.5
Spirit3211 内容底 Img=10,455×142,lpos(3.5,-289) Sprite sf=dcc4530b-…;contentSize 455×142;Widget 16 hc=3.5
Spirit3213 内容底 Img=10,460×199,lpos(2,260.5) Sprite sf=dcc4530b-…;contentSize 460×199;Widget 16 hc=2
Spirit3203 关闭 Img=415,100×100,lpos(185,281) Sprite sf=fe285a2f-…;contentSize 100×100;Widget 16 hc=185
Spirit3205 标题 Img=412(九宫格),316×49,lpos(0,209.5) Sprite sf=0ca224e1-… type=SLICED;contentSize 316×49;Widget 16 hc=0
Spirit3206 按钮 Img=413 帧 2,79×41,lpos(66.5,156.5) Sprite sf=b6ea7c41-…;contentSize 79×41;Widget 16 hc=66.5
Spirit3207 底 Img=419(九宫格),420×49,lpos(-69,-464.5) Sprite sf=050eaa6d-… type=SLICED;contentSize 420×49;Widget 16 hc=-69
Spirit3208 按钮 Img=413 帧 1,79×41,lpos(94.5,-464.5) Sprite sf=940bbbba-…;contentSize 79×41;Widget 16 hc=94.5
Spirit3209 文字 85×25,lpos(-210.5,-464.5) Label fontSize=14 color=黑;Text="Spirit3209"(占位)
Spirit3210 底 Img=416,403×55,lpos(0.5,-270.5) Sprite sf=154011e6-…;contentSize 403×55;Widget 16 hc=0.5
Spirit3212 文字 9×25,lpos(-134.5,209.5) Label fontSize=14 color=黑;Text="s"(占位)
Spirit3216 按钮 Img=413 帧 1,79×41,lpos(-69.5,156.5) Sprite sf=940bbbba-…;contentSize 79×41;Widget 16 hc=-69.5
Spirit3260 图标 Img=432 帧 1,50×50,lpos(-176,104) Sprite sf=018c5320-…;contentSize 50×50;Widget 16 hc=-176
Spirit3261 文字 7×21,lpos(-141.5,103.5) Label fontSize=12 color=黑;Text="s"(占位)

group-105 二维码弹窗二(12 节点:8 Sprite + 4 Label):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit3218 遮罩 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45
Spirit3219 背景 Img=411(九宫格),453×621,lpos(0.5,-0.5) Sprite sf=51c575a7-… type=SLICED;contentSize 453×621;Widget 16 hc=0.5
Spirit3224 文字 85×25,lpos(-33.5,278.5) Label fontSize=14 color=白;Text="Spirit3224"(占位)
Spirit3227 内容底 Img=10,425×468,lpos(0.5,6) Sprite sf=dcc4530b-…;contentSize 425×468;Widget 16 hc=0.5
Spirit3220 内容底 Img=10,455×142,lpos(0.5,-305) Sprite sf=dcc4530b-…;contentSize 455×142;Widget 16 hc=0.5
Spirit3221 内容底 Img=10,460×116,lpos(0,300) Sprite sf=dcc4530b-…;contentSize 460×116;Widget 16 hc=0
Spirit3222 关闭 Img=415,100×100,lpos(201,279) Sprite sf=fe285a2f-…;contentSize 100×100;Widget 16 hc=201
Spirit3223 底 Img=419(九宫格),420×49,lpos(-5,-400.5) Sprite sf=050eaa6d-… type=SLICED;contentSize 420×49;Widget 16 hc=-5
Spirit3225 底 Img=420(九宫格),420×49,lpos(3,-274.5) Sprite sf=9222540c-… type=SLICED;contentSize 420×49;Widget 16 hc=3
Spirit3226 文字 85×25,lpos(-148.5,-274.5) Label fontSize=14 color=黑;Text="Spirit3226"(占位)
Spirit3229 文字 85×25,lpos(-69.5,-400.5) Label fontSize=14 color=黑;Text="Spirit3226"(占位)
Spirit3230 文字 85×25,lpos(54.5,-402.5) Label fontSize=14 color=黑;Text="Spirit3226"(占位)

root 下全局节点(1 个):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit3228 帧动画 Img=417 帧 1(FrameStyle=1 帧动画),25×36,lpos(-204.5,-389) Sprite sf=0c2d691f-…;contentSize 25×36;Widget 16 hc=-204.5

脚本驱动要点:

  • 双弹窗结构对称:group-104(17 节点)与 group-105(12 节点)是两个结构相近的二维码弹窗(背景/关闭/内容底/文字一致),区别在 group-104 多标题(Spirit3205/3202)、3 个按钮(Spirit3206/3208/3216)、图标(Spirit3260)。脚本按业务显隐/切换两个 group(如「绑定二维码」vs「支付/分享二维码」)。
  • 全屏遮罩:Spirit3200/3218 Img=11(00011.png 4×4 通用遮罩拉伸),Widget 45,两个弹窗各一个。
  • 九宫格背景:Spirit3201/3219 Img=411(00411.png 182×188),边框 90/90/90/90,Sprite type=SLICED + contentSize=453×621。Spirit3205 Img=412(边框 95/20/95/20 标题),Spirit3207/3223 Img=419、Spirit3225 Img=420(边框 55/20/55/20 底/列表)。⚠️ 四处九宫格边框均延后(改 spriteFrame .meta 需先征同意)。
  • 帧动画:Spirit3228 FrameStyle=1,Img=417(00417_*.png 13 帧 25×36),fi=1 → 帧 1(00417_01.png),挂 root 的全局动画(光标/加载指示)。⚠️ 无 GroupID(G=0),不随两弹窗显隐。
  • 帧号循环取模:img=10/11/415/416(frame_all=1)的 FrameIndex(1/2)循环回绕帧 1 直接用 bmp;img=413/414/432 多帧按 fi 取帧(fi=1→帧1、fi=2→帧2)。见 1.10。Spirit3206 帧 2、Spirit3208/3216 帧 1(img=413 同图两帧,语义为按钮两态)。
  • 动态文本:7 个 Label 占位("Spirit3209"/"s"/"Spirit3224"/"Spirit3226"×3/"s"),运行时替换为二维码相关文字(提示语、链接、验证码等)。Spirit3224 白字(标题/高亮),其余黑字。见 4.1。
  • 可点击:全部 CanClick=1、XML EventList 空,且无语义名,按结构推断——Spirit3200/3218 遮罩(点击关闭)、Spirit3203/3222 关闭按钮、Spirit3206/3208/3216 按钮(img=413 两态,按需绑定),其余装饰/文本按需(见 4.2)。

3.34 Layer9_Feedback.prefab(Feedback_Layer,反馈/通知/二维码/房间列表)

源 Layer00009.xml:34 spirits,GroupID=74/12/42/98。四功能弹窗层(反馈 + 通知 + 二维码 + 房间列表),39 节点(1 root + 4 group + 34 children),32 Sprite + 2 Label。

Layer9_Feedback             UITransform 1600×720  Widget 45
├─ group-74                 UITransform 1600×720  Widget 45(反馈弹窗 7 节点)
│  ├─ 反馈遮罩              UITransform 1600×720  Widget 45(全屏拉伸)
│  ├─ 反馈背景              UITransform 1200×200  Widget 16 (hc=0)     [9-slice]
│  ├─ 反馈提交              UITransform 135×80    Widget 16 (hc=497.5)
│  ├─ 反馈输入内容          UITransform 950×90    Widget 16 (hc=-77)   [Label]
│  ├─ Spirit3266            UITransform 135×80    Widget 16 (hc=494.5)
│  ├─ Spirit3265            UITransform 135×80    Widget 16 (hc=494.5)
│  └─ 反馈标题              UITransform 181×70    Widget 16 (hc=23.5)
├─ group-12                 UITransform 1600×720  Widget 45(通知 17 节点)
│  ├─ 通知遮罩              UITransform 1600×720  Widget 45(全屏拉伸)
│  ├─ 通知背景              UITransform 1029×603  Widget 16 (hc=0.5)   [9-slice]
│  ├─ Spirit404             UITransform 50×50     Widget 16 (hc=-207)
│  ├─ 通知内容              UITransform 21×28     Widget 16 (hc=-219.5)[Label]
│  ├─ Spirit576             UITransform 250×40    Widget 16 (hc=350)
│  ├─ Spirit3102            UITransform 752×470   Widget 16 (hc=101)
│  ├─ Spirit3105            UITransform 770×400   Widget 16 (hc=-22)
│  ├─ Spirit3106            UITransform 770×400   Widget 16 (hc=-6)
│  ├─ 通知标题              UITransform 510×138   Widget 16 (hc=-122)
│  ├─ 通知关闭              UITransform 83×84     Widget 16 (hc=220.5)
│  ├─ 通知标题内容          UITransform 403×76    Widget 16 (hc=0.5)
│  ├─ Spirit570/571/572     UITransform 236×100   Widget 16 (hc=-376)
│  └─ Spirit573/574/575     UITransform 125×40    Widget 16 (hc=-379.5)
├─ group-42                 UITransform 1600×720  Widget 45(二维码 5 节点)
│  ├─ 二维码遮罩            UITransform 1600×720  Widget 45(全屏拉伸)
│  ├─ Spirit342             UITransform 955×640   Widget 16 (hc=0.5)   [9-slice]
│  ├─ Spirit343             UITransform 321×287   Widget 16 (hc=115.5)
│  ├─ Spirit344             UITransform 371×51    Widget 16 (hc=-293.5)
│  └─ Spirit345             UITransform 315×74    Widget 16 (hc=115.5)
└─ group-98                 UITransform 1600×720  Widget 45(房间列表 5 节点)
   ├─ Spirit103             UITransform 1600×720  Widget 45(全屏拉伸)
   ├─ 房间列表背景          UITransform 280×530   Widget 16 (hc=-500)  [9-slice]
   ├─ Spirit100             UITransform 264×80    Widget 16 (hc=-794)
   ├─ Spirit101             UITransform 100×50    Widget 16 (hc=-783)
   └─ Spirit102             UITransform 14×19     Widget 16 (hc=-755)

group-74 反馈弹窗(7 节点:6 Sprite + 1 Label):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit548 反馈遮罩 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45
Spirit549 反馈背景 Img=41(九宫格),1200×200,lpos(0,218) Sprite sf=3e7492cb-… type=SLICED;contentSize 1200×200;Widget 16 hc=0
Spirit550 反馈提交 Img=168,135×80,lpos(497.5,214) Sprite sf=6bc626b8-…;contentSize 135×80;Widget 16 hc=497.5
Spirit551 反馈输入内容 950×90,lpos(-77,214) Label fontSize=20 color=黑;Text=""(空,运行时填充)
Spirit3266 Spirit3266 Img=438 帧 1,135×80,lpos(494.5,176) Sprite sf=a933d0bf-…;contentSize 135×80;Widget 16 hc=494.5
Spirit3265 Spirit3265 Img=438 帧 2(源 Frame=8 回绕),135×80,lpos(494.5,258) Sprite sf=fdc6b65e-…;contentSize 135×80;Widget 16 hc=494.5
Spirit676 反馈标题 Img=169,181×70,lpos(23.5,483) Sprite sf=02d0a481-…;contentSize 181×70;Widget 16 hc=23.5

group-12 通知(17 节点:15 Sprite + 1 Label):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit77 通知遮罩 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45
Spirit78 通知背景 Img=346(九宫格),1029×603,lpos(0.5,-0.5) Sprite sf=03393c45-… type=SLICED;contentSize 1029×603;Widget 16 hc=0.5
Spirit404 Spirit404 Img=10(源 Frame=3 回绕帧 1),50×50,lpos(-207,167) Sprite sf=dcc4530b-…;contentSize 50×50;Widget 16 hc=-207
Spirit81 通知内容 21×28,lpos(-219.5,178) Label fontSize=16 color=#662910 (102,41,16);Text="消"(占位)
Spirit576 Spirit576 Img=218,250×40,lpos(350,-239) Sprite sf=ac88bed1-…;contentSize 250×40;Widget 16 hc=350
Spirit3102 Spirit3102 Img=338,752×470,lpos(101,-31) Sprite sf=200f41c0-…;contentSize 752×470;Widget 16 hc=101
Spirit3105 Spirit3105 Img=339,770×400,lpos(-22,-766) Sprite sf=cb2429ec-…;contentSize 770×400;Widget 16 hc=-22
Spirit3106 Spirit3106 Img=340,770×400,lpos(-6,-782) Sprite sf=dbeaba27-…;contentSize 770×400;Widget 16 hc=-6
Spirit79 通知标题 Img=40,510×138,lpos(-122,587) Sprite sf=05398908-…;contentSize 510×138;Widget 16 hc=-122
Spirit80 通知关闭 Img=33,83×84,lpos(220.5,452) Sprite sf=eedce6d7-…;contentSize 83×84;Widget 16 hc=220.5
Spirit692 通知标题内容 Img=6 帧 3,403×76,lpos(0.5,255) Sprite sf=5febca8f-…;contentSize 403×76;Widget 16 hc=0.5
Spirit570 Spirit570 Img=216 帧 2,236×100,lpos(-376,154) Sprite sf=a42d050f-…;contentSize 236×100;Widget 16 hc=-376
Spirit571 Spirit571 Img=216 帧 2,236×100,lpos(-376,62) Sprite sf=a42d050f-…;contentSize 236×100;Widget 16 hc=-376
Spirit572 Spirit572 Img=216 帧 2,236×100,lpos(-376,-30) Sprite sf=a42d050f-…;contentSize 236×100;Widget 16 hc=-376
Spirit573 Spirit573 Img=217 帧 1,125×40,lpos(-379.5,156) Sprite sf=87d01b20-…;contentSize 125×40;Widget 16 hc=-379.5
Spirit574 Spirit574 Img=217 帧 3,125×40,lpos(-379.5,63) Sprite sf=9fd0b3df-…;contentSize 125×40;Widget 16 hc=-379.5
Spirit575 Spirit575 Img=217 帧 5,125×40,lpos(-379.5,-28) Sprite sf=a972c966-…;contentSize 125×40;Widget 16 hc=-379.5

group-42 二维码(5 节点:5 Sprite):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit341 二维码遮罩 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45
Spirit342 Spirit342 Img=423(九宫格),955×640,lpos(0.5,0) Sprite sf=dfdcc5f5-… type=SLICED;contentSize 955×640;Widget 16 hc=0.5
Spirit343 Spirit343 Img=115,321×287,lpos(115.5,-49.5) Sprite sf=06403876-…;contentSize 321×287;Widget 16 hc=115.5
Spirit344 Spirit344 Img=114,371×51,lpos(-293.5,-476.5) Sprite sf=0c0c1c72-…;contentSize 371×51;Widget 16 hc=-293.5
Spirit345 Spirit345 Img=80,315×74,lpos(115.5,-280) Sprite sf=b1efcc9a-…;contentSize 315×74;Widget 16 hc=115.5

group-98 房间列表(5 节点:5 Sprite):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit103 Spirit103 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45
Spirit98 房间列表背景 Img=38(九宫格),280×530,lpos(-500,0) Sprite sf=083b1c88-… type=SLICED;contentSize 280×530;Widget 16 hc=-500
Spirit100 Spirit100 Img=50(源 Frame=8 回绕帧 1),264×80,lpos(-794,80) Sprite sf=5f783910-…;contentSize 264×80;Widget 16 hc=-794
Spirit101 Spirit101 Img=11(源 Frame=8 回绕帧 1),100×50,lpos(-783,237) Sprite sf=eabf148a-…;contentSize 100×50;Widget 16 hc=-783
Spirit102 Spirit102 Img=49 帧 1(FrameStyle=1 帧动画),14×19,lpos(-755,82.5) Sprite sf=9d49bb70-…;contentSize 14×19;Widget 16 hc=-755

脚本驱动要点:

  • 四弹窗独立显隐:group-74(反馈)/ group-12(通知)/ group-42(二维码)/ group-98(房间列表)是四个互斥的功能弹窗,脚本按业务显隐/切换各 group(如主界面「反馈」按钮 → 显 group-74,「通知」→ 显 group-12,「二维码」→ 显 group-42,「房间列表」→ 显 group-98)。
  • 全屏遮罩:Spirit548/77/341/103 各 group 一个 Img=11(00011.png 4×4 通用遮罩),Widget 45,点击关闭对应弹窗。
  • 九宫格背景:Spirit549 Img=41(边框 55/45/55/45 反馈背景,复用协议/绑定背景)、Spirit78 Img=346(边框 250/200/346/245 通知背景)、Spirit342 Img=423(边框 55/45/55/45 二维码背景)、Spirit98 Img=38(边框 50/50/50/50 房间列表背景)。⚠️ 四处九宫格边框均延后(改 spriteFrame .meta 需先征同意)。
  • 帧动画:Spirit102 FrameStyle=1,Img=49(00049_*.png 10 帧 14×19 数字 0-9),fi=1 → 帧 1(00049_01.png),运行时脚本按房间号逐位切 spriteFrame(数字帧动画,见 1.10)。
  • 帧号循环取模:img=438(frame_all=2)Spirit3265 源 Frame=8 → 回绕帧 2;img=10/11/50(frame_all=1)的 FrameIndex(3/8/8)循环回绕帧 1 直接用 bmp;img=6 帧 3、img=216 帧 2、img=217 帧 1/3/5 按 fi 取帧。见 1.10。
  • 动态文本:2 个 Label——Spirit551 反馈输入内容("" 空,fs=20 黑,运行时填充用户输入)、Spirit81 通知内容("消" 占位,fs=16 深棕 #662910,运行时替换为通知正文)。见 4.1。
  • 可点击:全部 CanClick=1、XML EventList 空——Spirit550 反馈提交(提交按钮)、Spirit548/77/341/103 遮罩(点击关闭)、Spirit80 通知关闭、Spirit100/101 房间列表项(进入房间)、Spirit570~575 通知条目/分类标签(查看通知/切换分类),按需绑定(见 4.2)。

3.35 Layer29_PhoneInfo.prefab(PhoneInfo_Layer,手机验证/白名单管理)

源 Layer00029.xml(UTF-8 编码):38 spirits,GroupID=106/108。双功能弹窗层(手机验证 + 白名单管理/搜索玩家),41 节点(1 root + 2 group + 38 children),28 Sprite + 10 Label。

Layer29_PhoneInfo           UITransform 1600×720  Widget 45
├─ group-106                UITransform 1600×720  Widget 45(手机验证弹窗 15 节点)
│  ├─ Spirit3241 遮罩       UITransform 1600×720  Widget 45(全屏拉伸,active=false)
│  ├─ Spirit3242 背景       UITransform 577×406   Widget 16 (hc=0.5)   [9-slice]
│  ├─ Spirit3243 输入框     UITransform 424×61    Widget 16 (hc=3)     [9-slice]
│  ├─ Spirit3244 输入框     UITransform 279×61    Widget 16 (hc=-58.5) [9-slice]
│  ├─ Spirit3245 验证码     UITransform 148×73    Widget 16 (hc=144)
│  ├─ Spirit3246 帧动画     UITransform 42×28     Widget 16 (hc=101)
│  ├─ Spirit3251 关闭       UITransform 83×84     Widget 16 (hc=273.5)
│  ├─ Spirit3253 确认       UITransform 197×73    Widget 16 (hc=0.5)
│  ├─ Spirit3252 主按钮     UITransform 284×84    Widget 16 (hc=0)
│  ├─ Spirit3249 标签       UITransform 181×26    Widget 16 (hc=-53.5)
│  ├─ Spirit3250 标签       UITransform 181×26    Widget 16 (hc=-53.5)
│  ├─ Spirit3247 帧动画     UITransform 21×28     Widget 16 (hc=-133.5)
│  ├─ Spirit3248 帧动画     UITransform 42×28     Widget 16 (hc=-123)
│  ├─ Spirit3262 图标       UITransform 45×62     Widget 16 (hc=-186.5)
│  └─ Spirit3263 图标       UITransform 45×62     Widget 16 (hc=-186.5)
└─ group-108                UITransform 1600×720  Widget 45(白名单管理/搜索玩家 23 节点)
   ├─ Spirit3270 遮罩       UITransform 1600×720  Widget 45(全屏拉伸)
   ├─ Spirit3271 背景       UITransform 591×621   Widget 16 (hc=0.5)   [9-slice]
   ├─ Spirit3272 内容底     UITransform 550×301   Widget 16 (hc=0)
   ├─ Spirit3273 内容底     UITransform 626×142   Widget 16 (hc=-2, active=false)
   ├─ Spirit3274 关闭       UITransform 100×100   Widget 16 (hc=261)
   ├─ Spirit3275 按钮       UITransform 173×49    Widget 16 (hc=-110.5)[9-slice]
   ├─ Spirit3276 按钮       UITransform 116×41    Widget 16 (hc=85)
   ├─ Spirit3277 底         UITransform 521×49    Widget 16 (hc=-14.5) [9-slice]
   ├─ Spirit3278 按钮       UITransform 79×41     Widget 16 (hc=194.5)
   ├─ Spirit3279 文本       UITransform 85×25     Widget 16 (hc=-206.5)[Label]
   ├─ Spirit3280 文本       UITransform 9×25      Widget 16 (hc=-177.5)[Label]
   ├─ Spirit3281 按钮       UITransform 79×41     Widget 16 (hc=-69.5)
   ├─ Spirit3282 按钮       UITransform 193×49    Widget 16 (hc=162.5) [9-slice]
   ├─ Spirit3283 文本       UITransform 9×25      Widget 16 (hc=89.5)  [Label]
   ├─ Spirit3284 标题       UITransform 135×35    Widget 16 (hc=0.5)   [Label]
   ├─ Spirit3285 标签       UITransform 57×25     Widget 16 (hc=-246.5)[Label]
   ├─ Spirit3286 标签       UITransform 57×25     Widget 16 (hc=18.5)  [Label]
   ├─ Spirit3287 按钮       UITransform 266×49    Widget 16 (hc=0)     [9-slice]
   ├─ Spirit3288 文本       UITransform 9×25      Widget 16 (hc=-105.5)[Label]
   ├─ Spirit3289 图标       UITransform 80×60     Widget 16 (hc=190)
   ├─ Spirit3290 标签       UITransform 76×25     Widget 16 (hc=-237)  [Label]
   ├─ Spirit3291 标签       UITransform 70×21     Widget 16 (hc=74)    [Label]
   └─ Spirit3292 文本       UITransform 85×25     Widget 16 (hc=8.5)   [Label]

group-106 手机验证弹窗(15 节点:15 Sprite):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit3241 遮罩 Img=11,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45;active=false(IsVisible=0)
Spirit3242 背景 Img=2(九宫格),577×406,lpos(0.5,0) Sprite sf=8eb7acc3-… type=SLICED;contentSize 577×406;Widget 16 hc=0.5
Spirit3243 输入框 Img=407(九宫格),424×61,lpos(3,39.5) Sprite sf=92947828-… type=SLICED;contentSize 424×61;Widget 16 hc=3
Spirit3244 输入框 Img=407(九宫格),279×61,lpos(-58.5,-44.5) Sprite sf=92947828-… type=SLICED;contentSize 279×61;Widget 16 hc=-58.5
Spirit3245 验证码按钮 Img=429 帧 2(Frame=2),148×73,lpos(144,-44.5) Sprite sf=1d3b6808-…;contentSize 148×73;Widget 16 hc=144
Spirit3246 帧动画 Img=433 帧 1(FrameText=12 回绕),42×28,lpos(101,-44) Sprite sf=62b9af40-…;contentSize 42×28;Widget 16 hc=101
Spirit3251 关闭 Img=33 帧 1,83×84,lpos(273.5,171) Sprite sf=eedce6d7-…;contentSize 83×84;Widget 16 hc=273.5
Spirit3253 确认 Img=34 帧 1,197×73,lpos(0.5,-131.5) Sprite sf=c8cc3782-…;contentSize 197×73;Widget 16 hc=0.5
Spirit3252 主按钮 Img=434 帧 1,284×84,lpos(0,157) Sprite sf=c0541eab-…;contentSize 284×84;Widget 16 hc=0
Spirit3249 标签 Img=436 帧 1,181×26,lpos(-53.5,40) Sprite sf=1441df71-…;contentSize 181×26;Widget 16 hc=-53.5
Spirit3250 标签 Img=436 帧 2,181×26,lpos(-53.5,-44) Sprite sf=b706d5cf-…;contentSize 181×26;Widget 16 hc=-53.5
Spirit3247 帧动画 Img=433 帧 1(FrameText=1),21×28,lpos(-133.5,40) Sprite sf=62b9af40-…;contentSize 21×28;Widget 16 hc=-133.5
Spirit3248 帧动画 Img=433 帧 1(FrameText=12 回绕),42×28,lpos(-123,-44) Sprite sf=62b9af40-…;contentSize 42×28;Widget 16 hc=-123
Spirit3262 图标 Img=435 帧 1,45×62,lpos(-186.5,40) Sprite sf=84faf20a-…;contentSize 45×62;Widget 16 hc=-186.5
Spirit3263 图标 Img=435 帧 2,45×62,lpos(-186.5,-44) Sprite sf=c6f6f99a-…;contentSize 45×62;Widget 16 hc=-186.5

group-108 白名单管理/搜索玩家(23 节点:13 Sprite + 10 Label):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit3270 遮罩 Img=11 帧 1,1280×720,lpos(0,0) Sprite sf=eabf148a-…;contentSize 1600×720;Widget 45
Spirit3271 背景 Img=411(九宫格),591×621,lpos(0.5,1.5) Sprite sf=51c575a7-… type=SLICED;contentSize 591×621;Widget 16 hc=0.5
Spirit3272 内容底 Img=10 帧 1,550×301,lpos(0,-80.5) Sprite sf=dcc4530b-…;contentSize 550×301;Widget 16 hc=0
Spirit3273 内容底 Img=10 帧 1,626×142,lpos(-2,-287) Sprite sf=dcc4530b-…;contentSize 626×142;Widget 16 hc=-2;active=false(IsVisible=0)
Spirit3274 关闭 Img=415 帧 1,100×100,lpos(261,285) Sprite sf=fe285a2f-…;contentSize 100×100;Widget 16 hc=261
Spirit3275 按钮 Img=412(九宫格),173×49,lpos(-110.5,159.5) Sprite sf=0ca224e1-… type=SLICED;contentSize 173×49;Widget 16 hc=-110.5
Spirit3276 按钮 Img=375 帧 2,116×41,lpos(85,104.5) Sprite sf=66044cac-…;contentSize 116×41;Widget 16 hc=85
Spirit3277 底 Img=419(九宫格),521×49,lpos(-14.5,-470.5) Sprite sf=050eaa6d-… type=SLICED;contentSize 521×49;Widget 16 hc=-14.5
Spirit3278 按钮 Img=413 帧 1,79×41,lpos(194.5,-470.5) Sprite sf=940bbbba-…;contentSize 79×41;Widget 16 hc=194.5
Spirit3279 文本 85×25,lpos(-206.5,-470.5) Label fontSize=14 color=黑;Text="Spirit3209"(占位)
Spirit3280 文本 9×25,lpos(-177.5,159.5) Label fontSize=14 color=黑;Text="s"(占位)
Spirit3281 按钮 Img=413 帧 1,79×41,lpos(-69.5,104.5) Sprite sf=940bbbba-…;contentSize 79×41;Widget 16 hc=-69.5
Spirit3282 按钮 Img=412(九宫格),193×49,lpos(162.5,159.5) Sprite sf=0ca224e1-… type=SLICED;contentSize 193×49;Widget 16 hc=162.5
Spirit3283 文本 9×25,lpos(89.5,159.5) Label fontSize=14 color=黑;Text="s"(占位)
Spirit3284 标题 135×35,lpos(0.5,278.5) Label fontSize=20 color=白;Text="白名单管理"(静态标题)
Spirit3285 标签 57×25,lpos(-246.5,159.5) Label fontSize=14 color=黑;Text="玩家ID"(静态标签)
Spirit3286 标签 57×25,lpos(18.5,159.5) Label fontSize=14 color=黑;Text="魅力值"(静态标签)
Spirit3287 按钮 Img=412(九宫格),266×49,lpos(0,220.5) Sprite sf=0ca224e1-… type=SLICED;contentSize 266×49;Widget 16 hc=0
Spirit3288 文本 9×25,lpos(-105.5,220.5) Label fontSize=14 color=黑;Text="s"(占位)
Spirit3289 图标 Img=188 帧 1,80×60,lpos(190,219) Sprite sf=191af9ac-…;contentSize 80×60;Widget 16 hc=190
Spirit3290 标签 76×25,lpos(-237,221.5) Label fontSize=14 color=黑;Text="搜索玩家"(静态标签)
Spirit3291 标签 70×21,lpos(74,104.5) Label fontSize=12 color=黑;Text="添加/修改"(静态标签)
Spirit3292 文本 85×25,lpos(8.5,-470.5) Label fontSize=14 color=黑;Text="Spirit3209"(占位)

脚本驱动要点:

  • 双弹窗独立显隐:group-106(手机验证)与 group-108(白名单管理/搜索玩家)是互斥的功能弹窗,脚本按业务显隐/切换(如「手机验证」→ 显 group-106,「白名单管理」→ 显 group-108)。
  • 遮罩:Spirit3241(group-106,IsVisible=0 → active=false 初始隐藏,进入手机验证流程时再显)、Spirit3270(group-108,可见)。均为 Img=11 通用遮罩,Widget 45 全屏拉伸,点击关闭对应弹窗。
  • 九宫格边框:Spirit3242 Img=2(第 5 组边框 90/90/90/90,新增于 Layer29)、Spirit3243/3244 Img=407(输入框边框 150/25/150/25,⚠️ 同图 Layer17 是 20/20/20/20,spriteFrame border 只能一套,延后)、Spirit3271 Img=411(90/90/90/90)、Spirit3275/3282/3287 Img=412(95/20/95/20)、Spirit3277 Img=419(55/20/55/20)。⚠️ 五处九宫格边框均延后(改 spriteFrame .meta 需先征同意)。
  • 帧动画:Spirit3246/3247/3248 SpiritType=4,Img=433(00433_*.png 11 帧 21×28 数字),FrameText 循环回绕帧 1——Spirit3246 FrameText=12 → (12-1)%11+1=1、Spirit3247 FrameText=1 → 帧 1、Spirit3248 FrameText=12 → 帧 1。运行时脚本按手机验证倒计时逐帧切换 spriteFrame(数字帧动画,见 1.10)。
  • 帧号取模:img=429 Frame=2、img=436 Frame=1/2、img=435 Frame=1/2、img=375 Frame=2(Spirit3276 渲染 116×41,图片帧 236×100 缩放)、img=34/33/188/413 Frame=1,frame_all≥2 均直接按 Frame 取帧(不越界,无需回绕)。
  • 动态文本:5 个占位 Label——Spirit3279/3292("Spirit3209" 占位)、Spirit3280/3283/3288("s" 占位),运行时替换为玩家 ID/数值等。静态标签 5 个(白名单管理/玩家ID/魅力值/搜索玩家/添加/修改)不替换。见 4.1。
  • 可点击:全部 CanClick=1、XML EventList 空——Spirit3251 关闭(手机验证关闭)、Spirit3253 确认、Spirit3252 主按钮、Spirit3245 验证码按钮、Spirit3274 关闭(白名单关闭)、Spirit3275/3282/3287 白名单按钮、Spirit3278/3281 操作按钮、Spirit3289 图标(搜索/删除)、Spirit3241/3270 遮罩(点击关闭),按需绑定(见 4.2)。

3.36 Layer6.prefab(Layer6,对局主界面)

源 Layer00006.xml:53 spirits,GroupID=103/3。对局主界面(牌桌主界面 + 玩家信息头部),56 节点(1 root + 2 group + 53 children),42 Sprite + 11 Label。含 FrameText 数字(img203/19)与九宫格底牌栏(img18×2)。

Layer6                     UITransform 1600×720  Widget 45
├─ group-103               UITransform 1600×720  Widget 45(牌桌主界面 36 节点)
│  ├─ Spirit6 房间列表背景  UITransform 1600×720  Widget 45(全屏拉伸,active=false)
│  ├─ Spirit3170           UITransform 441×395   Widget 16 (hc=-302.5)
│  ├─ Spirit3173           UITransform 659×493   Widget 16 (hc=272.5, active=false)
│  ├─ Spirit3172           UITransform 60×460    Widget 16 (hc=-12)
│  ├─ Spirit3174           UITransform 132×40    Widget 16 (hc=11)
│  ├─ Spirit3176           UITransform 637×203   Widget 16 (hc=46.5)
│  ├─ Spirit3192           UITransform 102×103   Widget 16 (hc=296)
│  ├─ Spirit3181           UITransform 44×44     Widget 16 (hc=448)
│  ├─ Spirit3183           UITransform 309×322   Widget 16 (hc=-352.5, active=false)
│  ├─ Spirit3184           UITransform 218×80    Widget 16 (hc=-415)
│  ├─ Spirit3185           UITransform 60×460    Widget 16 (hc=33)
│  ├─ Spirit3186           UITransform 250×131   Widget 16 (hc=557)
│  ├─ Spirit3187           UITransform 138×35    Widget 16 (hc=557)(FrameText)
│  ├─ Spirit3190           UITransform 683×177   Widget 16 (hc=284.5, active=false)
│  ├─ Spirit3191           UITransform 683×69    Widget 16 (hc=281.5, active=false)
│  ├─ Spirit3175           UITransform 159×60    Widget 16 (hc=514.5)
│  ├─ Spirit3194           UITransform 141×50    Widget 16 (hc=-536.5)
│  ├─ Spirit3195           UITransform 141×50    Widget 16 (hc=-536.5)
│  ├─ Spirit3196           UITransform 257×57    Widget 16 (hc=-399.5)
│  ├─ Spirit3197           UITransform 23×35     Widget 16 (hc=-457.5)(FrameText)
│  ├─ Spirit3215           UITransform 141×50    Widget 16 (hc=-190.5)
│  ├─ Spirit3214           UITransform 141×50    Widget 16 (hc=-481.5)
│  ├─ Spirit3199           UITransform 159×60    Widget 16 (hc=336.5)
│  ├─ Spirit3182           UITransform 59×51     Widget 16 (hc=-589.5)
│  ├─ Spirit3231           UITransform 112×93    Widget 16 (hc=308)
│  ├─ Spirit3235           UITransform 141×50    Widget 16 (hc=-317.5)
│  ├─ Spirit3240           UITransform 218×80    Widget 16 (hc=-415)
│  ├─ Spirit3171           UITransform 19×25     Widget 16 (hc=-235.5)[Label]
│  ├─ Spirit3177           UITransform 5×25      Widget 16 (hc=-240.5)[Label]
│  ├─ Spirit3178           UITransform 5×25      Widget 16 (hc=-238.5)[Label]
│  ├─ Spirit3179           UITransform 5×25      Widget 16 (hc=-118.5)[Label]
│  ├─ Spirit3180           UITransform 5×25      Widget 16 (hc=-6.5) [Label]
│  ├─ Spirit3188           UITransform 5×25      Widget 16 (hc=487.5)[Label]
│  ├─ Spirit3189           UITransform 5×25      Widget 16 (hc=-243.5)[Label]
│  ├─ Spirit3198           UITransform 19×25     Widget 16 (hc=-556.5)[Label]
│  └─ Spirit3259           UITransform 85×25     Widget 16 (hc=124.5)[Label]
└─ group-3                 UITransform 1600×720  Widget 45(玩家信息头部 17 节点)
   ├─ Spirit3233           UITransform 102×78    Widget 16 (hc=560)
   ├─ Spirit3232           UITransform 111×93    Widget 16 (hc=560.5)
   ├─ Spirit3264           UITransform 133×98    Widget 16 (hc=560.5)
   ├─ Spirit3256           UITransform 156×64    Widget 16 (hc=-547)
   ├─ Spirit9 头像框       UITransform 70×72     Widget 16 (hc=-501)
   ├─ Spirit8 头像         UITransform 63×65     Widget 16 (hc=-501.5)
   ├─ Spirit478            UITransform 280×80    Widget 16 (hc=490)
   ├─ Spirit287            UITransform 155×35    Widget 16 (hc=-88.5) [9-slice]
   ├─ Spirit286            UITransform 77×46     Widget 16 (hc=-174.5)
   ├─ Spirit10 购买房卡    UITransform 26×25     Widget 16 (hc=-157)
   ├─ Spirit496            UITransform 155×35    Widget 16 (hc=141.5) [9-slice]
   ├─ Spirit3161           UITransform 17×28     Widget 16 (hc=-134.5)(FrameText)
   ├─ Spirit508            UITransform 44×40     Widget 16 (hc=66)
   ├─ Spirit3162           UITransform 119×28    Widget 16 (hc=150.5)(FrameText)
   ├─ Spirit509            UITransform 26×25     Widget 16 (hc=78)
   ├─ Spirit289 ID         UITransform 19×25     Widget 16 (hc=-430.5)[Label]
   └─ Spirit288 昵称       UITransform 38×25     Widget 16 (hc=-423)[Label]

group-103 牌桌主界面 Sprite(27 个):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit6 房间列表背景 Img=13 帧2→1,1280×720,lpos(0,0) Sprite sf=185f4ed3-…;contentSize 1600×720;Widget 45;active=false(IsVisible=0)
Spirit3170 Spirit3170 Img=7 帧1,441×395,lpos(-302.5,-11.5) Sprite sf=8f185a74-…;contentSize 441×395;Widget 16 hc=-302.5
Spirit3173 Spirit3173 Img=36 帧1,659×493,lpos(272.5,-51.5) Sprite sf=f213b9c2-…;contentSize 659×493;Widget 16 hc=272.5;active=false
Spirit3172 Spirit3172 Img=10 帧1,60×460,lpos(-12,-50) Sprite sf=dcc4530b-…;contentSize 60×460;Widget 16 hc=-12
Spirit3174 Spirit3174 Img=26 帧1,132×40,lpos(11,220) Sprite sf=12dd0f9c-…;contentSize 132×40;Widget 16 hc=11
Spirit3176 Spirit3176 Img=77 帧1,637×203,lpos(46.5,-524) Sprite sf=b008b157-…;contentSize 637×203;Widget 16 hc=46.5
Spirit3192 Spirit3192 Img=92 帧1,102×103,lpos(296,-520.5) Sprite sf=f2a266cb-…;contentSize 102×103;Widget 16 hc=296
Spirit3181 Spirit3181 Img=78 帧1,44×44,lpos(448,-443) Sprite sf=362534c2-…;contentSize 44×44;Widget 16 hc=448
Spirit3183 Spirit3183 Img=176 帧1,309×322,lpos(-352.5,-7) Sprite sf=2b8d7065-…;contentSize 309×322;Widget 16 hc=-352.5;active=false
Spirit3184 Spirit3184 Img=207 帧1,218×80,lpos(-415,-161) Sprite sf=3213a1f8-…;contentSize 218×80;Widget 16 hc=-415
Spirit3185 Spirit3185 Img=10 帧1,60×460,lpos(33,-50) Sprite sf=dcc4530b-…;contentSize 60×460;Widget 16 hc=33
Spirit3186 Spirit3186 Img=79 帧1,250×131,lpos(557,-566.5) Sprite sf=cc2a414b-…;contentSize 250×131;Widget 16 hc=557
Spirit3187 Spirit3187 Img=203 帧1(FrameText=123456),138×35,lpos(557,-514.5) Sprite sf=a209c78b-…;contentSize 138×35;Widget 16 hc=557
Spirit3190 Spirit3190 Img=10 帧1,683×177,lpos(284.5,271.5) Sprite sf=dcc4530b-…;contentSize 683×177;Widget 16 hc=284.5;active=false
Spirit3191 Spirit3191 Img=10 帧1,683×69,lpos(281.5,-325.5) Sprite sf=dcc4530b-…;contentSize 683×69;Widget 16 hc=281.5;active=false
Spirit3175 Spirit3175 Img=45 帧1,159×60,lpos(514.5,230) Sprite sf=db98f2d6-…;contentSize 159×60;Widget 16 hc=514.5
Spirit3194 Spirit3194 Img=333 帧1,141×50,lpos(-536.5,-475) Sprite sf=93f88a85-…;contentSize 141×50;Widget 16 hc=-536.5
Spirit3195 Spirit3195 Img=333 帧2,141×50,lpos(-536.5,-537) Sprite sf=72af5aa1-…;contentSize 141×50;Widget 16 hc=-536.5
Spirit3196 Spirit3196 Img=387 帧1,257×57,lpos(-399.5,199.5) Sprite sf=a33762cf-…;contentSize 257×57;Widget 16 hc=-399.5
Spirit3197 Spirit3197 Img=203 帧1(FrameText=1),23×35,lpos(-457.5,199.5) Sprite sf=a209c78b-…;contentSize 23×35;Widget 16 hc=-457.5
Spirit3215 Spirit3215 Img=421 帧2,141×50,lpos(-190.5,200) Sprite sf=22c562c5-…;contentSize 141×50;Widget 16 hc=-190.5
Spirit3214 Spirit3214 Img=421 帧1,141×50,lpos(-481.5,-231) Sprite sf=733acef5-…;contentSize 141×50;Widget 16 hc=-481.5
Spirit3199 Spirit3199 Img=45 帧2,159×60,lpos(336.5,230) Sprite sf=bfc9f9b0-…;contentSize 159×60;Widget 16 hc=336.5
Spirit3182 Spirit3182 Img=259 帧1,59×51,lpos(-589.5,315.5) Sprite sf=3ce98bad-…;contentSize 59×51;Widget 16 hc=-589.5
Spirit3231 Spirit3231 Img=422 帧1,112×93,lpos(308,313.5) Sprite sf=d375e75a-…;contentSize 112×93;Widget 16 hc=308
Spirit3235 Spirit3235 Img=421 帧3,141×50,lpos(-317.5,-231) Sprite sf=c47d4ba6-…;contentSize 141×50;Widget 16 hc=-317.5
Spirit3240 Spirit3240 Img=207 帧2,218×80,lpos(-415,-78) Sprite sf=604ed57e-…;contentSize 218×80;Widget 16 hc=-415

group-103 Label(9 个):

节点 名称 源字段(Text/字号/颜色,W×H,lpos) 组件属性
Spirit3171 Spirit3171 "ID" 14 白,19×25,lpos(-235.5,-188.5) Label string=ID fontSize=14 color=白
Spirit3177 Spirit3177 "." 14 白,5×25,lpos(-240.5,-453.5) Label string=. fontSize=14 color=白
Spirit3178 Spirit3178 "." 14 深棕,5×25,lpos(-238.5,-515.5) Label string=. fontSize=14 color=深棕(60,40,10)
Spirit3179 Spirit3179 "." 14 深棕,5×25,lpos(-118.5,-513.5) Label string=. fontSize=14 color=深棕(60,40,10)
Spirit3180 Spirit3180 "." 14 深棕,5×25,lpos(-6.5,-519.5) Label string=. fontSize=14 color=深棕(60,40,10)
Spirit3188 Spirit3188 "." 14 白,5×25,lpos(487.5,-566.5) Label string=. fontSize=14 color=白
Spirit3189 Spirit3189 "." 14 深棕,5×25,lpos(-243.5,-481.5) Label string=. fontSize=14 color=深棕(60,40,10)
Spirit3198 Spirit3198 "ID" 14 白,19×25,lpos(-556.5,-314.5) Label string=ID fontSize=14 color=白
Spirit3259 Spirit3259 "Spirit3259" 14 白,85×25,lpos(124.5,247.5) Label string=Spirit3259 fontSize=14 color=白

group-3 玩家信息头部 Sprite(15 个):

节点 名称 源字段(Img/Frame,W×H,lpos) 组件属性
Spirit3233 Spirit3233 Img=424 帧11→1,102×78,lpos(560,-86) Sprite sf=6148cbb3-…;contentSize 102×78;Widget 16 hc=560
Spirit3232 Spirit3232 Img=422 帧11→1,111×93,lpos(560.5,-180.5) Sprite sf=d375e75a-…;contentSize 111×93;Widget 16 hc=560.5
Spirit3264 Spirit3264 Img=437 帧11→1,133×98,lpos(560.5,10) Sprite sf=59903a63-…;contentSize 133×98;Widget 16 hc=560.5
Spirit3256 Spirit3256 Img=431 帧1,156×64,lpos(-547,234) Sprite sf=afea66bf-…;contentSize 156×64;Widget 16 hc=-547
Spirit9 头像框 Img=24 帧1,70×72,lpos(-501,322) Sprite sf=7863c037-…;contentSize 70×72;Widget 16 hc=-501
Spirit8 头像 Img=25 帧1,63×65,lpos(-501.5,322.5) Sprite sf=60da43f5-…;contentSize 63×65;Widget 16 hc=-501.5
Spirit478 Spirit478 Img=44 帧1,280×80,lpos(490,319) Sprite sf=d1e52465-…;contentSize 280×80;Widget 16 hc=490
Spirit287 Spirit287 Img=18(九宫格),155×35,lpos(-88.5,319.5) Sprite sf=e0ab2dec-… type=SLICED;contentSize 155×35;Widget 16 hc=-88.5;border 待补
Spirit286 Spirit286 Img=16 帧1,77×46,lpos(-174.5,320) Sprite sf=bf4f2fec-…;contentSize 77×46;Widget 16 hc=-174.5
Spirit10 购买房卡 Img=17 帧1,26×25,lpos(-157,306.5) Sprite sf=13baa8d4-…;contentSize 26×25;Widget 16 hc=-157
Spirit496 Spirit496 Img=18(九宫格),155×35,lpos(141.5,319.5) Sprite sf=e0ab2dec-… type=SLICED;contentSize 155×35;Widget 16 hc=141.5;border 待补
Spirit3161 Spirit3161 Img=19 帧1(FrameText=1),17×28,lpos(-134.5,319) Sprite sf=fc6e9a8e-…;contentSize 17×28;Widget 16 hc=-134.5
Spirit508 Spirit508 Img=204 帧1,44×40,lpos(66,325) Sprite sf=6b9ad554-…;contentSize 44×40;Widget 16 hc=66
Spirit3162 Spirit3162 Img=19 帧1(FrameText=1000000),119×28,lpos(150.5,319) Sprite sf=fc6e9a8e-…;contentSize 119×28;Widget 16 hc=150.5
Spirit509 Spirit509 Img=17 帧1,26×25,lpos(78,309.5) Sprite sf=13baa8d4-…;contentSize 26×25;Widget 16 hc=78

group-3 Label(2 个):

节点 名称 源字段(Text/字号/颜色,W×H,lpos) 组件属性
Spirit289 ID "ID" 14 白,19×25,lpos(-430.5,305.5) Label string=ID fontSize=14 color=白
Spirit288 昵称 "昵称" 14 橙金,38×25,lpos(-423,337.5) Label string=昵称 fontSize=14 color=橙金(255,203,92)

脚本驱动要点:

  • 双 group 结构:group-103(牌桌主界面)与 group-3(玩家信息头部)是同一场景的两个区域,脚本按业务分别显隐/驱动。
  • 帧号循环取模(见 1.10):frame_all=1 的图源 Frame 越界回绕——Spirit3233/3232/3264(img424/422/437,源 Frame=11 → 帧 1)、Spirit6(img13,源 Frame=2 → 帧 1)。frame_all≥2 直接取帧——img431 Frame=1、img207 Frame=1/2、img421 Frame=1/2/3、img333 Frame=1/2、img45 Frame=1/2、img16 Frame=1、img204 Frame=1(均不越界)。
  • FrameText 数字显示(SpiritType=4,见 1.10 与 Layer50 Spirit3141 约定):FrameText 是「数字字符串显示值」而非帧号——contentSize = 源 W×H(字符数 × 单帧宽),spriteFrame = 帧 1 占位,运行时脚本按数字逐位切帧。本层 4 处:Spirit3187(img203,FrameText=123456,W=138=6×23)、Spirit3197(img203,FrameText=1,W=23)、Spirit3161(img19,FrameText=1,W=17)、Spirit3162(img19,FrameText=1000000,W=119=7×17)。img203 单帧 23×35、img19 单帧 17×28,均 13 帧(数字 0-9 + 符号)。
  • 九宫格:Spirit287/496 均为 Img=18(00018.png 155×35)底牌栏,边框 70/1/70/1(LeftEdge/RightEdge=70、TopEdge/BottomEdge=1)。Sprite _type=SLICED 已设,spriteFrame border 待补(改 .meta 需先征得同意)。img18 被本层 2 处共享,同一边框,无需副本。
  • 动态文本:group-103 的 9 个 Label 中,Spirit3171/3198("ID" 白)、Spirit3259("Spirit3259" 白)为占位/标签,Spirit3177~3180/3188/3189("." 白/深棕分隔符)为牌桌数字/金额的小数点分隔(运行时随金额位数移动);group-3 的 Spirit288 昵称(橙金)运行时替换为玩家昵称、Spirit289 ID(白)替换为玩家 ID。见 4.1。
  • 可点击:全部 CanClick=1。自引用 MouseUp 有 Spirit9 头像框(MouseUp=9)、Spirit478(MouseUp=478)、Spirit286(MouseUp=286)、Spirit3194(MouseUp=3194)→ 脚本按需绑定;其余 XML EventList 空(见 4.2)。
  • 隐藏节点:Spirit6 房间列表背景、Spirit3173、Spirit3183、Spirit3190、Spirit3191 均 IsVisible=0 → active=false,运行时按业务显隐。

3.37 Layer14_Pay.prefab(Pay_Layer,支付金额选择)

源 Layer00014.xml:43 spirits,双 group。

层级树:

Layer14_Pay (1600×720, Widget 45)
├─ group-53 (1600×720, Widget 45)  金额选择面板
│  ├─ Spirit46   支付选择金额遮罩 (1600×720, img11 全屏遮罩, Widget 45)
│  ├─ Spirit359  九宫格背景 (980×620, img41 SLICED, 边框 55/45/55/45)
│  ├─ Spirit360  标题 (559×138, img189 帧1)
│  ├─ Spirit386  关闭 (83×84, img33)
│  ├─ Spirit416~425  金额按钮×10 (208×210, img190 帧1)
│  ├─ Spirit426~435  金额文本×10 (109×35, Label fs=20 黑)
│  └─ Spirit446~455  金额数字 FrameText×10 (52×32, img191 帧1)
└─ group-54 (1600×720, Widget 45)  确认支付弹窗
   ├─ Spirit456  遮罩 (1600×720, img11, Widget 45)
   ├─ Spirit457  九宫格背景 (800×520, img197 SLICED, 边框 70/70/70/70)
   ├─ Spirit458  标题 (320×31, img196 帧1)
   ├─ Spirit459  标题小字 (119×26, img195)
   ├─ Spirit460  金额数字 FrameText (120×70, img192 帧1)
   ├─ Spirit461  按钮 (228×80, img193 帧1)
   ├─ Spirit462  按钮 (228×80, img193 帧3)
   ├─ Spirit463  按钮 (228×80, img193 帧1, Y=782 屏幕外)
   └─ Spirit464  大按钮 (484×89, img194)

group-53 金额选择面板(34 spirits):

节点 语义 源尺寸/位置 迁移
Spirit46 支付选择金额遮罩 1280×720 (0,0) Sprite sf=img11 type=0 sizeMode=0;contentSize 1600×720(全屏拉伸);lpos(0,0);Widget 45
Spirit359 九宫格背景 980×620 (150,71) 边框 55/45/55/45 Sprite sf=img41 type=SLICED sizeMode=0;contentSize 980×620;lpos(0,-21);Widget 16 hc=0
Spirit360 标题 559×138 (361,8) Sprite sf=img189 帧1 type=0;contentSize 559×138;lpos(0.5,283);Widget 16 hc=0.5
Spirit386 关闭 83×84 (1062,43) Sprite sf=img33;contentSize 83×84;lpos(463.5,275);Widget 16 hc=463.5
Spirit416~425 金额按钮×10 208×210 Sprite sf=img190 帧1;contentSize 208×210;lpos 见下;Widget 16 hc=lpos.x
Spirit426~435 金额文本×10 109×35 Label string=Spirit426 fontSize=20 color=黑;contentSize 109×35;lpos 见下;Widget 16
Spirit446~455 金额数字 FrameText×10 52×32 FrameText="12" Sprite sf=img191 帧1;contentSize 52×32;lpos 见下;Widget 16

金额按钮/文本/数字 lpos(按 5×2 网格,第 9/10 个落屏幕外):

序号 按钮(416~425) 文本(426~435) 数字(446~455)
1 (-335,104) (-340.5,83.5) (-353,37)
2 (-117,104) (-108.5,83.5) (-125,37)
3 (101,104) (97.5,83.5) (91,37)
4 (319,104) (299.5,83.5) (296,37)
5 (-335,-159) (-331.5,-180.5) (-333,-226)
6 (-117,-159) (-117.5,-180.5) (-111,-226)
7 (101,-159) (106.5,-180.5) (108,-226)
8 (319,-159) (305.5,-180.5) (332,-226)
9 (343,-646) (327.5,-662.5) (321,-710)
10 (582,-622) (575.5,-645.5) (569,-694)

group-54 确认支付弹窗(9 spirits):

节点 语义 源尺寸/位置 迁移
Spirit456 遮罩 1280×720 (0,0) Sprite sf=img11;contentSize 1600×720(全屏拉伸);lpos(0,0);Widget 45
Spirit457 九宫格背景 800×520 (240,74) 边框 70/70/70/70 Sprite sf=img197 type=SLICED;contentSize 800×520;lpos(0,26);Widget 16 hc=0
Spirit458 标题 320×31 (480,89) Sprite sf=img196 帧1;contentSize 320×31;lpos(0,255.5);Widget 16 hc=0
Spirit459 标题小字 119×26 (290,278) Sprite sf=img195;contentSize 119×26;lpos(-290.5,69);Widget 16 hc=-290.5
Spirit460 金额数字 FrameText 120×70 (418,162) FrameText="12" Sprite sf=img192 帧1;contentSize 120×70;lpos(-162,163);Widget 16 hc=-162
Spirit461 按钮 228×80 (457,262) Sprite sf=img193 帧1;contentSize 228×80;lpos(-69,58);Widget 16 hc=-69
Spirit462 按钮 228×80 (741,262) Frame=3 Sprite sf=img193 帧3;contentSize 228×80;lpos(215,58);Widget 16 hc=215
Spirit463 按钮 228×80 (58,782) Sprite sf=img193 帧1;contentSize 228×80;lpos(-468,-462);Widget 16 hc=-468
Spirit464 大按钮 484×89 (398,484) Sprite sf=img194;contentSize 484×89;lpos(0,-168.5);Widget 16 hc=0

脚本驱动要点:

  • 双 group 结构:group-53(金额选择面板)与 group-54(确认支付弹窗)是支付流程的两个弹窗态,脚本按业务显隐切换(先选金额 → 弹出确认支付)。
  • FrameText 数字显示(SpiritType=4,见 1.10):Spirit446~455(img191 单帧 26×32,FrameText="12")与 Spirit460(img192 单帧 60×70,FrameText="12")是金额数字显示——contentSize = 源 W×H(字符数 × 单帧宽:2×26=52、2×60=120),spriteFrame = 帧 1 占位,运行时脚本按数字逐位切帧。
  • 金额按钮与文本联动:Spirit416425(img190 帧1)是 10 个金额选择按钮,Spirit426435 是对应金额文本(Label,初始 Spirit426 占位),运行时脚本替换为实际金额值并绑定选择回调。
  • 九宫格:Spirit359(img41 边框 55/45/55/45,共享图,同 Layer16/18 边框)与 Spirit457(img197 边框 70/70/70/70,新图)Sprite _type=SLICED 已设,spriteFrame border 待补(改 .meta 需先征得同意,见 1.9)。
  • 可点击:全部 CanClick=1。Spirit457 MouseUp=457(自引用)→ 语义为「确认支付/关闭」,脚本绑定;其余 XML EventList 空(见 4.2)。
  • 屏幕外元素:Spirit424/425(按钮)、Spirit434/435(文本)、Spirit454/455(数字)的源 Y=901/877/1005/988/1054/1038,Spirit463(按钮)源 Y=782,lpos.y 均为负(屏幕下方),是源数据布局特征(备用/隐藏按钮,运行时按需显隐)。

3.38 Layer25_wareHouse.prefab(wareHouseLayer,仓库)

源 Layer00025.xml:68 spirits(64 sprite + 4 label),四 group。Name="wareHouseLayer"。

层级树:

Layer25_wareHouse (1600×720, Widget 45)
├─ group-91 (1600×720, Widget 45)  主框架 + 左侧 tab + 物品格子 + 关闭
│  ├─ Spirit3029  遮罩 (1600×720, img11 全屏遮罩, Widget 45)
│  ├─ Spirit3030  九宫格背景 (1235×664, img374 SLICED, 边框 400/200/346/245)
│  ├─ Spirit3031  标题 (403×76, img327 帧1)
│  ├─ Spirit3059/3060  左侧 tab (236×100, img332 帧1/2)
│  ├─ Spirit3061/3062  tab 图标 (97×37, img335 帧1/3)
│  ├─ Spirit3043  确认键 (292×102, img34 帧1)
│  ├─ Spirit3044/3045~3055  物品格子×12 (131×77, img328 帧11/1~10/12)
│  └─ Spirit97  关闭 (83×84, img33)
├─ group-92 (1600×720, Widget 45)  数字/输入框/按钮
├─ group-93 (1600×720, Widget 45)  输入区
└─ group-94 (1600×720, Widget 45)  输入区

group-91 主框架(21 sprite):

节点 语义 源尺寸/位置 迁移
Spirit3029 遮罩 1280×720 (0,0) Sprite sf=img11 type=0 sizeMode=0;contentSize 1600×720(全屏拉伸);lpos(0,0);Widget 45
Spirit3030 九宫格背景 1235×664 (23,28) 边框 400/200/346/245 Sprite sf=img374 type=SLICED;contentSize 1235×664;lpos(0.5,0);Widget 16 hc=0.5
Spirit3031 标题 403×76 (439,37) Sprite sf=img327 帧1;contentSize 403×76;lpos(0.5,285);Widget 16 hc=0.5
Spirit3059/3060 左侧 tab 236×100 (46,120)/(46,212) Sprite sf=img332 帧1/2;contentSize 236×100;lpos(-476,190)/(-476,98);Widget 16
Spirit3061/3062 tab 图标 97×37 (116,147)/(116,244) Sprite sf=img335 帧1/3;contentSize 97×37;lpos(-475.5,194.5)/(-475.5,97.5);Widget 16
Spirit3043 确认键 292×102 (494,562) Sprite sf=img34 帧1;contentSize 292×102;lpos(0,-253);Widget 16 hc=0
Spirit3044/3045~3055 物品格子×12 131×77 Sprite sf=img328 帧11/1~10/12;contentSize 131×77;lpos 见下;Widget 16
Spirit97 关闭 83×84 (1172,13) Sprite sf=img33;contentSize 83×84;lpos(573.5,305);Widget 16 hc=573.5

物品格子 12 个(3 列 × 4 行,img328 帧号与网格):

行 ly 左(lx=233.5) 中(lx=364.5) 右(lx=495.5)
1 69.5 Spirit3045 帧1 Spirit3046 帧2 Spirit3047 帧3
2 -7.5 Spirit3048 帧4 Spirit3049 帧5 Spirit3050 帧6
3 -84.5 Spirit3051 帧7 Spirit3052 帧8 Spirit3053 帧9
4 -161.5 Spirit3054 帧10 Spirit3044 帧11 Spirit3055 帧12

group-92 数字/输入框/按钮(14 sprite + 1 label):

节点 语义 源尺寸/位置 迁移
Spirit3032 图标 44×40 (399,175) Sprite sf=img204 帧1;lpos(-219,165)
Spirit3033 数字 FrameText="10000" 135×34 (474,183) Sprite sf=img329 帧1(占位);contentSize 135×34(5 字符×27);lpos(-98.5,160)
Spirit3034/3035 图标 49×49 (384,267)/(588,267) Sprite sf=img324 帧1;lpos(-231.5,68.5)/(-27.5,68.5)
Spirit3036/3037 小按钮 63×31 (456,276)/(656,276) Sprite sf=img326 帧1/2;lpos(-152.5,68.5)/(47.5,68.5)
Spirit3038/3039 输入框 348×61 (379,346)/(382,453) Sprite sf=img323 帧1;lpos(-87,-16.5)/(-84,-123.5)
Spirit3040/3041 输入条 233×25 (437,364)/(440,471) Sprite sf=img325 帧1/2;lpos(-86.5,-16.5)/(-83.5,-123.5)
Spirit3056/3058 数字 FrameText="10000" 135×34 (397,359)/(397,466) Sprite sf=img329 帧1(占位);contentSize 135×34;lpos(-175.5,-16)/(-175.5,-123)
Spirit3063/3064 小按钮 51×25 (302,364)/(306,471) Sprite sf=img322 帧2/3;lpos(-312.5,-16.5)/(-308.5,-123.5)
Spirit3042 文本 124×35 (167,765) Label "Spirit3042" fs=20 黑;contentSize 124×35;lpos(-411,-422.5);Y=765 屏幕外

group-93 输入区(9 sprite + 1 label):

节点 语义 源尺寸/位置 迁移
Spirit3065/3066 小按钮 51×25 (306,302)/(306,412) Sprite sf=img322 帧3;lpos(-308.5,45.5)/(-308.5,-64.5);Spirit3065 MouseUp=3065 自引用
Spirit3067/3068 输入框 348×61 (386,284)/(386,394) Sprite sf=img323 帧1(源 Frame=3 回绕帧 1);lpos(-80,45.5)/(-80,-64.5)
Spirit3069/3070 按钮 154×25 (483,302)/(483,412) Sprite sf=img337 帧1/2;lpos(-80,45.5)/(-80,-64.5)
Spirit3071 数字 FrameText="1" 27×34 (416,297) Sprite sf=img329 帧1(占位);contentSize 27×34(1 字符);lpos(-210.5,46)
Spirit3072 数字 FrameText="9999" 108×34 (416,407) Sprite sf=img329 帧1(占位);contentSize 108×34(4 字符);lpos(-170,-64)
Spirit3074 按钮 311×23 (409,194) Sprite sf=img334 帧1(源 Frame=3 回绕帧 1);lpos(-75.5,154.5)
Spirit3073 文本 124×35 (389,489) Label "Spirit3073" fs=20 #8D170E(暗红棕);contentSize 124×35;lpos(-189,-146.5)

group-94 输入区(20 sprite + 2 label):

节点 语义 源尺寸/位置 迁移
Spirit3075/3076 图标 49×49 (403,171)/(850,171) Sprite sf=img324 帧1(源 Frame=3 回绕帧 1);lpos(-212.5,164.5)/(234.5,164.5)
Spirit3078 图标 77×46 (890,172) Sprite sf=img16 帧1;lpos(288.5,165)
Spirit3077 图标 44×40 (463,175) Sprite sf=img204 帧1;lpos(-155,165)
Spirit3079/3080 数字 FrameText="111"/"222" 81×34 (550,178)/(1005,178) Sprite sf=img329 帧1(占位);contentSize 81×34(3 字符);lpos(-49.5,165)/(405.5,165)
Spirit3081 头像框 70×70 (350,241) Sprite sf=img336 帧1(物理 93×93 缩放至 70×70);contentSize 70×70;lpos(-255,84)
Spirit3082/3083 文本 62×25 (447,248)/(447,279) Label " 待输入" fs=14 黑;contentSize 62×25;lpos(-162,99.5)/(-162,68.5)
Spirit3084/3085/3086 小按钮 51×25 (271,343)/(271,424)/(271,505) Sprite sf=img322 帧1/2/3;lpos(-343.5,4.5)/(-343.5,-76.5)/(-343.5,-157.5)
Spirit3087/3088/3089 输入框 348×61 (339,325)/(339,406)/(339,487) Sprite sf=img323 帧1(源 Frame=3 回绕帧 1);lpos(-127,4.5)/(-127,-76.5)/(-127,-157.5)
Spirit3090/3091/3092 输入条 233×25 (397,343)/(397,424)/(397,505) Sprite sf=img325 帧3/1/2;lpos(-126.5,4.5)/(-126.5,-76.5)/(-126.5,-157.5)
Spirit3093/3094/3095 数字 FrameText="111" 81×34 (362,338)/(361,419)/(360,500) Sprite sf=img329 帧1(占位);contentSize 81×34;lpos(-237.5,5)/(-238.5,-76)/(-239.5,-157)
Spirit3096 按钮 104×55 (696,328) Sprite sf=img330 帧1;lpos(108,4.5)

脚本驱动要点:

  • 四 group 结构:group-91(主框架 + 物品格子 + 关闭)、group-92/93/94(仓库物品输入/操作区)。仓库是背包/物品展示与操作界面,脚本按业务显隐各 group 与格子。
  • FrameText 数字显示(ObjectType=2 + TextFrames 非空,见 1.10):10 个节点(Spirit3033/3056/3058="10000"、Spirit3071="1"、Spirit3072="9999"、Spirit3079="111"、Spirit3080="222"、Spirit3093/3094/3095="111")是仓库数量/数值显示——contentSize = 源 W×H(字符数 × 单帧宽 27),spriteFrame = img329 帧 1 占位,运行时脚本按数字逐位切帧(img329 为 10 帧数字 0-9)。
  • 帧回绕(见 1.10):img323/324(frame_all=2)源 Frame=3、img334(frame_all=1)源 Frame=3 均越界,回绕 ((N-1)%frame_all)+1 → 帧 1。
  • 九宫格:Spirit3030(img374 边框 400/200/346/245,新图)Sprite _type=SLICED 已设,spriteFrame border 待补(改 .meta 需先征得同意,见 1.9)。
  • 缩放节点:Spirit3081(img336 物理 93×93)contentSize=70×70(源 W/H),引擎按源尺寸缩放渲染。
  • 动态文本:4 个 Label(Spirit3042/3073/3082/3083)_string 均为占位,运行时替换(见 4.1)。
  • 可点击:全部 68 节点 CanClick=1。Spirit3065 MouseUp=3065(自引用)→ 脚本绑定(仓库某操作入口);其余 XML EventList 空(见 4.2)。
  • 屏幕外元素:Spirit3042(Label)源 Y=765,lpos.y=-422.5(屏幕下方),是源数据布局特征(运行时按需显隐/重定位)。

3.39 Layer26_Task.prefab(Task_Layer,任务列表)

源 Layer00026.xml:46 spirits(34 sprite + 12 label),单 group-10。Name="Task_Layer"。

层级树:

Layer26_Task (1600×720, Widget 45)
└─ group-10 (1600×720, Widget 45)
   ├─ Spirit112  任务遮罩 (1600×720, img11 全屏遮罩, Widget 45)
   ├─ Spirit119  任务前景 (1250×650, img10 拉伸)
   ├─ Spirit113  任务背景 (1250×650, img2 SLICED, 边框 250/200/346/245)
   ├─ Spirit176  侧边 (166×453, img10 拉伸)
   ├─ Spirit114  任务标题 (510×135, img40)
   ├─ Spirit690  顶部横幅 (403×76, img6 帧2)
   ├─ Spirit115  任务关闭 (83×84, img33)
   ├─ 任务卡片×5(背景 img43 帧1 + 领取 img55 帧1 + 做任务 img32 帧1)
   │   ├─ Spirit120/121/122  预加载卡片(屏幕外左)
   │   ├─ Spirit123/124/125  任务一
   │   ├─ Spirit126/127/128  任务二
   │   ├─ Spirit129/130/131  任务三
   │   └─ Spirit132/133/134  任务四
   ├─ 任务描述×4:Spirit135/136/137/138 (Label fs14 深棕 #662910)
   ├─ 奖励说明×4:Spirit307/308/309/310 (Label fs14 黑)
   ├─ 进度背景×4:Spirit311/312/313/314 (img56)
   ├─ 进度前景×4:Spirit315/316/317/318 (img57)
   ├─ 已领取×4:Spirit328/329/330/331 (img58 帧2)
   └─ 进度文字×4:Spirit319/320/321/322 (Label fs12,319 白 / 320~322 黑)

group-10 框架(7 sprite):

节点 语义 源尺寸/位置 迁移
Spirit112 任务遮罩 1280×720 (0,0) Sprite sf=img11 type=0;contentSize 1600×720(全屏拉伸);lpos(0,0);Widget 45
Spirit119 任务前景 1250×650 (15,50) Sprite sf=img10 type=0;contentSize 1250×650;lpos(0,-15);Widget 16 hc=0
Spirit113 任务背景 1250×650 (15,50) 边框 250/200/346/245 Sprite sf=img2 type=SLICED;contentSize 1250×650;lpos(0,-15);Widget 16 hc=0
Spirit176 侧边 166×453 (118,168) Sprite sf=img10 type=0;contentSize 166×453;lpos(-439,-34.5);Widget 16
Spirit114 任务标题 510×135 (496,-204) Sprite sf=img40;contentSize 510×135;lpos(111,496.5);Widget 16 hc=111
Spirit690 顶部横幅 403×76 (439,62) Sprite sf=img6 帧2;contentSize 403×76;lpos(0.5,260);Widget 16 hc=0.5
Spirit115 任务关闭 83×84 (1187,38) Sprite sf=img33;contentSize 83×84;lpos(588.5,280);Widget 16 hc=588.5

任务卡片(5 组 × 3 sprite,横向排列):

卡片 背景 img43 帧1 (269×453) 领取 img55 帧1 (171×58) 做任务 img32 帧1 (149×30)
预加载(屏幕外左) Spirit120 (-17,725)→(-522.5,-591.5) Spirit121 (34,1086)→(-520.5,-755) Spirit122 (49,1054)→(-516.5,-709)
任务一 Spirit123 (510,774)→(4.5,-640.5) Spirit124 (556,1142)→(1.5,-811) Spirit125 (568,1104)→(2.5,-759)
任务二 Spirit126 (822,771)→(316.5,-637.5) Spirit127 (872,1139)→(317.5,-808) Spirit128 (884,1101)→(318.5,-756)
任务三 Spirit129 (1091,771)→(585.5,-637.5) Spirit130 (1143,1139)→(588.5,-808) Spirit131 (1155,1101)→(589.5,-756)
任务四 Spirit132 (1360,771)→(854.5,-637.5) Spirit133 (1414,1139)→(859.5,-808) Spirit134 (1426,1101)→(860.5,-756)

进度条 + 已领取(4 组):

任务 进度背景 img56 (204×23) 进度前景 img57 (202×21) 已领取 img58 帧2 (81×26)
任务一 Spirit311 (543,1154)→(4,-804.5) Spirit315 (316,1206)→(-223,-856.5) Spirit328 (598,1139)→(-1.5,-792)
任务二 Spirit312 (858,1155)→(320,-806.5) Spirit316 (858,1155)→(319,-805.5) Spirit329 (914,1136)→(314.5,-789)
任务三 Spirit313 (1126,1155)→(588,-806.5) Spirit317 (1126,1155)→(587,-805.5) Spirit330 (1187,1136)→(587.5,-789)
任务四 Spirit314 (1391,1155)→(853,-806.5) Spirit318 (1391,1155)→(852,-805.5) Spirit331 (1462,1136)→(862.5,-789)

Label(12):

节点 语义 源尺寸/位置 迁移
Spirit135 任务一描述 200×25 (540,804) Label "任务一描述一一依依一" fs=14 #662910;contentSize 200×25;lpos(0,-456.5)
Spirit136/137/138 任务二/三/四描述 84×25 (858/1126/1393,804) Label "Spirit135" fs=14 #662910;lpos(260,-456.5)/(528,-456.5)/(795,-456.5)
Spirit307 任务一奖励说明 19×25 (581,1039) Label "啊" fs=14 #000000;contentSize 19×25;lpos(-49.5,-691.5)
Spirit308/309/310 任务二/三/四奖励说明 75×25 (909/1180/1439,1036) Label "Spirit307" fs=14 #000000;lpos(306.5,-688.5)/(577.5,-688.5)/(836.5,-688.5)
Spirit319 任务一进度文字 144×21 (585,1158) Label "任务一进度文字说明" fs=12 #FFFFFF;contentSize 144×21;lpos(17,-808.5)
Spirit320/321/322 任务二/三/四进度文字 63×21 (931/1205/1475,1153/1154) Label "Spirit319" fs=12 #000000;lpos(322.5,-803.5)/(596.5,-804.5)/(866.5,-804.5)

脚本驱动要点:

  • 单 group-10 结构:任务列表是横向滚动的任务卡片流。任务一~四背景 X 从 510 到 1360(lx 4.5→854.5),横向排列;Spirit120/121/122("任务背景/领取/去做任务"无编号)在屏幕外左(X=-17/34/49),是滚动预加载/占位卡片。
  • 任务卡片三件套:每张卡 = 背景(img43 帧1,5 帧)+ 领取按钮(img55 帧1,2 帧)+ 做任务按钮(img32 帧1,2 帧)三独立 sprite 叠放,脚本按任务状态显隐/切帧(img43 多帧对应任务类型/状态,img55/32 双帧对应按钮两态)。
  • 进度条:img56(背景 204×23)+ img57(前景 202×21)叠放,前景 contentSize.width 按进度值缩放实现进度显示;任务一前景 Spirit315(X=316)与背景 Spirit311(X=543)偏移 227px,是源数据初始进度状态(逐字复刻,不兜底)。
  • 已领取标记:img58 帧 2(81×26)覆盖在领取按钮位置,脚本按任务是否已领取显隐(帧 1 未领取态 / 帧 2 已领取态)。
  • 九宫格:Spirit113(img2 边框 250/200/346/245)Sprite _type=SLICED 已设,与 Layer608 同边框。
  • 全屏遮罩:Spirit112(img11)contentSize 1600×720 拉伸,Widget 45。
  • 屏幕外元素:Spirit114 标题源 Y=-204(屏幕上方)、Spirit176 侧边源 X=118(屏幕外左)、Spirit120122 预加载卡片(屏幕外左)、进度/领取元素源 Y 11001206(屏幕下方),均为源布局特征(横向滚动 + 卡片高度超出可视区,运行时滚动/显隐)。
  • 动态文本:12 个 Label 均占位(见 4.1)。
  • 可点击:全部 46 节点 CanClick=1。Spirit113 任务背景 MouseUp=113(自引用)→ 脚本绑定(点击背景返回/关闭);其余 XML EventList 空(见 4.2)。

3.40 Layer28_SeniorOptions.prefab(SeniorOptions_Layer,高级选项)

源 Layer00028.xml:56 spirits(45 sprite + 11 label),单 group-83。Name="SeniorOptions_Layer"。源 Spirit Name 几乎全是 Spirit{N},仅 Spirit652/653 有语义名「分享好友 / 分享朋友圈」,故下方语义均为按 img 类型 + 布局推断(供脚本绑定参考,非源字段)。

层级树:

Layer28_SeniorOptions (1600×720, Widget 45)
└─ group-83 (1600×720, Widget 45)
   ├─ Spirit577  全屏遮罩 (1600×720, img382 拉伸, Widget 45)
   ├─ Spirit578  左面板背景 (656×497, img383 SLICED 55/45/55/45)
   ├─ Spirit3129 左内框 (542×174, img386 SLICED 55/45/55/45)
   ├─ Spirit581  左标题 (209×81, img385)
   ├─ Spirit579  左上图标 (124×77, img384)
   ├─ Spirit603  左下图标 (168×178, img230)
   ├─ Spirit611  右分隔条 (100×508, img10 拉伸)
   ├─ Spirit3135 右面板背景 (564×679, img392 SLICED 55/45/55/45)
   ├─ Spirit3137 右内框 (511×528, img386 SLICED 55/45/55/45)
   ├─ Spirit3136 右标题 (270×55, img393)
   ├─ 选项按钮 img219 帧1/2/3:Spirit3131 / Spirit580 / Spirit592
   ├─ 按钮 img225 帧2:Spirit627
   ├─ 分享按钮 img236:Spirit626 帧1 / Spirit652 分享好友 帧2 / Spirit653 分享朋友圈 帧3
   ├─ 勾选框 img390 帧2:Spirit3100 / 3166 / 3167
   ├─ 按钮 img391 帧2:Spirit3133 / 3164 / 3258
   ├─ 小按钮 img426:Spirit3238 帧1 / Spirit3257 帧2
   ├─ 按钮/条:Spirit3097 (img387) / Spirit3158 (img408) / Spirit3140 (img397) / Spirit3163 (img410) / Spirit625 (img229)
   ├─ 数字 FrameText img227 帧1:Spirit593/594/595/624/3099/3237
   ├─ 短号输入 img228 帧1:Spirit598
   ├─ 分隔线/图标:Spirit596 (img220) / Spirit597 (img221) / Spirit3132 (img389) / Spirit3130 (img388) / Spirit3138 (img395)
   ├─ 下方按钮:Spirit622 (img224 SLICED 90/90/90/90) / Spirit623 (img210 SLICED 103/20/103/20)
   └─ Label ×11:Spirit599/600/601/628/3015/3098/3101/3134/3168/3169/3239

框架(10 sprite):

节点 语义 源尺寸/位置 迁移
Spirit577 全屏遮罩 1280×720 (0,0) Sprite sf=img382 type=0;contentSize 1600×720(全屏拉伸);lpos(0,0);Widget 45
Spirit578 左面板背景 656×497 (26,111) 边框 55/45/55/45 Sprite sf=img383 SLICED;contentSize 656×497;lpos(-286,0.5);Widget 16 hc=-286
Spirit3129 左内框 542×174 (81,186) 边框 55/45/55/45 Sprite sf=img386 SLICED;contentSize 542×174;lpos(-288,87);Widget 16
Spirit581 左标题 209×81 (141,8) Sprite sf=img385;contentSize 209×81;lpos(-394.5,311.5);Widget 16 hc=-394.5
Spirit579 左上图标 124×77 (0,0) Sprite sf=img384;contentSize 124×77;lpos(-578,321.5);Widget 16
Spirit603 左下图标 168×178 (53,-236) Sprite sf=img230;contentSize 168×178;lpos(-503,507);Widget 16
Spirit611 右分隔条 100×508 (740,118) Sprite sf=img10 type=0;contentSize 100×508;lpos(150,-12);Widget 16
Spirit3135 右面板背景 564×679 (702,21) 边框 55/45/55/45 Sprite sf=img392 SLICED;contentSize 564×679;lpos(344,-0.5);Widget 16 hc=344
Spirit3137 右内框 511×528 (729,110) 边框 55/45/55/45 Sprite sf=img386 SLICED;contentSize 511×528;lpos(344.5,-14);Widget 16
Spirit3136 右标题 270×55 (849,39) Sprite sf=img393;contentSize 270×55;lpos(344,293.5);Widget 16

九宫格(7 个,含边框):

节点 img 边框 L/T/R/B 源尺寸/位置 lpos
Spirit578 img383 55/45/55/45 656×497 (26,111) (-286,0.5)
Spirit3129 img386 55/45/55/45 542×174 (81,186) (-288,87)
Spirit3137 img386 55/45/55/45 511×528 (729,110) (344.5,-14)
Spirit3135 img392 55/45/55/45 564×679 (702,21) (344,-0.5)
Spirit622 img224 90/90/90/90 485×169 (155,748) (-242.5,-472.5)
Spirit623 img210 103/20/103/20 208×45 (322,903) (-214,-565.5)
Spirit3236 img387 20/20/20/20 150×57 (194,476) (-371,-144.5)

注:img386 被 Spirit3129(拉伸 542×174)与 Spirit3137(拉伸 511×528)两处九宫格复用;img387 被 Spirit3097(普通 sprite)与 Spirit3236(九宫格)复用。九宫格 _type=SLICED 已设,border 存 spriteFrame .meta(待补,见 §5)。

普通 Sprite + FrameText(38 个):

节点 img(帧) 尺寸 lpos 语义(推断)
Spirit579 img384 124×77 (-578,321.5) 左上角面板图标
Spirit581 img385 209×81 (-394.5,311.5) 标题图(FrameIndex=2 回绕帧 1)
Spirit603 img230 168×178 (-503,507) 左下角装饰图标
Spirit611 img10 100×508 (150,-12) 左右面板分隔条(FrameIndex=3 回绕帧 1,拉伸)
Spirit3131 img219 帧1 109×50 (-523.5,200) 选项按钮①
Spirit580 img219 帧2 109×50 (-521.5,-80) 选项按钮②
Spirit592 img219 帧3 109×50 (-521.5,-204) 选项按钮③
Spirit627 img225 帧2 109×74 (-608.5,-473) 按钮(屏幕外左备用)
Spirit626 img236 帧1 204×85 (-55,-302.5) 分享按钮·帧 1
Spirit652 分享好友 img236 帧2 204×85 (-513,-302.5) 分享好友按钮
Spirit653 分享朋友圈 img236 帧3 204×85 (-284,-302.5) 分享朋友圈按钮
Spirit3097 img387 257×57 (-317.5,-80.5) 短号输入区按钮
Spirit3158 img408 241×50 (-317.5,-80) 短号输入框
Spirit3130 img388 111×21 (-317.5,-80.5) 短号输入区文本条
Spirit3100 img390 帧2 40×40 (-279,420) 勾选框①
Spirit3166 img390 帧2 40×40 (-248,-21) 勾选框②
Spirit3167 img390 帧2 40×40 (-422,-21) 勾选框③
Spirit3133 img391 帧2 191×57 (-350.5,-204.5) 按钮
Spirit3164 img391 帧2 191×57 (451.5,292.5) 按钮
Spirit3258 img391 帧2 191×57 (-184.5,207.5) 按钮
Spirit3238 img426 帧1 87×46 (-521.5,-144) 小按钮·帧 1
Spirit3257 img426 帧2 87×46 (-355.5,210) 小按钮·帧 2
Spirit3140 img397 144×62 (-21,302) 按钮(FrameIndex=2 回绕帧 1)
Spirit3163 img410 110×30 (256,293) 小按钮(FrameIndex=2 回绕帧 1)
Spirit625 img229 185×60 (-614.5,-654) 按钮(屏幕外左备用,FrameIndex=5 回绕帧 1)
Spirit596 img220 503×18 (48.5,480) 横向分隔线
Spirit597 img221 70×52 (258,480) 小图标
Spirit3132 img389 75×26 (-362.5,420) 小标签
Spirit3138 img395 42×33 (-50,-419.5) 小图标(FrameIndex=2 回绕帧 1)
Spirit593 img227 帧1 18×22 (249,533) 数字 FrameText
Spirit594 img227 帧1 19×22 (-238.5,480) 数字 FrameText
Spirit595 img227 帧1 28×22 (328,480) 数字 FrameText
Spirit624 img227 帧1 90×22 (-392,-405) 数字 FrameText
Spirit3099 img227 帧1 18×22 (-409,-80) 数字 FrameText(短号)
Spirit3237 img227 帧1 18×22 (-397,-144) 数字 FrameText
Spirit598 img228 帧1 156×37 (-198,296.5) 短号输入框数字

Label(11):

节点 语义 源尺寸/位置 迁移
Spirit599 短号说明 418×25 (310,-207) Label "其他玩家可通过输入短号快速加入您所创建的房间" fs=14 #000000;lpos(-121,554.5)
Spirit3015 房型说明 494×25 (388,-80) Label "更改正在游戏中的房间,房间类型会在当前牌局结束后更新" fs=14 #000000;lpos(-5,427.5)
Spirit628 选项文字① 75×25 (104,204) Label "Spirit628" fs=14 #FFFFFF;lpos(-498.5,143.5)
Spirit3098 选项文字 114×25 (463,403) Label "其他玩家可间" fs=14 #FFFFFF;lpos(-120,-55.5)
Spirit3101 选项文字 95×25 (285,-124) Label "其他玩家可" fs=14 #000000;lpos(-307.5,471.5)
Spirit3134 选项文字 95×25 (397,552) Label "其他玩家可" fs=14 #FFFFFF;lpos(-195.5,-204.5)
Spirit3168 选项文字② 75×25 (253,369) Label "Spirit628" fs=14 #FFFFFF;lpos(-349.5,-21.5)
Spirit3169 选项文字③ 75×25 (433,369) Label "Spirit628" fs=14 #FFFFFF;lpos(-169.5,-21.5)
Spirit3239 选项文字 114×25 (359,492) Label "其他玩家可间" fs=14 #FFFFFF;lpos(-224,-144.5)
Spirit600 装饰点 5×23 (193,827) Label "." fs=13 #FFFFFF;lpos(-444.5,-478.5)
Spirit601 装饰点 6×28 (390,756) Label "." fs=16 #FFFFFF;lpos(-247,-410)

脚本驱动要点:

  • 单 group-83 结构:左右双面板布局——左侧(x<640)为「高级房间选项」设置面板(Spirit578 背景 656×497 + Spirit3129 内框 + Spirit581 标题 + 短号输入 + 选项开关),右侧(x>640)为大面板(Spirit3135 背景 564×679 + Spirit3137 内框 + Spirit3136 标题),中间 Spirit611(img10 拉伸 100×508)为分隔条。
  • 短号输入区(叠放三件套):Spirit3158(img408 输入框 241×50)+ Spirit3097(img387 按钮 257×57)+ Spirit3130(img388 文本条 111×21)三者 lpos 均为 (-317.5,-80.5) 叠放,是「短号输入」核心交互区;配合 Spirit598(img228 FrameText 156×37 显示输入数字)与 Spirit3099(img227 FrameText 短号数字)。
  • 数字 FrameText:img227(10 帧数字 18×22)/ img228(10 帧数字 26×37)为逐帧数字 sprite,脚本按值切帧显示短号/计数(Spirit593/594/595/624/3099/3237 + Spirit598)。
  • 分享按钮三态:img236 帧 1/2/3(204×85)——Spirit626(帧 1)、Spirit652 分享好友(帧 2)、Spirit653 分享朋友圈(帧 3)。源 Name 里 652/653 有语义名,是分享功能的两个入口按钮。
  • 勾选框:img390 帧 2(40×40)三个 Spirit3100/3166/3167,脚本按勾选状态显隐/切帧(帧 1 未勾选 / 帧 2 已勾选)。
  • 多帧按钮 img219(帧 1/2/3)/ img426(帧 1/2):脚本按选中状态切帧。
  • 九宫格:7 处 SLICED 已设(border 见上表;img386 双节点复用,img387 普通+九宫格复用)。
  • 全屏遮罩:Spirit577(img382)contentSize 1600×720 拉伸,Widget 45。
  • 帧回绕:img385/10/229/395/397/410 源 FrameIndex(2/3/5/2/2/2)> frame_all=1,均回绕到帧 1(见 gameabc-frame-index-cyclic)。
  • 屏幕外元素:Spirit625(lpos -614.5,屏幕外左)、Spirit627(lpos -608.5,屏幕外左)为备用按钮(运行时按状态移入/显隐),源布局特征。
  • 动态文本:11 个 Label 均占位(见 4.1);其中 Spirit600/601 为装饰点 "."(白色,非语义文本)。
  • 可点击:全部 56 节点 CanClick=1。Spirit577 遮罩 MouseUp=577、Spirit578 左面板 MouseUp=578、Spirit626 分享帧 1 MouseUp=626、Spirit3097 短号按钮 MouseUp=3097(均自引用,见 4.2);其余 XML EventList 空。

3.41 Layer402_GameNotice.prefab(GameNoticeLayer,游戏公告滚动)

源 Layer00402.xml:2 spirits(1 sprite + 1 label),单 group-56。Name="GameNoticeLayer"。源 Spirit Name 有语义名:Spirit389「游戏公告滚动」、Spirit390「内容」。

层级树:

Layer402_GameNotice (1600×720, Widget 45)
└─ group-56 (1600×720, Widget 45)
   ├─ Spirit389 游戏公告滚动 (629×40, img39 SLICED 1/1/1/1)
   └─ Spirit390 内容 (Label "的" fs20 白)

九宫格(1 个):

节点 img 边框 L/T/R/B 源尺寸/位置 lpos
Spirit389 img39 1/1/1/1 629×40 (326,78) (0.5,262)

Label(1):

节点 语义 源尺寸/位置 迁移
Spirit390 内容(公告文字) 27×35 (561,78) Label "的" fs=20 #FFFFFF;lpos(-65.5,264.5)

脚本驱动要点:

  • 单 group-56,顶部「游戏公告滚动」横幅:Spirit389(img39 九宫格 629×40 背景)+ Spirit390(公告内容 Label,初始 "的" 占位,运行时滚动替换为公告文字)。
  • Spirit389 img39 原始 629×36 拉伸到 contentSize 629×40(源 Width/Height 直接采用,见 §1.7)。
  • 全部 2 节点 CanClick=1,EventList 空(无 MouseUp 自引用)。

3.42 Layer403.prefab(Layer403,准备按钮)

源 Layer00403.xml:1 spirit(1 sprite),单 group-81。Name="Layer403"(无语义名,故 prefab 用 Layer403)。Spirit515 有语义名「准备」。

层级树:

Layer403 (1600×720, Widget 45)
└─ group-81 (1600×720, Widget 45)
   └─ Spirit515 准备 (184×80, img208 帧1)

Sprite(1):

节点 语义 源尺寸/位置 迁移
Spirit515 准备按钮 184×80 (27,271) Sprite sf=img208 帧1;contentSize 184×80;lpos(111,-41);Widget 16

脚本驱动要点:

  • 单 group-81,仅一个「准备」按钮(img208 帧1,184×80)——玩家点击「准备」开始游戏的入口。
  • CanClick=1,EventList 空。img208 为 2 帧(帧1=准备 / 帧2=开始),本 Layer 只用到帧1(帧2 在 Layer404 Spirit184「开始」)。

3.43 Layer404_MainSceneButton.prefab(MainSceneButton_Layer,主场景按钮)

源 Layer00404.xml:6 spirits(5 sprite + 1 label),单 group-28。Name="MainSceneButton_Layer"。仅 Spirit184 有语义名「开始」,其余 Spirit183/195/569/657/658 无语义名(下方语义为按 img 推断)。

层级树:

Layer404_MainSceneButton (1600×720, Widget 45)
└─ group-28 (1600×720, Widget 45)
   ├─ Spirit657 (570×60, img87) 顶部横幅背景
   ├─ Spirit569 (300×70, img215 帧1)
   ├─ Spirit183 (300×70, img215 帧2)
   ├─ Spirit184 开始 (184×80, img208 帧2)
   ├─ Spirit195 (494×28, img181 帧1)
   └─ Spirit658 (Label "s" fs16 白)

Sprite(5):

节点 img(帧) 尺寸 lpos 语义(推断)
Spirit657 img87 570×60 (0,273) 顶部横幅背景(XML type=0,非全屏)
Spirit569 img215 帧1 300×70 (0,227) 主按钮①(img215 帧1)
Spirit183 img215 帧2 300×70 (0,142) 主按钮②(img215 帧2)
Spirit184 开始 img208 帧2 184×80 (-102,-41) 开始按钮
Spirit195 img181 帧1 494×28 (6,466) 底部条

Label(1):

节点 语义 源尺寸/位置 迁移
Spirit658 横幅文本 10×28 (-801,91) Label "s" fs=16 #FFFFFF;lpos(-185,273)

脚本驱动要点:

  • 单 group-28,主场景按钮层:顶部 Spirit657(img87 横幅 570×60)+ Spirit658 文本叠放;Spirit569/183(img215 帧1/2,300×70)双态按钮;Spirit184「开始」(img208 帧2,184×80);Spirit195(img181 帧1,494×28)底部条。
  • img215 双态(帧1/2)、img208 双态(帧1=准备 Layer403 / 帧2=开始 本层)——脚本按状态切帧。
  • 全部 6 节点 CanClick=1,EventList 空。

3.44 Layer405_MainButton.prefab(MainButton_Layer,主按钮)

源 Layer00405.xml:6 spirits(4 sprite + 2 label),单 group-21。Name="MainButton_Layer"。Spirit152「录音按钮」/ Spirit153「消息按钮」有语义名,Spirit3115/3116/3118/3119 无语义名。

层级树:

Layer405_MainButton (1600×720, Widget 45)
└─ group-21 (1600×720, Widget 45)
   ├─ Spirit152 录音按钮 (88×88, img68 帧2)
   ├─ Spirit153 消息按钮 (88×88, img68 帧1)
   ├─ Spirit3118 (27×27, img342 SLICED 13/13/13/13)
   ├─ Spirit3115 (102×64, img343)
   ├─ Spirit3116 (Label "Spirit3116" fs12 黑)
   └─ Spirit3119 (Label "12" fs12 白)

九宫格(1 个):

节点 img 边框 L/T/R/B 源尺寸/位置 lpos
Spirit3118 img342 13/13/13/13 27×27 (1183,1086) (605.5,-273.5)

Sprite(3,除九宫格外):

节点 img(帧) 尺寸 lpos 语义
Spirit152 录音按钮 img68 帧2 88×88 (576,-214) 录音按钮
Spirit153 消息按钮 img68 帧1 88×88 (576,-311) 消息按钮
Spirit3115 img343 102×64 (505,-264) 消息图标(FrameIndex=4 回绕帧 1)

Label(2):

节点 语义 源尺寸/位置 迁移
Spirit3116 说明文字 72×21 (960,1113) Label "Spirit3116" fs=12 #000000;lpos(320,-433.5)
Spirit3119 未读数 18×21 (1229,1093) Label "12" fs=12 #FFFFFF;lpos(605,-272.5)

脚本驱动要点:

  • 单 group-21,主按钮层(录音/消息入口):Spirit152 录音按钮(img68 帧2)、Spirit153 消息按钮(img68 帧1)——img68 为 2 帧(帧1=消息 / 帧2=录音)。
  • 消息按钮叠加:Spirit3118(img342 九宫格 27×27 底)+ Spirit3115(img343 102×64 图标)+ Spirit3119("12" 未读数 Label)叠放,构成带角标的按钮。
  • Spirit3119 "12" 为未读数占位(运行时替换);Spirit3116 "Spirit3116" 为说明文字占位。
  • img343 源 FrameIndex=4 > frame_all=1,回绕到帧 1(见 gameabc-frame-index-cyclic)。
  • 全部 6 节点 CanClick=1,EventList 空。

3.45 Layer411.prefab(Layer411,房号栏)

源 Layer00411.xml:6 spirits(5 sprite + 1 FrameText),单 group-81。Name="Layer411"(无语义名,故 prefab 用 Layer411)。Spirit3143「房号背景」/ 3144「解散」/ 3145「退出」/ 3146「房号」/ 3147「房号tag」有语义名,Spirit3151 无语义名。

层级树:

Layer411 (1600×720, Widget 45)
└─ group-81 (1600×720, Widget 45)
   ├─ Spirit3143 房号背景 (742×48, img400)
   ├─ Spirit3144 解散 (160×80, img404 帧2)
   ├─ Spirit3145 退出 (160×80, img404 帧3→1, MouseUp=3145)
   ├─ Spirit3146 房号 (102×21, img398 帧1 FrameText)
   ├─ Spirit3147 房号tag (59×25, img399)
   └─ Spirit3151 (160×60, img403)

Sprite + FrameText(6):

节点 img(帧) 尺寸 lpos 语义
Spirit3143 房号背景 img400 742×48 (-52,612) 房号背景
Spirit3144 解散 img404 帧2 160×80 (209,612) 解散按钮
Spirit3145 退出 img404 帧3→1 160×80 (-298,612) 退出按钮(MouseUp=3145 自引用)
Spirit3146 房号 img398 帧1 102×21 (-71,611.5) 房号数字 FrameText(type=4)
Spirit3147 房号tag img399 59×25 (-163.5,611.5) 房号 tag
Spirit3151 img403 160×60 (63,614) 图标/按钮(无语义名)

脚本驱动要点:

  • 单 group-81,顶部房号栏:Spirit3143 房号背景(img400 742×48)+ Spirit3146 房号数字 FrameText(img398 帧1)+ Spirit3147 房号 tag(img399)叠放显示房间号。
  • Spirit3144 解散(img404 帧2)/ Spirit3145 退出(img404 帧3 回绕帧1)——img404 为 2 帧(帧1=退出 / 帧2=解散)。
  • Spirit3145 退出 MouseUp=3145(自引用)——点击退出触发关闭/退出流程;其余 EventList 空。
  • img404 源 FrameIndex=3 > frame_all=2,回绕到帧 1(((3-1)%2)+1=1)。
  • 全部 6 节点 CanClick=1。

3.46 Layer420_CheckFree.prefab(CheckFree_Layer,确认解散)

源 Layer00420.xml:7 spirits(6 sprite + 1 label),单 group-36。Name="CheckFree_Layer"。Spirit242「确认解散遮罩」/ 243「确认解散背景」/ 244「确认底」/ 247「关闭解散确认」/ 246「取消」/ 245「确认」有语义名,Spirit361 无语义名。

层级树:

Layer420_CheckFree (1600×720, Widget 45)
└─ group-36 (1600×720, Widget 45)
   ├─ Spirit242 确认解散遮罩 (1600×720, img11 拉伸, Widget 45)
   ├─ Spirit243 确认解散背景 (637×212, img41 SLICED 55/45/55/45)
   ├─ Spirit244 确认底 (550×120, img42 SLICED 53/48/53/48)
   ├─ Spirit247 关闭解散确认 (83×84, img33)
   ├─ Spirit245 确认 (157×74, img179 帧1)
   ├─ Spirit246 取消 (157×74, img179 帧2, MouseUp=246)
   └─ Spirit361 (Label "1" fs20 白)

九宫格(2 个):

节点 img 边框 L/T/R/B 源尺寸/位置 lpos
Spirit243 img41 55/45/55/45 637×212 (313,208) (0.5,44)
Spirit244 img42 53/48/53/48 550×120 (356,188) (0,55)

Sprite(4,除九宫格外):

节点 img(帧) 尺寸 lpos 语义
Spirit242 确认解散遮罩 img11 1600×720 (0,0) 全屏遮罩(Widget 45 拉伸)
Spirit247 关闭解散确认 img33 83×84 (-256.5,-489) 关闭按钮
Spirit245 确认 img179 帧1 157×74 (-130.5,-59) 确认按钮
Spirit246 取消 img179 帧2 157×74 (143.5,-59) 取消按钮(MouseUp=246 自引用)

Label(1):

节点 语义 源尺寸/位置 迁移
Spirit361 提示文字 15×35 (411,273) Label "1" fs=20 #FFFFFF;lpos(-228.5,54.5)

脚本驱动要点:

  • 单 group-36,确认解散弹窗:Spirit242 全屏遮罩(img11 拉伸)+ Spirit243 背景(img41 九宫格)+ Spirit244 底(img42 九宫格)+ Spirit361 提示文字。
  • 按钮:Spirit245 确认(img179 帧1)/ Spirit246 取消(img179 帧2)——img179 为 2 帧(帧1=确认 / 帧2=取消)。
  • Spirit246 取消 MouseUp=246(自引用)——点击取消关闭弹窗;Spirit247 关闭解散确认(img33)为另一关闭入口。
  • 全部 7 节点 CanClick=1。

3.47 Layer408_Interact.prefab(Interact_Layer,互动动画)

源 Layer00408.xml:21 spirits(21 sprite),双 group(21 + 39)。Name="Interact_Layer"。4 组互动动画有语义名(互动动画 / 互动动画2 / 互动动画3 / 互动动画4),Spirit466 无语义名。

层级树:

Layer408_Interact (1600×720, Widget 45)
├─ group-21 (1600×720, Widget 45)
│  └─ Spirit466 (2×2, img10)  ⚠️ 异常 2×2,见脚本驱动要点
└─ group-39 (1600×720, Widget 45)
   ├─ Spirit274~278  互动动画  (143×135, img99  帧1) ×5
   ├─ Spirit292~296  互动动画2 (110×98,  img102 帧1) ×5
   ├─ Spirit297~301  互动动画3 (200×100, img103 帧1) ×5
   └─ Spirit302~306  互动动画4 (130×130, img104 帧1) ×5

Sprite(21,无九宫格 / 无 Label):

组 节点 img(帧) 尺寸 lpos 范围
group-21 Spirit466 img10 2×2 (-639, 359)
group-39 Spirit274~278 img99 帧1(7帧) 143×135 x∈[-755.5,554.5] y∈[-457.5,445.5]
group-39 Spirit292~296 img102 帧1(12帧) 110×98 x∈[-758,916] y∈[-477,175]
group-39 Spirit297~301 img103 帧1(4帧) 200×100 x∈[-715,778] y∈[-327,193]
group-39 Spirit302~306 img104 帧1(12帧) 130×130 x∈[-742,833] y∈[-585,226]

脚本驱动要点:

  • group-39 为 20 个互动动画(4 组各 5 个,分散在牌桌四周),全部 CanClick=1,均用帧 1 落盘(脚本运行时切帧播放动画):img99(7 帧)/ img102(12 帧)/ img103(4 帧)/ img104(12 帧)。
  • Spirit466(group-21)是 img10 2×2 的异常 sprite:源数据 SizeRelaWidth 恒等于 Width(编辑器默认),忠实复刻 contentSize=2×2,lpos=(-639,359)。语义存疑(可能是源工程遗留占位),待运行时验证,不做臆测修正。
  • img103 单帧实际 400×200,但 spirit 渲染 200×100(源数据 2x 缩放)。

3.48 Layer409_ChatVoice.prefab(Chat_Voice_Layer,语音聊天)

源 Layer00409.xml:20 spirits(20 sprite),单 group-76。Name="Chat_Voice_Layer"。Spirit612「语音气泡」/ Spirit642「语音动画」有语义名,其余气泡(613621)/ 动画(643651)无语义名。

层级树:

Layer409_ChatVoice (1600×720, Widget 45)
└─ group-76 (1600×720, Widget 45)
   ├─ Spirit612~621 语音气泡 (127×63, img83 SLICED 30/20/30/20) ×10
   └─ Spirit642~651 语音动画 (20×25, img100 帧1) ×10

九宫格(10 个):

节点 img 边框 L/T/R/B 源尺寸/位置 lpos
Spirit612~621 img83 30/20/30/20 127×63 各 (-512.5,-267.5)…(84.5,-470.5)

Sprite(10,除九宫格外):

节点 img(帧) 尺寸 lpos 语义
Spirit642~651 img100 帧1(3帧) 20×25 (-547,-264.5)…(47,-468.5) 语音动画

脚本驱动要点:

  • 10 组「气泡 + 语音动画」成对布局:Spirit612 气泡 ↔ Spirit642 动画、Spirit613 ↔ Spirit643 … Spirit621 ↔ Spirit651。
  • 气泡 img83 九宫格(30/20/30/20),动画 img100 3 帧用帧 1。
  • 全部 20 节点 CanClick=1。

3.49 Layer410_ChatText.prefab(Chat_Text_Layer,文字聊天)

源 Layer00410.xml:20 spirits(10 sprite + 10 label),单 group-75。Name="Chat_Text_Layer"。Spirit552「聊天气泡」/ Spirit582「聊天内容」有语义名,其余气泡(553561)/ 文本(583591)无语义名。

层级树:

Layer410_ChatText (1600×720, Widget 45)
└─ group-75 (1600×720, Widget 45)
   ├─ Spirit552~561 聊天气泡 (127×63, img83 SLICED 30/20/30/20) ×10
   └─ Spirit582~591 聊天文本 (Label fs14 白) ×10

九宫格(10 个):

节点 img 边框 L/T/R/B 源尺寸/位置 lpos
Spirit552~561 img83 30/20/30/20 127×63 各 (-434.5,-200.5)…(-43.5,-644.5)

Label(10 个):

节点 语义 源尺寸/位置 迁移
Spirit582 聊天内容 76×25 (143,547) Label "聊天内容" fs=14 #FFFFFF;lpos(-459,-199.5)
Spirit583~591 聊天文本占位 75×25 各 Label fs=14 #FFFFFF(源 text="Spirit582" 占位,运行时 set)

脚本驱动要点:

  • 10 组「气泡 + 文本」成对:Spirit552 气泡 ↔ Spirit582 文本 … Spirit561 ↔ Spirit591。
  • 文本源数据 text 均为占位("聊天内容" / "Spirit582"),运行时 set string 填充实际聊天内容;字号 14、白色 #FFFFFF。
  • 全部 20 节点 CanClick=1。

3.50 Layer413_BtnPanel.prefab(btnPannelLayer,按钮面板)

源 Layer00413.xml:18 spirits(14 sprite + 3 label + 1 其它),四 group(21 / 99 / 100 / 81)。Name="btnPannelLayer"。按钮有语义名(游戏界面设置/帮助/退出按钮/更换房间/逃跑/下载/解散),Spirit110「房间号」有语义名。

层级树:

Layer413_BtnPanel (1600×720, Widget 45)
├─ group-21 (1600×720, Widget 45)
│  └─ Spirit107 (100×88, img377)
├─ group-99 (1600×720, Widget 45)
│  ├─ Spirit108 侧边 (396×720, img378 SLICED 1/1/1/1)
│  ├─ Spirit3123 底 (1145×720, img10 SLICED 1/1/1/1)
│  └─ Spirit151/150/233/3014/513/656/185 按钮×7 (155×80, img238 帧1~7)
├─ group-100 (1600×720, Widget 45)
│  ├─ Spirit109 大背景 (280×126, img379 SLICED 90/90/90/90)
│  ├─ Spirit3124 全屏底 (1280×720, img10 SLICED 1/1/1/1)
│  ├─ Spirit512 图标 (72×29, img205)
│  └─ Spirit110 房间号 / Spirit111 (Label fs13)
└─ group-81 (1600×720, Widget 45)
   ├─ Spirit3148 输入框 (141×33, img402 SLICED 20/50/20/10)
   ├─ Spirit3149 图标 (54×60, img401)
   └─ Spirit3150 (Label fs14)

九宫格(5 个):

节点 img 边框 L/T/R/B 源尺寸/位置 lpos
Spirit108 侧边 img378 1/1/1/1 396×720 (0,0) (-442,0)
Spirit3123 底 img10 1/1/1/1 1145×720 (135,0) (67.5,0)
Spirit109 大背景 img379 90/90/90/90 280×126 (341,2) (-159,295)
Spirit3124 全屏底 img10 1/1/1/1 1280×720 (0,0) (0,0)
Spirit3148 输入框 img402 20/50/20/10 141×33 (814,7) (244.5,336.5)

Sprite(9,除九宫格外):

节点 img(帧) 尺寸 lpos 语义
Spirit107 img377 100×88 (-596,321) group-21 图标
Spirit151 img238 帧1 155×80 (-562.5,245) 游戏界面设置
Spirit150 img238 帧2 155×80 (-562.5,152) 游戏界面帮助
Spirit233 img238 帧3 155×80 (-562.5,-34) 退出按钮
Spirit3014 img238 帧4 155×80 (-562.5,-127) 更换房间
Spirit513 img238 帧5 155×80 (-562.5,-220) 逃跑
Spirit656 img238 帧6 155×80 (-562.5,-313) 下载
Spirit185 img238 帧7 155×80 (-562.5,59) 解散
Spirit512 img205 72×29 (-85,320.5) group-100 图标
Spirit3149 img401 54×60 (460,330) group-81 图标

Label(3):

节点 语义 源尺寸/位置 迁移
Spirit110 房间号 8×23 (421,28) Label fs=13 #000000;lpos(-215,320.5)
Spirit111 — 8×23 (369,68) Label fs=13 #98927E;lpos(-267,280.5)
Spirit3150 — 9×25 (814,7) Label fs=14 #3C3C3C;lpos(178.5,340.5)

脚本驱动要点:

  • 四 group:group-21 图标、group-99 左侧按钮栏(7 个 img238 按钮 + img378 侧边 + img10 底)、group-100 房号栏(img379 背景 + img10 全屏底 + img205 图标 + 房号文本)、group-81 输入框(img402 + img401 + 文本)。
  • img238 为 7 帧(1×7)按钮图,7 个按钮各用一帧(设置/帮助/退出/更换房间/逃跑/下载/解散),脚本切换 active 态。
  • 文本 Spirit110「房间号」fs13 黑、Spirit111 fs13 棕(#98927E)、Spirit3150 fs14 深灰(#3C3C3C),均占位 "s",运行时 set。
  • 全部 18 节点 CanClick=1。

3.51 Layer416_PlayerInfo.prefab(MainScene_PlayerInfo_Layer,玩家信息)

源 Layer00416.xml:16 spirits(10 sprite + 6 label),双 group(77 + 38)。Name="MainScene_PlayerInfo_Layer"。Spirit215「个人信息遮罩」有语义名,其余无语义名。

层级树:

Layer416_PlayerInfo (1600×720, Widget 45)
├─ group-77 (1600×720, Widget 45)
│  ├─ Spirit215 个人信息遮罩 (1600×720, img11 拉伸)
│  ├─ Spirit216 背景 (454×325, img54 SLICED 70/70/70/70)
│  ├─ Spirit282 头像 (105×103, img25)
│  └─ Spirit279/280/281/511/3125 (Label fs14 黑) ×5
└─ group-38 (1600×720, Widget 45)
   └─ Spirit256~263 表情图标 (80×80, img105 SLICED 20/20/20/20) ×8

九宫格(9 个):

节点 img 边框 L/T/R/B 源尺寸/位置 lpos
Spirit216 背景 img54 70/70/70/70 454×325 (414,198) (1,-0.5)
Spirit256~263 表情 img105 20/20/20/20 80×80 各 上排 (-139…146,-89) / 下排 (-150…135,-505)

Sprite(2,除九宫格外):

节点 img 尺寸 lpos 语义
Spirit215 个人信息遮罩 img11 1600×720 (0,0) 全屏遮罩(Widget 45 拉伸)
Spirit282 头像 img25 105×103 (-125.5,51.5) 玩家头像

Label(5):

节点 源尺寸/位置 迁移
Spirit279~281 / 511 / 3125 75×25 (596,231~367) Label fs=14 #000000(源 text="Spirit766" 占位,运行时 set 昵称/ID/签名等)

脚本驱动要点:

  • 双 group:group-77 玩家信息面板(遮罩 img11 + 背景 img54 九宫格 + 头像 img25 + 5 个动态文本),group-38 表情/快捷语图标栏(img105 九宫格 ×8,上排 4 + 下排 4)。
  • img54 九宫格边框 70/70/70/70(与 Layer17 一致);img105 边框 20/20/20/20。
  • 5 个文本(昵称/ID/签名等)源数据均为 "Spirit766" 占位,运行时 set string 填充。
  • 全部 16 节点 CanClick=1。

3.52 Layer418_ChatPannel.prefab(ChatPannel_Layer,聊天面板)

源 Layer00418.xml:54 spirits(48 sprite + 6 label),单 group-30。Name="ChatPannel_Layer"。这是对局聊天总面板,包含常用语、表情、历史记录、系统公告和发送区。

层级树:

Layer418_ChatPannel (1600×720, Widget 45)
└─ group-30 (1600×720, Widget 45)
   ├─ 聊天遮罩 / 聊天背景 / 聊天底
   ├─ 常用语 / 表情 tab + 聊天输入框
   ├─ 常用语1~7
   ├─ Spirit528~547 表情×20
   ├─ 表情父精灵 / 历史记录父精灵 / 系统公告父精灵(初始隐藏)
   ├─ 历史记录/公告附属图标与文本
   └─ 发送 + Spirit3113 + Spirit3111

九宫格(4 个):

节点 img 边框 L/T/R/B 源尺寸 lpos
聊天背景 Spirit187 img41 55/45/55/45 753×671 (248.5,4.5)
聊天底 Spirit213 img84 20/20/20/20 541×509 (331.5,-45.5)
Spirit163 img83 30/20/30/20 400×63 (339,432.5)
Spirit3112 img342 13/13/13/13 27×27 (36.5,-26.5)

主要 Sprite:

  • 聊天遮罩 Spirit186:img11,源 1280×720,迁移为 1600×720 全屏拉伸。
  • 常用语/表情 tab:img81 帧 1/2;常用语17:img85 帧 17。
  • 表情 Spirit528547:img147166,共 20 个 100×100 图标;Spirit538 使用 img157 帧 30,其余按源 FrameIndex。
  • 三个父精灵 Spirit467/696/3109:img10,分别为表情、历史记录、系统公告容器底,均保持 active=false 初始隐藏。
  • 历史记录/公告区使用 img175、img81、img100 帧3、img167 帧1~4、img3、img344;发送按钮 Spirit205 使用 img82。

Label(6):

节点 源文本 源尺寸 迁移
聊天输入框 Spirit204 空 420×50 fs20 #000000,WordWrap;源 AutoSize=0,用 CLAMP 保持输入区域尺寸
Spirit164 / Spirit480 "啊" 19×25 fs14 #FFFFFF;源 AutoSize=1,用 NONE 随运行期文本自动扩展
Spirit3110 "s" 9×25 fs14 #FFFFFF;源 AutoSize=1,用 NONE 随运行期文本自动扩展
Spirit3114 "12" 18×21 fs12 #FFFFFF;源 AutoSize=1,用 NONE 随运行期文本自动扩展
Spirit3117 "12" 18×21 fs12 #000000;源 AutoSize=1,用 NONE 随运行期文本自动扩展

脚本驱动要点:

  • 常用语、表情、历史记录、系统公告是同一 group 内的互斥区域;脚本按 tab 切换相关节点显隐。
  • Label 严格按源 AutoSize 分流:仅 Spirit204(AutoSize=0)使用 CLAMP 固定输入区域;其余 5 个动态文本(AutoSize=1)使用 NONE 保留自动尺寸语义,避免聊天记录/公告长文本被初始窄尺寸裁切。
  • 源 XML 仅 Spirit186(聊天遮罩)和 Spirit696(历史记录父精灵)有自引用 MouseUp;业务绑定阶段分别处理关闭面板与历史记录区域点击。

3.53 Layer202_PlayerHeadScore.prefab(Player_Head_Score_Layer,玩家头像分数)

源 Layer00202.xml:60 spirits(40 sprite + 20 label),11 group(43~52 + 73)。Name="Player_Head_Score_Layer"。Spirit468「表情底」有语义名,其余无语义名。

层级树:

Layer202_PlayerHeadScore (1600×720, Widget 45)
├─ group-43~52 玩家座位 ×10 (1600×720, Widget 45) 每 group:
│  ├─ 九宫格底   (129×176, img76 SLICED 45/45/45/45)
│  ├─ 头像       (93×93, img116~125)
│  ├─ 昵称 Label (86×25, fs14 #FFCB5C "玩家1昵称")
│  └─ 积分 Label (38×25, fs14 #FFCB5C "积分")
└─ group-73 表情 ×20 (1600×720, Widget 45)
   ├─ Spirit468~477 表情底 (105×99, img146) ×10
   └─ Spirit498~507 表情   (100×100, img147 帧1) ×10

九宫格(10 个):

节点 img 边框 L/T/R/B 源尺寸/位置 lpos
Spirit346~355 img76 45/45/45/45 129×176 各 (-541.5,-261)…(382.5,-563)

Sprite(30,除九宫格外):

节点 img(帧) 尺寸 lpos 语义
Spirit376~385 img116~125 93×93 (-547.5,-238.5)…(378.5,-515.5) 玩家头像
Spirit468~477 img146 105×99 (-547.5,-240.5)…(381.5,-514.5) 表情底
Spirit498~507 img147 帧1(5帧) 100×100 (-547,-239)…(383,-514) 表情图标

Label(20 个):

节点 语义 源尺寸/位置 迁移
Spirit406~415 玩家昵称 86×25 各 Label "玩家1昵称" fs=14 #FFCB5C;运行时 set 昵称
Spirit436~445 玩家积分 38×25 各 Label "积分" fs=14 #FFCB5C;运行时 set 积分

脚本驱动要点:

  • 11 group:group-43~52 是 10 个玩家座位(环绕牌桌四周),group-73 是表情动画(10 组「表情底 + 表情图标」)。
  • 每座位 4 件套成对:九宫格底(Spirit346355)↔ 头像(Spirit376385)↔ 昵称(Spirit406415)↔ 积分(Spirit436445)。
  • 昵称/积分文本 fs=14 橙金 #FFCB5C,源 text="玩家1昵称"/"积分" 为占位,运行时 set string 填充实际玩家昵称/积分。
  • 表情:img146 底 + img147 帧1(5 帧多帧图,落盘用帧 1,运行时切帧播放表情动画)。
  • 全部 60 节点 CanClick=1,其中 Spirit346(group-43 座位底)/ Spirit349(group-46 座位底)源 Event MouseUp=自身 ID(点击头像框触发查看玩家),其余空 Event(按需绑定)。
  • img76 九宫格边框 45/45/45/45(单一使用,已写入 spriteFrame border)。

4. 脚本驱动汇总

4.1 动态文本节点(脚本需 set string)

prefab 节点 初始 _string
Layer616_Kick 强制退出提示文字 "强制退出提示文字"(占位,运行时替换)
Layer612_Tips 提示文字(group-32) "提示文字"(占位,运行时替换)
Layer612_Tips Spirit3013(group-89) "提示文字"(占位,运行时替换)
Layer617_iMessage 即时通知信息内容 "小"(占位,运行时替换)
Layer601 Spirit3154 ""(空,运行时填充)
Layer601 Spirit3160 "Spirit3160"(占位,运行时替换)
Layer608_Help 帮助文字 "帮助文字"(占位,运行时替换)
Layer606_Apply Spirit166~175(等待列表) "等待"(占位,运行时填充投票玩家)
Layer606_Apply Spirit264~273(昵称列表) "昵称"(占位,运行时填充投票玩家)
Layer4_MainMenu Spirit220 公告文字 "公告文字"(占位,运行时替换为实际公告)
Layer4_MainMenu Spirit340 微信公众号内容 "微信公众号内容"(占位,运行时替换)
Layer4_MainMenu Spirit497 "1000"(房卡数量值,运行时替换)
Layer4_MainMenu Spirit681 客服QQ "客服QQ说明"(占位,运行时替换为实际客服QQ号)
Layer50_MainScene Spirit291 "Spirit291"(占位,运行时替换为房间/昵称信息)
Layer19_WorldRoomList Spirit526/3020/3022/3024(group-96 卡片文本) "啊"/"s"/"Spirit526"(占位,运行时替换为房主名/房间信息)
Layer19_WorldRoomList Spirit564/3021/3023/3025/3165(group-97 卡片文本) "Spirit526"/"s"(占位,运行时替换为房主名/房间信息)
Layer19_WorldRoomList Spirit527/562/563/565(group-82 列表头/框架文本) "Spirit526"(占位,运行时替换为列表内容)
Layer27_CreateRoom Spirit672/673/674/675(选项文本) "Spirit672"(占位,运行时替换为局数/下注上限/玩法选项值)
Layer11_ChargeInfo Spirit148 充值提示文字 "充值提示文字"(占位,运行时替换)
Layer11_ChargeInfo Spirit680 "字"(占位,运行时替换)
Layer16_Bind Spirit365 ""(空,运行时填充绑定内容)
Layer16_Bind Spirit368 "Spirit368"(占位,运行时替换)
Layer8_Notice Spirit145 公告内容 "公告内容"(占位,运行时替换为实际公告,白色)
Layer18_Auth Spirit489/490/491/492(授权文字) ""(空)/ "Spirit491"/"Spirit492"(占位,运行时替换为授权说明,黑色)
Layer17_PlayerInfo Spirit196/197/198/199/200/510/3152/3157(玩家信息字段) "Spirit196"/"Spirit766"(占位,运行时替换为昵称/ID/个性签名等,黑色)
Layer21_RankList Spirit632/633/636/637/638/640/641(排行榜条目) "色丰富飞的放到的是是 "/"Spirit632"(占位,运行时替换为昵称/分数;640/641 暗红 #6C130F 标名次)
Layer12_CombatLayer Spirit65/66/89(战绩文字内容) "战绩文字"(占位,运行时替换为战绩条目内容;89 fontSize=24)
Layer12_CombatLayer Spirit67/90(白色文本) "a"/"昵称积分"(占位,运行时替换,白色)
Layer12_CombatLayer Spirit685(黄色装饰文本) " "(9 空格,黄色 #E4EA1E,装饰/隐藏用途)
Layer7_ewm Spirit3209/3212/3261(弹窗一文字) "Spirit3209"/"s"/"s"(占位,运行时替换,黑色;3261 fontSize=12)
Layer7_ewm Spirit3224(弹窗二白字) "Spirit3224"(占位,运行时替换,白色)
Layer7_ewm Spirit3226/3229/3230(弹窗二文字) "Spirit3226"(占位,运行时替换,黑色)
Layer9_Feedback 反馈输入内容 ""(空,运行时填充反馈内容,fs=20 黑)
Layer9_Feedback 通知内容 "消"(占位,运行时替换为通知正文,fs=16 深棕 #662910)
Layer29_PhoneInfo Spirit3279/3292(白名单文本) "Spirit3209"(占位,运行时替换为玩家ID/数值,fs=14 黑)
Layer29_PhoneInfo Spirit3280/3283/3288(白名单小文本) "s"(占位,运行时替换,fs=14 黑)
Layer6 Spirit3171/3198 ID、Spirit3259(group-103 牌桌) "ID"/"Spirit3259"(占位,运行时替换,白)
Layer6 Spirit3177~3180/3188/3189(group-103 小数点) "."(牌桌金额/数字小数点分隔,运行时随位数移动,白/深棕 #3C280A)
Layer6 Spirit289 ID、Spirit288 昵称(group-3 头部) "ID"/"昵称"(占位,运行时替换为玩家ID/昵称;昵称橙金 #FFCB5C)
Layer14_Pay Spirit426~435(group-53 金额文本×10) "Spirit426"(占位,运行时替换为实际金额值,fs=20 黑)
Layer25_wareHouse Spirit3042/3073/3082/3083(仓库文本×4) "Spirit3042"/"Spirit3073"/" 待输入"(占位,运行时替换为仓库物品名/数值/输入提示;3073 暗红棕 #8D170E fs=20,3082/3083 fs=14 黑)
Layer26_Task Spirit135/136/137/138(描述)、Spirit307/308/309/310(奖励说明)、Spirit319/320/321/322(进度文字) "任务一描述一一依依一"/"Spirit135"/"啊"/"Spirit307"/"任务一进度文字说明"/"Spirit319"(占位,运行时替换为任务描述/奖励说明/进度;135138 fs=14 深棕 #662910,307310 fs=14 黑,319 白 #FFFFFF,320~322 fs=12 黑)
Layer28_SeniorOptions Spirit599/3015(说明文字)、Spirit628/3098/3101/3134/3168/3169/3239(选项文字)、Spirit600/601(装饰点) "其他玩家可通过输入短号快速加入您所创建的房间"/"更改正在游戏中的房间,房间类型会在当前牌局结束后更新"/"Spirit628"/"其他玩家可间"/"其他玩家可"/"."(占位,运行时替换;599/3015/3101 fs=14 黑 #000000,628/3098/3134/3168/3169/3239 fs=14 白 #FFFFFF,600 fs=13 白,601 fs=16 白)
Layer402_GameNotice Spirit390(公告内容) "的"(占位,运行时滚动替换为公告文字,fs=20 白 #FFFFFF)
Layer404_MainSceneButton Spirit658(横幅文本) "s"(占位,运行时替换为横幅内容,fs=16 白 #FFFFFF)
Layer405_MainButton Spirit3116(说明文字)、Spirit3119(未读数) "Spirit3116"/"12"(占位,运行时替换;3116 fs=12 黑 #000000,3119 fs=12 白 #FFFFFF 未读数)
Layer420_CheckFree Spirit361(提示文字) "1"(占位,运行时替换为确认解散提示,fs=20 白 #FFFFFF)
Layer410_ChatText Spirit582(聊天内容)、Spirit583~591 "聊天内容"/"Spirit582"(占位,运行时替换为聊天文本,fs=14 白 #FFFFFF)
Layer413_BtnPanel Spirit110(房间号)、Spirit111、Spirit3150 "s"(占位,运行时替换为房间号/说明;110 fs=13 黑 #000000,111 fs=13 棕 #98927E,3150 fs=14 深灰 #3C3C3C)
Layer416_PlayerInfo Spirit279/280/281/511/3125(玩家信息字段) "Spirit766"(占位,运行时替换为昵称/ID/个性签名等,fs=14 黑 #000000)
Layer418_ChatPannel Spirit204(聊天输入框)、Spirit164/480/3110/3114/3117(历史/公告文本) 空/"啊"/"s"/"12"(运行时替换为输入内容、历史记录或公告;fs=12/14/20,颜色见 §3.52)
Layer202_PlayerHeadScore Spirit406415(昵称)、Spirit436445(积分) "玩家1昵称"/"积分"(占位,运行时替换为玩家昵称/积分,fs=14 橙金 #FFCB5C)

4.2 可点击节点(脚本需 bind 回调)

prefab 节点 源 Event 语义
Layer614_Loading 载入遮罩 MouseUp=326(自引用) 点击关闭 loading
Layer619_BackHall Spirit465 空 返回大厅按钮
Layer615_Reconnect 掉线遮罩 空 点击取消重连/关闭(按需绑定)
Layer10_Protol Spirit253 空 关闭协议弹窗
Layer10_Protol 协议遮罩 空 点击遮罩关闭(按需绑定)
Layer612_Tips Spirit3193 空 提示遮罩(点击关闭,按需绑定)
Layer612_Tips Spirit3012 空 九宫格提示按钮(点击关闭/确认,按需绑定)
Layer620_Record Spirit3126 空 记录遮罩(点击关闭,按需绑定)
Layer620_Record Spirit3127 空 记录背景(按需绑定)
Layer620_Record Spirit3128 空 记录动画(按需绑定)
Layer618 Spirit654 空 全屏背景(按需绑定)
Layer618 Spirit655 空 遮罩(IsVisible=0,按需绑定)
Layer603 Spirit3267 空 遮罩(点击关闭,按需绑定)
Layer603 Spirit3268 空 双帧图标·帧1(按需绑定)
Layer603 Spirit3269 空 双帧图标·帧2(按需绑定)
Layer617_iMessage 即时通知背景 空 横幅背景(按需绑定)
Layer617_iMessage 即时通知图标 空 通知图标(按需绑定)
Layer617_iMessage 即时通知关闭 空 关闭通知按钮(按需绑定)
Layer601 Spirit3153 MouseUp=3153(自引用) 点击遮罩关闭
Layer601 Spirit3155 空 右侧按钮·上(按需绑定)
Layer601 Spirit3159 空 右侧按钮·下(按需绑定)
Layer608_Help 帮助遮罩 空 点击遮罩关闭(按需绑定)
Layer608_Help 关闭帮助 空 关闭帮助弹窗按钮
Layer609_Setting 设置遮罩 MouseUp=42(自引用) 点击遮罩关闭
Layer609_Setting Spirit387 MouseUp=387(自引用) 点击该图标关闭/切换
Layer609_Setting 退出登录 空 退出登录按钮(按需绑定)
Layer609_Setting 申请解散 空 申请解散按钮(按需绑定)
Layer609_Setting 邀请好友 空 邀请好友按钮(按需绑定)
Layer609_Setting 音乐图标 空 音乐图标(按需绑定)
Layer609_Setting 音效图标 空 音效图标(按需绑定)
Layer602_inputPannel Spirit660 MouseUp=660(自引用) 点击背景关闭输入面板
Layer602_inputPannel Spirit670(帧 9) MouseUp=670(自引用) 点击该键关闭(疑「确定」键)
Layer602_inputPannel Spirit3004 空 关闭输入面板按钮
Layer602_inputPannel Spirit3217 空 删除键(退格,按需绑定)
Layer602_inputPannel Spirit661~671/3000(12 键) 空 数字键盘按键(按需绑定各自键值)
Layer606_Apply Spirit189 空 遮罩(点击关闭,按需绑定)
Layer606_Apply Spirit201 空 同意投票按钮
Layer606_Apply Spirit202 空 拒绝投票按钮
Layer606_Apply Spirit223 空 投票结果确认键
Layer607_Cal Spirit391 MouseUp=391(自引用) 关闭计算器按钮
Layer607_Cal Spirit375 空 关闭图标(按需绑定)
Layer607_Cal Spirit371 空 遮罩(点击关闭,按需绑定)
Layer607_Cal Spirit392~403(12 键) 空 数字键盘按键(按需绑定各自键值)
Layer4_MainMenu Spirit4 主界面背景 MouseUp=4(自引用) 点击背景(按需绑定)
Layer4_MainMenu Spirit679 MouseUp=679(自引用) 点击大厅主视觉(按需绑定)
Layer4_MainMenu Spirit219 公告底 MouseUp=219(自引用) 点击公告栏(打开公告详情)
Layer4_MainMenu Spirit16 广告 MouseUp=16(自引用) 点击广告(按需绑定)
Layer4_MainMenu Spirit340 微信公众号内容 MouseUp=340(自引用) 点击公众号文字(按需绑定)
Layer4_MainMenu Spirit11 创建房间 空 创建房间按钮
Layer4_MainMenu Spirit12 加入房间 空 加入房间按钮
Layer4_MainMenu Spirit7/13/14/17/3120(tab) 空 底部导航 tab:设置/战绩/分享/任务/更多
Layer4_MainMenu Spirit483 比赛场 空 比赛场按钮
Layer4_MainMenu Spirit568 星星场平台 空 星星场平台按钮
Layer4_MainMenu Spirit3016 商城按钮 空 商城按钮
Layer4_MainMenu Spirit3018 福袋 空 福袋按钮
Layer4_MainMenu Spirit99 房间列表按钮 空 房间列表按钮
Layer4_MainMenu Spirit234 更多按钮 空 更多按钮
Layer4_MainMenu Spirit3139 空 主按钮(无名称,按需绑定)
Layer4_MainMenu Spirit76 二维码 空 二维码(按需绑定)
Layer4_MainMenu Spirit339 微信公众号 空 微信公众号按钮
Layer50_MainScene Spirit149 背景 MouseUp=149(自引用) 点击背景(按需绑定)
Layer50_MainScene Spirit284 MouseUp=284(自引用) 点击顶部横幅(按需绑定)
Layer50_MainScene Spirit336 wifi MouseUp=336(自引用) 点击 wifi(按需绑定)
Layer50_MainScene Spirit291 MouseUp=291(自引用) 点击文本(按需绑定)
Layer15_JoinRoom Spirit27 加入房间遮罩 空 遮罩(点击关闭,按需绑定)
Layer15_JoinRoom Spirit59 加入房间关闭按钮 空 关闭加入房间弹窗按钮
Layer15_JoinRoom Spirit68 加入房间标题 MouseUp=68(自引用) 点击标题(按需绑定)
Layer15_JoinRoom Spirit236 房间号1 MouseUp=236(自引用) 点击房间号(按需绑定)
Layer15_JoinRoom Spirit29~40/514(数字键盘 12 键) 空 数字键盘按键(按需绑定各自键值)
Layer19_WorldRoomList Spirit516 遮罩 MouseUp=516(自引用) 点击遮罩关闭(按需绑定)
Layer19_WorldRoomList Spirit519 关闭/返回 空 关闭/返回房间列表按钮
Layer19_WorldRoomList 刷新 Spirit520 空 刷新房间列表按钮
Layer19_WorldRoomList Spirit94 进入房间 MouseUp=94(自引用) 进入房间按钮
Layer19_WorldRoomList Spirit96/521/3019/92/93 卡片按钮 空 房间卡片/列表按钮(按需绑定)
Layer27_CreateRoom Spirit18 遮罩 空 点击遮罩关闭(按需绑定)
Layer27_CreateRoom Spirit60 关闭按钮 空 关闭创建房间弹窗
Layer27_CreateRoom Spirit25 确定创建 空 确认创建房间按钮
Layer27_CreateRoom Spirit20/21 局数选择 空 选择局数(按需绑定)
Layer27_CreateRoom Spirit22/23/24 下注上限选择 空 选择下注上限(按需绑定)
Layer27_CreateRoom Spirit139/140 玩法选择 空 选择玩法(按需绑定)
Layer11_ChargeInfo Spirit146 遮罩 空 点击遮罩关闭(按需绑定)
Layer11_ChargeInfo Spirit147 背景 空 充值提示背景(按需绑定)
Layer13 Spirit55 战绩返回 空 返回战绩列表
Layer13 Spirit61 战绩关闭按钮 空 关闭战绩弹窗
Layer13 Spirit104/105 分页箭头 空 翻页(上一页/下一页,按需绑定)
Layer22_Share Spirit72 遮罩 空 点击遮罩关闭(按需绑定)
Layer22_Share Spirit74 微信好友 空 分享给微信好友
Layer22_Share Spirit75 朋友圈 空 分享到朋友圈
Layer16_Bind Spirit362 遮罩 空 点击遮罩关闭(按需绑定)
Layer16_Bind Spirit366/367 绑定按钮 空 绑定操作按钮(按需绑定)
Layer16_Bind Spirit364 空 按需绑定
Layer24_Neighbor Spirit3005 邻居遮罩 MouseUp=3005(自引用) 点击遮罩关闭
Layer24_Neighbor Spirit3011 关闭 空 关闭邻居弹窗按钮
Layer24_Neighbor Spirit3007~3010 邻居项 空 查看/进入邻居(按需绑定)
Layer8_Notice Spirit3122 更多遮罩 空 点击遮罩关闭更多面板(IsVisible=0 初始隐藏,按需绑定)
Layer8_Notice Spirit3017 背包 空 背包功能入口按钮(按需绑定)
Layer8_Notice Spirit5 通知 空 通知功能入口按钮(按需绑定)
Layer8_Notice Spirit235 绑定按钮 空 绑定功能入口按钮(按需绑定)
Layer8_Notice Spirit604 排行榜 空 排行榜功能入口按钮(按需绑定)
Layer8_Notice Spirit3057 仓库 空 仓库功能入口按钮(按需绑定)
Layer8_Notice Spirit15 反馈 空 反馈功能入口按钮(按需绑定)
Layer18_Auth Spirit485 授权遮罩 空 点击遮罩关闭授权弹窗(IsVisible=0 初始隐藏,按需绑定)
Layer18_Auth Spirit487/488 授权选项 空 授权选项按钮(授权/取消,按需绑定)
Layer18_Auth Spirit493 授权主按钮 空 授权确认入口按钮(按需绑定)
Layer17_PlayerInfo Spirit116 个人信息遮罩 空 点击遮罩关闭玩家信息菜单(按需绑定)
Layer17_PlayerInfo Spirit484 按钮 空 玩家信息按钮(按需绑定)
Layer17_PlayerInfo Spirit494/495 边缘图标 空 边缘图标(关闭/装饰,按需绑定)
Layer21_RankList Spirit605 遮罩 空 点击遮罩关闭排行榜(按需绑定)
Layer21_RankList Spirit629 箭头 空 排行榜箭头(翻页/返回,按需绑定)
Layer21_RankList Spirit636~641 列表条目 空 排行榜条目(查看玩家,按需绑定)
Layer12_CombatLayer Spirit49 遮罩 空 点击遮罩关闭战绩弹窗(按需绑定)
Layer12_CombatLayer Spirit53 返回 空 返回/关闭战绩(按需绑定)
Layer12_CombatLayer Spirit51 详情1 / Spirit54 查牌 空 查看对局详情 / 查牌(按需绑定)
Layer12_CombatLayer Spirit48 背景 / Spirit70 标题 空 战绩背景 / 标题(按需绑定)
Layer12_CombatLayer Spirit50/52/57/56/63/87 底与前景 空 战绩页底/前景装饰(按需绑定)
Layer12_CombatLayer Spirit683/684/689/83/82/64/88/86/91 装饰 空 装饰元素(按需绑定)
Layer7_ewm Spirit3200/3218 遮罩 空 点击遮罩关闭二维码弹窗(按需绑定)
Layer7_ewm Spirit3203/3222 关闭 空 关闭二维码弹窗按钮(img=415,按需绑定)
Layer7_ewm Spirit3206/3208/3216 按钮 空 二维码操作按钮(img=413 帧 1/2 两态,按需绑定)
Layer7_ewm Spirit3201/3219 背景 / Spirit3205 标题 空 二维码背景 / 标题(按需绑定)
Layer9_Feedback Spirit548/77/341/103 遮罩(反馈/通知/二维码/房间列表) 空 点击遮罩关闭对应弹窗(按需绑定)
Layer9_Feedback Spirit550 反馈提交 空 提交反馈按钮(按需绑定)
Layer9_Feedback Spirit80 通知关闭 空 关闭通知弹窗按钮(按需绑定)
Layer9_Feedback Spirit100/101 房间列表项 空 房间列表项(进入房间,按需绑定)
Layer9_Feedback Spirit570~575 通知条目/分类标签 空 查看通知 / 切换分类标签(按需绑定)
Layer9_Feedback Spirit343/344/345 二维码 空 二维码图/文字/底(按需绑定)
Layer29_PhoneInfo Spirit3241/3270 遮罩(手机验证/白名单) 空 点击遮罩关闭对应弹窗(Spirit3241 active=false 初始隐藏,按需绑定)
Layer29_PhoneInfo Spirit3251 关闭 空 关闭手机验证弹窗按钮(按需绑定)
Layer29_PhoneInfo Spirit3253 确认 / Spirit3252 主按钮 空 手机验证确认 / 主操作按钮(按需绑定)
Layer29_PhoneInfo Spirit3245 验证码按钮 空 获取验证码按钮(按需绑定)
Layer29_PhoneInfo Spirit3274 关闭 空 关闭白名单管理弹窗按钮(按需绑定)
Layer29_PhoneInfo Spirit3275/3282/3287 白名单按钮 空 白名单操作按钮(img=412 九宫格,按需绑定)
Layer29_PhoneInfo Spirit3278/3281 操作按钮 空 操作按钮(img=413 帧1,按需绑定)
Layer29_PhoneInfo Spirit3289 图标 空 搜索/删除图标(img=188 帧1,按需绑定)
Layer6 Spirit9 头像框 MouseUp=9(自引用) 点击头像框(按需绑定)
Layer6 Spirit478 MouseUp=478(自引用) 点击玩家信息头(按需绑定)
Layer6 Spirit286 MouseUp=286(自引用) 点击(按需绑定)
Layer6 Spirit3194 MouseUp=3194(自引用) 点击(按需绑定)
Layer6 Spirit8 头像 空 点击头像查看玩家(按需绑定)
Layer6 Spirit10 购买房卡 空 购买房卡按钮
Layer14_Pay Spirit46/456 支付遮罩(group-53/54) 空 点击遮罩关闭(按需绑定)
Layer14_Pay Spirit386 关闭 空 关闭支付金额选择弹窗按钮
Layer14_Pay Spirit416~425 金额按钮(×10) 空 选择金额(按需绑定对应金额值)
Layer14_Pay Spirit457 九宫格背景 MouseUp=457(自引用) 确认支付/关闭确认弹窗
Layer14_Pay Spirit461/462/463/464 确认/取消按钮 空 确认支付/取消(463 屏幕外备用,按需绑定)
Layer25_wareHouse Spirit3065 小按钮 MouseUp=3065(自引用) 仓库操作入口(脚本绑定)
Layer25_wareHouse 其余 67 节点 空 全部 CanClick=1——Spirit3029 遮罩(点击关闭)、Spirit97 关闭、Spirit3043 确认键、Spirit3044/3045~3055 物品格子×12(选择物品)、Spirit3059/3060 左侧 tab(切换分类)、其余输入框/按钮(按需绑定)
Layer26_Task Spirit113 任务背景 MouseUp=113(自引用) 点击任务背景(返回/关闭,脚本绑定)
Layer26_Task 其余 45 节点 空 全部 CanClick=1——Spirit112 遮罩(点击关闭)、Spirit115 任务关闭、Spirit114 标题/Spirit690 横幅(按需)、任务卡片 Spirit120134 背景/领取/做任务(进入任务/领取奖励/跳转)、Spirit328331 已领取(按需)、Spirit311~318 进度条(按需)
Layer28_SeniorOptions Spirit577 遮罩 / Spirit578 左面板 / Spirit626 分享帧1 / Spirit3097 短号按钮 MouseUp=577/578/626/3097(自引用) 点击遮罩关闭 / 左面板背景 / 分享 / 短号输入按钮
Layer28_SeniorOptions 其余 52 节点 空 全部 CanClick=1——Spirit652/653 分享好友/朋友圈、Spirit3131/580/592 选项按钮(img219 帧1/2/3)、Spirit3100/3166/3167 勾选框(img390 帧2)、Spirit3133/3164/3258 按钮(img391 帧2)、Spirit3238/3257 小按钮(img426)、Spirit598 短号输入、Spirit622/623 下方按钮、Spirit627/625 屏幕外备用按钮(按需绑定)
Layer402_GameNotice 全部 2 节点 空 全部 CanClick=1——Spirit389 公告横幅(点击打开公告详情)、Spirit390 内容(按需绑定)
Layer403 Spirit515 准备 空 准备按钮(点击开始游戏)
Layer404_MainSceneButton 全部 6 节点 空 全部 CanClick=1——Spirit184 开始(进入游戏)、Spirit569/183 主按钮(img215 帧1/2)、Spirit657 横幅/Spirit658 文本(按需)、Spirit195 底条(按需)
Layer405_MainButton 全部 6 节点 空 全部 CanClick=1——Spirit152 录音按钮、Spirit153 消息按钮、Spirit3115 消息图标、Spirit3118 九宫格底(按需)
Layer411 Spirit3145 退出 MouseUp=3145(自引用) 点击退出(关闭/退出流程)
Layer411 其余 5 节点 空 全部 CanClick=1——Spirit3144 解散(解散房间)、Spirit3143 房号背景/Spirit3146 房号/Spirit3147 房号tag(按需)、Spirit3151(按需)
Layer420_CheckFree Spirit246 取消 MouseUp=246(自引用) 点击取消关闭弹窗
Layer420_CheckFree 其余 6 节点 空 全部 CanClick=1——Spirit245 确认(确认解散)、Spirit247 关闭解散确认、Spirit242 遮罩(点击关闭)、Spirit243/244 背景/底(按需)
Layer408_Interact 全部 21 节点 空 全部 CanClick=1——Spirit466 遮罩(按需)+ group-39 互动动画×20(img99/102/103/104 帧1,点击触发互动动画,按需绑定)
Layer409_ChatVoice 全部 20 节点 空 全部 CanClick=1——气泡×10(img83)+ 语音动画×10(img100),点击播放语音/聊天,按需绑定
Layer410_ChatText 全部 20 节点 空 全部 CanClick=1——气泡×10(img83)+ 文本×10(聊天内容,点击展开聊天,按需绑定)
Layer413_BtnPanel 全部 18 节点 空 全部 CanClick=1——7 按钮(img238 帧1~7:设置/帮助/退出/更换房间/逃跑/下载/解散)、Spirit107 图标、Spirit512/3149 图标、Spirit108/3123/109/3124/3148 九宫格、3 文本(按需绑定)
Layer416_PlayerInfo 全部 16 节点 空 全部 CanClick=1——Spirit215 遮罩(点击关闭)、Spirit216 背景、Spirit282 头像(查看玩家)、Spirit256~263 表情图标×8(发送快捷语)、5 文本(按需绑定)
Layer418_ChatPannel 聊天遮罩 Spirit186 / 历史记录父精灵 Spirit696 MouseUp=186/696(自引用) 关闭聊天面板 / 点击历史记录区域
Layer418_ChatPannel 其余 52 节点 空 全部 CanClick=1——常用语/表情 tab、常用语×7、表情×20、历史记录/公告区域、输入框与发送按钮(按需绑定)
Layer202_PlayerHeadScore Spirit346(group-43 座位底)、Spirit349(group-46 座位底) MouseUp=346/349(自引用) 点击头像框触发查看玩家
Layer202_PlayerHeadScore 其余 58 节点 空 全部 CanClick=1——Spirit347/348/350355 座位底、Spirit376385 头像(查看玩家)、Spirit406415 昵称 / Spirit436445 积分(按需)、Spirit468~507 表情底+表情图标×20(发送表情,按需绑定)

4.3 源 Event → Cocos 绑定映射

原工程 XML EventList(MouseDown/MouseUp/MouseMove/OnTimer)的 Value 是回调目标 ObjectID(1/空 = 无)。迁移时用 bind_button_click_event 把 Button 点击绑定到对应脚本 handler。若目标 ObjectID 指向自身,语义通常是「点击自身关闭该 Layer」。


5. 待验证事项

  1. LineSpace → _lineHeight 映射:当前用 lineHeight = fontSize(对齐 Login_Layer 参考),但源 XML LineSpace=0 的精确语义(默认行距 vs 额外间距)待更多 Text 样本确认。
  2. FontBold / AlignHorz / AlignVert / WordWrap → cc.Label 的完整映射:复杂 Layer(含富文本/多行/对齐文本)迁移时补齐。
  3. FrameStyle/FrameIndex 多帧 sprite:Layer615 重连动画(ImgID=97,8 帧)是首个多帧案例,已迁移第 1 帧为 spriteFrame;运行时逐帧动画驱动(脚本切 spriteFrame 或 cc.Animation)待实现。
  4. Option.vx/vy/vw/vh 动画物理:deferred 到 game logic 迁移。
  5. Label 运行期 contentSize 自收紧:实测(Layer612)Label 节点的 UITransform 在运行期会把 contentSize 从源 W×H(如 84×28)自动收紧为文本包围盒(如 64×20.16,overflow=NONE 下仍发生,仅 Label、Sprite 不受影响)。Layer418 已按源 AutoSize 区分:Spirit204(AutoSize=0)用 CLAMP 保持 420×50 输入区域;Spirit164/480/3110/3114/3117(AutoSize=1)保留 NONE 自动尺寸语义。旧 Layer 的统一迁移策略仍待脚本绑定阶段决定。
  6. 九宫格 border 跨 Layer 冲突(img2/img407 待决策):同一图片被多 Layer 以不同边距使用,Cocos 一个 spriteFrame 只能存一个 border(详见 memory funplay-9slice-border-multi-layer-conflict)。img2 有 4 组边距(250/200/346/245 L15/L26/L27/L608、100/134/100/135 L609、55/45/55/45 L21、90/90/90/90 L29),img407 有 2 组(20/20/20/20 L17、150/25/150/25 L29)——均涉及已迁移 Layer,border 仍 0,需决策按哪组写默认 spriteFrame、离群组建副本。img54 已按 70/70/70/70 写入(L17/L416 一致),L2 的 100/80/100/80 待 L2 迁移时建副本。

关联文档

  • docs/superpowers/specs/UI-手工迁移规范.md(9 步迁移流程 + 8 项验证清单)
  • docs/superpowers/specs/原工程数据模型.md(JSON schema + 锚点公式)
  • docs/superpowers/data/layer-spirit-summary.json(Layer → prefab 映射表)