321 KiB
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=1SLICED 标志,无 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-43 |
图片映射(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 / Spirit3045 |
帧 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 EventMouseUp=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 EventMouseUp=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 是其中一组),单一.metaborder 无法同时服务;后续「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 行),Spirit661
671 + 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=4FrameText,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=166 |
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=264 |
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 |
脚本驱动要点:
- Spirit166
175 / Spirit264273 是动态列表(各 10 个 Label,Text="等待"/"昵称"占位,fontSize=14、FontColor=0 黑):运行时脚本按投票玩家列表 set string 填充(等待侧 + 昵称侧各最多 10 人)。 - Spirit222 是投票倒计时(源
SpiritType=4FrameText,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 行),Spirit392
403 共 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=4FrameText,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),Spritetype=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,Spritetype=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,Spritetype=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 处共用同一 spriteFramedcefb181-…(img244)。纵向排列(源 Y=152/284/416/548,间隔 132),是邻居列表项模板;头像/昵称等为运行时动态叠加(源 XML 无 Text spirit),脚本按邻居数量复用其结构。 - 可点击:Spirit3005 遮罩
MouseUp=3005(自引用,点击关闭);Spirit30063011 全部3010 邻居项(查看/进入邻居,按需绑定)(见 4.2)。CanClick=1但 XML EventList 空,按语义绑定 Spirit3011 关闭按钮、Spirit3007
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,Spritetype=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,Spritetype=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/490Text=""(空占位,运行时填充授权说明);Spirit491/492Text="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,Spritetype=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,Spritetype=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,Spritetype=SLICED+ contentSize=1100×692。⚠️ img=2 同图多边框(见图片映射 img=2 注),spriteFrame border 延后。 - 列表底:Spirit607
SpiritType=5,img=42(00042.png),边框 53/48/53/48(同 Layer606 投票底),Spritetype=SLICED+ contentSize=465×511。 - 底部栏:Spirit610
SpiritType=5,img=234(00234.png 420×87),边框 200/43/200/43,Spritetype=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,Spritetype=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=436Frame=1/2、img=435Frame=1/2、img=375Frame=2(Spirit3276 渲染 116×41,图片帧 236×100 缩放)、img=34/33/188/413Frame=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 占位,运行时脚本按数字逐位切帧。 - 金额按钮与文本联动:Spirit416
425(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(屏幕外左)、Spirit120
122 预加载卡片(屏幕外左)、进度/领取元素源 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;常用语1
7:img85 帧 17。 - 表情 Spirit528
547: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 件套成对:九宫格底(Spirit346
355)↔ 头像(Spirit376385)↔ 昵称(Spirit406415)↔ 积分(Spirit436445)。 - 昵称/积分文本 fs=14 橙金 #FFCB5C,源 text="玩家1昵称"/"积分" 为占位,运行时
set string填充实际玩家昵称/积分。 - 表情:img146 底 + img147 帧1(5 帧多帧图,落盘用帧 1,运行时切帧播放表情动画)。
- 全部 60 节点
CanClick=1,其中 Spirit346(group-43 座位底)/ Spirit349(group-46 座位底)源 EventMouseUp=自身 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"(占位,运行时替换为任务描述/奖励说明/进度;135 |
| 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 | Spirit406 |
"玩家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 横幅(按需)、任务卡片 Spirit120 |
| 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/350 |
4.3 源 Event → Cocos 绑定映射
原工程 XML EventList(MouseDown/MouseUp/MouseMove/OnTimer)的 Value 是回调目标 ObjectID(1/空 = 无)。迁移时用 bind_button_click_event 把 Button 点击绑定到对应脚本 handler。若目标 ObjectID 指向自身,语义通常是「点击自身关闭该 Layer」。
5. 待验证事项
LineSpace→_lineHeight映射:当前用lineHeight = fontSize(对齐 Login_Layer 参考),但源 XMLLineSpace=0的精确语义(默认行距 vs 额外间距)待更多 Text 样本确认。FontBold/AlignHorz/AlignVert/WordWrap→ cc.Label 的完整映射:复杂 Layer(含富文本/多行/对齐文本)迁移时补齐。FrameStyle/FrameIndex多帧 sprite:Layer615 重连动画(ImgID=97,8 帧)是首个多帧案例,已迁移第 1 帧为 spriteFrame;运行时逐帧动画驱动(脚本切 spriteFrame 或 cc.Animation)待实现。Option.vx/vy/vw/vh动画物理:deferred 到 game logic 迁移。- 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 的统一迁移策略仍待脚本绑定阶段决定。 - 九宫格 border 跨 Layer 冲突(
img2/img407待决策):同一图片被多 Layer 以不同边距使用,Cocos 一个 spriteFrame 只能存一个 border(详见 memoryfunplay-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 映射表)