3.1 KiB
大厅、通知和设置的可选动画
配置方法
在 Cocos Creator 中打开对应 prefab,选择目标节点。
- 大厅和通知节点已经挂好
Animation与OptionalUiAnimation。把制作好的片段拖到Animation的 Default Clip,片段的 Wrap Mode 决定单次或循环播放。保持 Play On Load 关闭,由组件在节点显示时播放、隐藏时停止,再显示时重新开始。未指定 Default Clip 时保持原来的静态表现。 - 设置开关已经挂好
Animation与OptionalSwitchAnimation。把片段分别拖到后者的 开启片段、关闭片段。两个字段各自可空;缺少该方向的片段时立即切换图片。开关过渡只播一次,完成、隐藏或被反向切换时,状态图片服从最新开关状态。 - 片段以当前节点为绑定根。Sprite 换帧轨道绑定当前节点的
cc.Sprite.spriteFrame。制作位移等轨道时,要考虑节点现有 Widget 对布局的约束。
已配置范围
Layer4_MainMenu:Spirit479、Spirit3120、Spirit76、Spirit11、Spirit12、Spirit14、Spirit17、Spirit13、Spirit7。Layer8_Notice:Spirit3121、Spirit3017、Spirit5、Spirit235、Spirit604、Spirit3057、Spirit15。Layer609_Setting:音乐底、音效底、Spirit357、Spirit388。
Spirit479 已指定 assets/framework/ui/animations/AnnouncementHorn.anim:沿用原有两张喇叭图片,2 秒循环,在 0.5 秒切到第二张、1 秒切回第一张。AnnouncementView 继续负责公告文字移动,喇叭换帧由片段负责。
其余节点暂未制作或指定新片段,保持当前表现。音乐和音效已接入状态切换动画;Spirit357、Spirit388 仍保留“原生震动与语音开关尚未接入”的提示,仅预留动画组件。以后业务接通时,由状态拥有方调用 setState(on, stateFrame, animate);初始化用 animate=false,用户切换用 true。
验证
cocoscreator_projects/scripts/verify-optional-animation-preview.mjs 在 Cocos Game View 中执行,使用真实 Animation 组件和独立测试节点,检查资源接线、无片段静态表现、显隐重播、喇叭帧序列、开关中断及实际音乐/音效点击与再次打开。测试使用独立的存储键并在结束时恢复。
三个 prefab 通过 Cocos MCP 序列化及 asset-db 保存,原节点 prefab fileId、布局和原有组件属性保留;新组件获得独立 fileId。
2026-09-07 验证结果:Game View 44 项检查通过,期间无警告或错误;三个 prefab 的资源引用检查通过,缺失引用为 0;公告、大厅菜单和登录动画的 10 项既有测试通过,导入边界检查通过。
工程脚本严格类型检查通过,命令在 cocoscreator_projects 执行:
node node_modules/typescript/bin/tsc -p YouleNexus/tsconfig.json --noEmit --ignoreDeprecations 6.0 --skipLibCheck --lib ES2022,DOM --types node --strict
原始检查入口仍有环境限制:Cocos 内置旧版 TypeScript 不支持工程使用的新语法;未加上述库选项的检查还会报告引擎声明及标准库版本问题。本次未修改这些全局配置。