diff --git a/.DS_Store b/.DS_Store index ead1324..5c4cd16 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/CLAUDE.md b/CLAUDE.md index 548f8c0..d04ab9f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -29,6 +29,23 @@ assets/ - **运行预览**: 在 Cocos Creator 编辑器中点击 "Play" 按钮 - **构建**: 使用编辑器菜单 `Project > Build` 或快捷键 `Cmd+B` +## Editor Operations (强制约定) + +**凡是涉及 prefab、scene、node、component 或 Cocos 编辑器内的任何操作,必须使用 `cocos-creator` MCP,不要手工编辑 `.prefab` / `.scene` 的 YAML/JSON 文件。** + +适用范围(非穷举): + +- 创建 / 修改 / 删除 prefab:`mcp__cocos-creator__prefab_*` +- 场景增删改、打开/保存场景:`mcp__cocos-creator__scene_*` +- 节点结构(增删、移动、改 transform、改属性):`mcp__cocos-creator__node_*` +- 组件挂载、属性赋值、引用绑定(Sprite/Label/Button/自定义脚本等):`mcp__cocos-creator__component_*` +- 资源管理(导入、查询 UUID、刷新、引用校验):`mcp__cocos-creator__project_*` / `mcp__cocos-creator__assetAdvanced_*` +- 场景脚本执行、调试日志、性能数据:`mcp__cocos-creator__debug_*` / `mcp__cocos-creator__sceneAdvanced_*` + +允许直接编辑的文件仍是:`.ts` 脚本源代码(`assets/**/*.ts`)、纯文本配置(`tsconfig.json`、`package.json` 等)。`.prefab` / `.scene` / `.meta` 一律走 MCP,避免 UUID 错位、引用丢失、序列化格式被破坏。 + +操作前先用 `scene_get_current_scene` / `node_get_all_nodes` / `prefab_get_prefab_info` 等查询类工具确认当前编辑器状态,不要凭记忆操作。 + ## TypeScript Coding 遵循 Cocos Creator 3.x 组件系统架构: diff --git a/assets/.DS_Store b/assets/.DS_Store index 9c94ff5..e2b7611 100644 Binary files a/assets/.DS_Store and b/assets/.DS_Store differ diff --git a/assets/prefabs/PageLevel.prefab b/assets/prefabs/PageLevel.prefab index f2998ed..ab757fd 100644 --- a/assets/prefabs/PageLevel.prefab +++ b/assets/prefabs/PageLevel.prefab @@ -65,25 +65,31 @@ }, { "__id__": 364 - } - ], - "_active": true, - "_components": [ + }, { "__id__": 386 }, - { - "__id__": 388 - }, - { - "__id__": 390 - }, { "__id__": 392 } ], + "_active": true, + "_components": [ + { + "__id__": 516 + }, + { + "__id__": 518 + }, + { + "__id__": 520 + }, + { + "__id__": 522 + } + ], "_prefab": { - "__id__": 394 + "__id__": 524 }, "_lpos": { "__type__": "cc.Vec3", @@ -4160,7 +4166,7 @@ "__id__": 205 } ], - "_active": true, + "_active": false, "_components": [ { "__id__": 221 @@ -4986,6 +4992,8 @@ "__id__": 0 }, "fileId": "97e+ktL5JEFIkipb5zofcN", + "instance": null, + "targetOverrides": null, "nestedPrefabInstanceRoots": null }, { @@ -5377,6 +5385,8 @@ "__id__": 0 }, "fileId": "1eqqQHgzlAlIvfIdI7x5Es", + "instance": null, + "targetOverrides": null, "nestedPrefabInstanceRoots": null }, { @@ -6015,7 +6025,7 @@ "__id__": 271 } ], - "_active": true, + "_active": false, "_components": [ { "__id__": 293 @@ -9309,6 +9319,3139 @@ "__id__": 0 }, "fileId": "9cckUTm+pH7K6q+8gd2LGK", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "Caidai", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 387 + }, + { + "__id__": 389 + } + ], + "_prefab": { + "__id__": 391 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -8.80499999999995, + "y": 748.5280000000002, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 386 + }, + "_enabled": true, + "__prefab": { + "__id__": 388 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 1087.8499755859375, + "height": 2160 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5001976622331153, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "026I+cfRhKooO34TFdI6Hp" + }, + { + "__type__": "sp.Skeleton", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 386 + }, + "_enabled": true, + "__prefab": { + "__id__": 390 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_skeletonData": { + "__uuid__": "fff92c24-e843-4fca-b0aa-6e4e4f2caef5", + "__expectedType__": "sp.SkeletonData" + }, + "defaultSkin": "default", + "defaultAnimation": "open", + "_premultipliedAlpha": true, + "_timeScale": 1, + "_preCacheMode": 0, + "_cacheMode": 0, + "_sockets": [], + "_useTint": false, + "_debugMesh": false, + "_debugBones": false, + "_debugSlots": false, + "_enableBatch": false, + "loop": true, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "26Hjl2kqRJoJDE2B3cSXor" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "39nrjIWtpI/ru3XVhEO1Gp", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "PassNode", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 393 + }, + { + "__id__": 471 + }, + { + "__id__": 491 + } + ], + "_active": true, + "_components": [ + { + "__id__": 511 + }, + { + "__id__": 513 + } + ], + "_prefab": { + "__id__": 515 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": -796.795, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "TitlteLevel", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 392 + }, + "_children": [ + { + "__id__": 394 + }, + { + "__id__": 406 + }, + { + "__id__": 412 + }, + { + "__id__": 418 + }, + { + "__id__": 432 + }, + { + "__id__": 438 + }, + { + "__id__": 454 + } + ], + "_active": true, + "_components": [ + { + "__id__": 466 + }, + { + "__id__": 468 + } + ], + "_prefab": { + "__id__": 470 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 76.05099999999993, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 0.594, + "y": 0.594, + "z": 0.594 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Bg", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 393 + }, + "_children": [ + { + "__id__": 395 + } + ], + "_active": true, + "_components": [ + { + "__id__": 401 + }, + { + "__id__": 403 + } + ], + "_prefab": { + "__id__": 405 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 0.7, + "y": 0.7, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Inner", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 394 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 396 + }, + { + "__id__": 398 + } + ], + "_prefab": { + "__id__": 400 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 6.289, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 395 + }, + "_enabled": true, + "__prefab": { + "__id__": 397 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 1150, + "height": 630 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "3fD9TV8cVMl4j2MvypO4iv" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 395 + }, + "_enabled": true, + "__prefab": { + "__id__": 399 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "02687761-81ab-42cb-b552-0db291d9ddd5@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "c6BQwhcgpP66NXCQ5DKT0W" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "97nAJIC4VGJ5TB9Lagi6oj", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 394 + }, + "_enabled": true, + "__prefab": { + "__id__": 402 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 1200, + "height": 700 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "c940Ndz01PA7OBlnl8CxQf" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 394 + }, + "_enabled": true, + "__prefab": { + "__id__": 404 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5b988a03-f6a3-498f-b68d-d3b5786b1879@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 1, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "907CA6qW1A7J6v6s9piGzG" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "64F8fx5J5OsYkqdBK5+4Dg", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "iconCrown", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 393 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 407 + }, + { + "__id__": 409 + } + ], + "_prefab": { + "__id__": 411 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -233.245, + "y": 120.83, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 0.4, + "y": 0.4, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 406 + }, + "_enabled": true, + "__prefab": { + "__id__": 408 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 323, + "height": 293 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "45yjQmywNJlKp0efJdVCbw" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 406 + }, + "_enabled": true, + "__prefab": { + "__id__": 410 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "62df15c5-20eb-4ab2-9b63-32bfbcce435b@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "9aXltARxVJ15oyE69PSKdI" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "18jqvejrVEJrXaTdeFHB5f", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "LevelLabel", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 393 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 413 + }, + { + "__id__": 415 + } + ], + "_prefab": { + "__id__": 417 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 67.348, + "y": 114.888, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 412 + }, + "_enabled": true, + "__prefab": { + "__id__": 414 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 426.25, + "height": 100.8 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "1bvyMlCzZHB6N32fMb+QBQ" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 412 + }, + "_enabled": true, + "__prefab": { + "__id__": 416 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 133, + "b": 0, + "a": 237 + }, + "_string": "冷场小白1级", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 80, + "_fontSize": 80, + "_fontFamily": "Arial", + "_lineHeight": 80, + "_overflow": 0, + "_enableWrapText": true, + "_font": { + "__uuid__": "fb4acba6-6bc7-4eb3-be34-8f2ac9823a80", + "__expectedType__": "cc.TTFFont" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_isItalic": false, + "_isBold": true, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_enableOutline": false, + "_outlineColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_outlineWidth": 2, + "_enableShadow": false, + "_shadowColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_shadowOffset": { + "__type__": "cc.Vec2", + "x": 2, + "y": 2 + }, + "_shadowBlur": 2, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "a8rO0VFptKbr3olR1gyiNj" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "0aA6jm+phABLIePD9bBui4", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "ProgressBar", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 393 + }, + "_children": [ + { + "__id__": 419 + } + ], + "_active": true, + "_components": [ + { + "__id__": 425 + }, + { + "__id__": 427 + }, + { + "__id__": 429 + } + ], + "_prefab": { + "__id__": 431 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -66.44, + "y": -28.804, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 0.35, + "y": 0.35, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Bar", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 418 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 420 + }, + { + "__id__": 422 + } + ], + "_prefab": { + "__id__": 424 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -688.951, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 419 + }, + "_enabled": true, + "__prefab": { + "__id__": 421 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 272, + "height": 121 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "74CKsgxAJFvrvCAt6TpsXn" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 419 + }, + "_enabled": true, + "__prefab": { + "__id__": 423 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "929dfe4e-9eab-48f1-a87d-344d51f07402@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 1, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "6dloUQ19lJS7tP3Lqf80Rb" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "bfA8T0bApBlLqzd8jcXVDI", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 418 + }, + "_enabled": true, + "__prefab": { + "__id__": 426 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 1400, + "height": 164 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "1c/0DGT3tNMaqa922jITp+" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 418 + }, + "_enabled": true, + "__prefab": { + "__id__": 428 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "c55e385b-97b7-4aa1-8888-cfd101e68f77@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 1, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "b6idLOgplNOYESwq0YVWny" + }, + { + "__type__": "cc.ProgressBar", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 418 + }, + "_enabled": true, + "__prefab": { + "__id__": 430 + }, + "_barSprite": { + "__id__": 422 + }, + "_mode": 0, + "_totalLength": 1360, + "_progress": 0.2, + "_reverse": false, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "0728xiizVD0pMOwUBRv6rW" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "66wsHP3AxNfKGaswPjNim/", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "ProgressLabel", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 393 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 433 + }, + { + "__id__": 435 + } + ], + "_prefab": { + "__id__": 437 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": -142.619, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 432 + }, + "_enabled": true, + "__prefab": { + "__id__": 434 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 461.40625, + "height": 75.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "85t3PvdSBPUbdif/udLZFu" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 432 + }, + "_enabled": true, + "__prefab": { + "__id__": 436 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 2, + "g": 46, + "b": 0, + "a": 255 + }, + "_string": "还差3题,解锁新成就等级", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 40, + "_fontSize": 40, + "_fontFamily": "Arial", + "_lineHeight": 60, + "_overflow": 0, + "_enableWrapText": true, + "_font": { + "__uuid__": "fb4acba6-6bc7-4eb3-be34-8f2ac9823a80", + "__expectedType__": "cc.TTFFont" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_enableOutline": false, + "_outlineColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_outlineWidth": 2, + "_enableShadow": false, + "_shadowColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_shadowOffset": { + "__type__": "cc.Vec2", + "x": 2, + "y": 2 + }, + "_shadowBlur": 2, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "08mT8rGu9HYK9wHvwg4gy+" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "92MF/w691L6ogZVb96DLy7", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "Stone", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 393 + }, + "_children": [ + { + "__id__": 439 + }, + { + "__id__": 445 + } + ], + "_active": true, + "_components": [ + { + "__id__": 451 + } + ], + "_prefab": { + "__id__": 453 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 247.432, + "y": -26.347, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Bg", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 438 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 440 + }, + { + "__id__": 442 + } + ], + "_prefab": { + "__id__": 444 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 0.25, + "y": 0.25, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 439 + }, + "_enabled": true, + "__prefab": { + "__id__": 441 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 416, + "height": 416 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "86feolgP9IOaZVl61EhhF/" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 439 + }, + "_enabled": true, + "__prefab": { + "__id__": 443 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 186, + "g": 255, + "b": 177, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "7a17df33-9d28-4272-9f3e-f336af8d4afb@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "b8k9NyPeROqYjc1D+4r4RU" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "8d9dgEie1GZaKG6r4XrEkn", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "Icon", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 438 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 446 + }, + { + "__id__": 448 + } + ], + "_prefab": { + "__id__": 450 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 0.2, + "y": 0.2, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 445 + }, + "_enabled": true, + "__prefab": { + "__id__": 447 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 392, + "height": 380 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "66nvM7OQ1JcJhCOD1wRPuL" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 445 + }, + "_enabled": true, + "__prefab": { + "__id__": 449 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "447f92b8-70aa-462a-8caa-b91321c8995b@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "fdjjB4aLFJ4aCzUndjP3Tu" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "afBJdQ729AvJaKvt9uIp0d", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 438 + }, + "_enabled": true, + "__prefab": { + "__id__": 452 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100, + "height": 100 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "4e6E2ZzBBDWL0ze/Br9Vxx" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "8461bTdqhN4IuXTH2BRyxU", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "ProgressAnchor", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 393 + }, + "_children": [ + { + "__id__": 455 + } + ], + "_active": true, + "_components": [ + { + "__id__": 461 + }, + { + "__id__": 463 + } + ], + "_prefab": { + "__id__": 465 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -289.275, + "y": 32.114, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 0.648, + "y": 0.648, + "z": 0.648 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Label", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 454 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 456 + }, + { + "__id__": 458 + } + ], + "_prefab": { + "__id__": 460 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 10.454, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 455 + }, + "_enabled": true, + "__prefab": { + "__id__": 457 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 63.30078125, + "height": 44.1 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "7c3AaTlaBLvapwNa9CKqpi" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 455 + }, + "_enabled": true, + "__prefab": { + "__id__": 459 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 78, + "g": 131, + "b": 108, + "a": 255 + }, + "_string": "35%", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 35, + "_fontSize": 35, + "_fontFamily": "Arial", + "_lineHeight": 35, + "_overflow": 0, + "_enableWrapText": true, + "_font": { + "__uuid__": "fb4acba6-6bc7-4eb3-be34-8f2ac9823a80", + "__expectedType__": "cc.TTFFont" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_enableOutline": false, + "_outlineColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_outlineWidth": 2, + "_enableShadow": false, + "_shadowColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_shadowOffset": { + "__type__": "cc.Vec2", + "x": 2, + "y": 2 + }, + "_shadowBlur": 2, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "0czvSiYLtBc7U3GhhHXnFX" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "137I0Q5gpCMqWUlogaLkaJ", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 454 + }, + "_enabled": true, + "__prefab": { + "__id__": 462 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100, + "height": 78 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "adUN0LIlpKW5UqvvTT0zie" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 454 + }, + "_enabled": true, + "__prefab": { + "__id__": 464 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 226, + "g": 255, + "b": 226, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "f620b7ac-7415-45e3-8dd1-4d351aaaef93@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 1, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "528odA4K9MCKT333j8gOp5" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "7fPxntW5JBy60Vp969VYf1", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 393 + }, + "_enabled": true, + "__prefab": { + "__id__": 467 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100, + "height": 100 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "c9xUSe6cxLiakumzUmKZ2g" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 393 + }, + "_enabled": true, + "__prefab": { + "__id__": 469 + }, + "_alignFlags": 16, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "72fF0l9ItOdKkSVZA+g5Ym" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "05AmQPEVZNG4exYdB0WqKf", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "NextLevelButton", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 392 + }, + "_children": [ + { + "__id__": 472 + }, + { + "__id__": 478 + } + ], + "_active": true, + "_components": [ + { + "__id__": 484 + }, + { + "__id__": 486 + }, + { + "__id__": 488 + } + ], + "_prefab": { + "__id__": 490 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -244.611, + "y": -168.276, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 0.6, + "y": 0.6, + "z": 1.931 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Label", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 471 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 473 + }, + { + "__id__": 475 + } + ], + "_prefab": { + "__id__": 477 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -53.26, + "y": 5.505, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 472 + }, + "_enabled": true, + "__prefab": { + "__id__": 474 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 250, + "height": 136 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "3b5T5KhLxLGpfc6ZApd9YS" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 472 + }, + "_enabled": true, + "__prefab": { + "__id__": 476 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "下一题", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 80, + "_fontSize": 80, + "_fontFamily": "Arial", + "_lineHeight": 100, + "_overflow": 0, + "_enableWrapText": true, + "_font": { + "__uuid__": "fb4acba6-6bc7-4eb3-be34-8f2ac9823a80", + "__expectedType__": "cc.TTFFont" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_isItalic": false, + "_isBold": true, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_enableOutline": true, + "_outlineColor": { + "__type__": "cc.Color", + "r": 179, + "g": 127, + "b": 1, + "a": 255 + }, + "_outlineWidth": 5, + "_enableShadow": false, + "_shadowColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_shadowOffset": { + "__type__": "cc.Vec2", + "x": 2, + "y": 2 + }, + "_shadowBlur": 2, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "cdc/q7acNPXoZ5InmdXcTd" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "0a018S1T1N4ZE/Z5MgwY7B", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "flatIconNext", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 471 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 479 + }, + { + "__id__": 481 + } + ], + "_prefab": { + "__id__": 483 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 166.74, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 0.2, + "y": 0.2, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 478 + }, + "_enabled": true, + "__prefab": { + "__id__": 480 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 375, + "height": 455 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "c3o8zwfQ9OTYHhdtBYWbrE" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 478 + }, + "_enabled": true, + "__prefab": { + "__id__": 482 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "1c8a9e95-7b00-4e59-a0a2-72a4aa97c03c@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "11RGiR/nRFKYsMyJm6Yesd" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "9eYDYMwbNCuroAlQqSgUYk", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 471 + }, + "_enabled": true, + "__prefab": { + "__id__": 485 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 666, + "height": 235 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "13Ws3c1W5H97GtYSCPXPor" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 471 + }, + "_enabled": true, + "__prefab": { + "__id__": 487 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "ba58112d-788c-465d-a2f3-46b468026d03@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 1, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "3aRmArih1IfJkBDRalYKjm" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 471 + }, + "_enabled": true, + "__prefab": { + "__id__": 489 + }, + "clickEvents": [], + "_interactable": true, + "_transition": 3, + "_normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_hoverColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_pressedColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_normalSprite": null, + "_hoverSprite": null, + "_pressedSprite": null, + "_disabledSprite": null, + "_duration": 0.1, + "_zoomScale": 1.2, + "_target": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "9aM8V7WC5ExqJaQ9ZHhU6e" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "03osXTBU9Ih6eS/KOJ44s5", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "ShareButton", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 392 + }, + "_children": [ + { + "__id__": 492 + }, + { + "__id__": 498 + } + ], + "_active": true, + "_components": [ + { + "__id__": 504 + }, + { + "__id__": 506 + }, + { + "__id__": 508 + } + ], + "_prefab": { + "__id__": 510 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 256.705, + "y": -171.25, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 0.6, + "y": 0.6, + "z": 1.931 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Label", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 491 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 493 + }, + { + "__id__": 495 + } + ], + "_prefab": { + "__id__": 497 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 82.738, + "y": 10.918, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 492 + }, + "_enabled": true, + "__prefab": { + "__id__": 494 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 330, + "height": 136 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "5cyB3BUn5CK6fNfsHU7XPx" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 492 + }, + "_enabled": true, + "__prefab": { + "__id__": 496 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "考考好友", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 80, + "_fontSize": 80, + "_fontFamily": "Arial", + "_lineHeight": 100, + "_overflow": 0, + "_enableWrapText": true, + "_font": { + "__uuid__": "fb4acba6-6bc7-4eb3-be34-8f2ac9823a80", + "__expectedType__": "cc.TTFFont" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_isItalic": false, + "_isBold": true, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_enableOutline": true, + "_outlineColor": { + "__type__": "cc.Color", + "r": 72, + "g": 158, + "b": 35, + "a": 255 + }, + "_outlineWidth": 5, + "_enableShadow": false, + "_shadowColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_shadowOffset": { + "__type__": "cc.Vec2", + "x": 2, + "y": 2 + }, + "_shadowBlur": 2, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "a4PKEcnapCOrss4734B00/" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "c3E8VSb6lB5a4qtXye9fEo", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "flatIconShare", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 491 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 499 + }, + { + "__id__": 501 + } + ], + "_prefab": { + "__id__": 503 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -158.227, + "y": 8.243, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 0.2, + "y": 0.2, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 498 + }, + "_enabled": true, + "__prefab": { + "__id__": 500 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 468, + "height": 490 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "1dktkjEoFPS5seH1ZF8lGV" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 498 + }, + "_enabled": true, + "__prefab": { + "__id__": 502 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "b9bec232-3d37-48a0-9ca8-62aab6c4083b@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "c6//Ra+4dMpatdaTWnvC+7" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "03iD9q0lBIGJ2GlBoeiPRz", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 491 + }, + "_enabled": true, + "__prefab": { + "__id__": 505 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 666, + "height": 235 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "3bThEUVQdAqbdevS63IqIy" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 491 + }, + "_enabled": true, + "__prefab": { + "__id__": 507 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "f87d228a-c520-499a-bf3a-e66cbb6def64@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "f2w5Nuu21DaKYrAT0ss0w+" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 491 + }, + "_enabled": true, + "__prefab": { + "__id__": 509 + }, + "clickEvents": [], + "_interactable": true, + "_transition": 3, + "_normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_hoverColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_pressedColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_normalSprite": null, + "_hoverSprite": null, + "_pressedSprite": null, + "_disabledSprite": null, + "_duration": 0.1, + "_zoomScale": 1.2, + "_target": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "7dSfIx8ulOt7F7G0YAVIOY" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "d1GpbwA+hHXp1MsDt60hd6", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 392 + }, + "_enabled": true, + "__prefab": { + "__id__": 512 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100, + "height": 100 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "f3KTJ5cElB1Z2N5ZLMn8SY" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 392 + }, + "_enabled": true, + "__prefab": { + "__id__": 514 + }, + "_alignFlags": 20, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 0, + "_bottom": 233.20500000000004, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "feboF0IORDxKUUI885TMXK" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "84ZQu5OI9CoZzlGGEeECz4", + "instance": null, + "targetOverrides": null, "nestedPrefabInstanceRoots": null }, { @@ -9321,7 +12464,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 387 + "__id__": 517 }, "_contentSize": { "__type__": "cc.Size", @@ -9349,7 +12492,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 389 + "__id__": 519 }, "_alignFlags": 0, "_target": null, @@ -9385,7 +12528,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 391 + "__id__": 521 }, "_clip": null, "_loop": false, @@ -9407,7 +12550,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 393 + "__id__": 523 }, "inputLayout": { "__id__": 307 @@ -9497,6 +12640,36 @@ "pkNextLevelButton": { "__id__": 364 }, + "passNode": { + "__id__": 392 + }, + "passTitleLevelNode": { + "__id__": 393 + }, + "passTitleLevelLabel": { + "__id__": 415 + }, + "passTitleProgressBar": { + "__id__": 429 + }, + "passProgressLabel": { + "__id__": 435 + }, + "passProgressAnchor": { + "__id__": 454 + }, + "passNextLevelButton": { + "__id__": 471 + }, + "passShareButton": { + "__id__": 491 + }, + "caidaiNode": { + "__id__": 386 + }, + "caidaiSkeleton": { + "__id__": 389 + }, "clickAudio": { "__uuid__": "a68a6314-fb7c-48a9-bd6c-0a65ef665d50", "__expectedType__": "cc.AudioClip" @@ -9509,10 +12682,6 @@ "__uuid__": "be83ca42-3579-46e8-821f-7a0f0b9d8464", "__expectedType__": "cc.AudioClip" }, - "passModalPrefab": { - "__uuid__": "29ff0bfc-d5cf-4ad1-b8cb-61bdfd4850ef", - "__expectedType__": "cc.Prefab" - }, "wrongModalPrefab": { "__uuid__": "455c7845-d090-4cd9-aeb4-1f5cad616bb5", "__expectedType__": "cc.Prefab" diff --git a/assets/prefabs/PageLevel.ts b/assets/prefabs/PageLevel.ts index fcaff9e..c9e42f9 100644 --- a/assets/prefabs/PageLevel.ts +++ b/assets/prefabs/PageLevel.ts @@ -1,4 +1,4 @@ -import { _decorator, Node, EditBox, instantiate, Vec3, Button, Label, Sprite, SpriteFrame, AudioClip, AudioSource, Prefab, EffectAsset, UITransform, UIOpacity, tween, Tween, Color, Layout } from 'cc'; +import { _decorator, Node, EditBox, instantiate, Vec3, Button, Label, Sprite, SpriteFrame, AudioClip, AudioSource, Prefab, EffectAsset, UITransform, UIOpacity, ProgressBar, tween, Tween, Color, Layout, sp, view } from 'cc'; import { BaseView } from 'db://assets/scripts/core/BaseView'; import { ViewManager } from 'db://assets/scripts/core/ViewManager'; import { StaminaManager } from 'db://assets/scripts/utils/StaminaManager'; @@ -11,12 +11,12 @@ import { ShareManager } from 'db://assets/scripts/utils/ShareManager'; import { StorageManager } from 'db://assets/scripts/utils/StorageManager'; import { HttpUtil } from 'db://assets/scripts/utils/HttpUtil'; import { API_ENDPOINTS, API_TIMEOUT } from 'db://assets/scripts/config/ApiConfig'; -import { PassModal } from 'db://assets/prefabs/PassModal'; import { WrongModal } from 'db://assets/prefabs/WrongModal'; import { TimeoutModal } from 'db://assets/prefabs/TimeoutModal'; import { CommonModal } from 'db://assets/prefabs/CommonModal'; import { ApiEnvelope, StaminaInfo, NextLevelData, SubmitShareLevel } from 'db://assets/scripts/types/ApiTypes'; -import { AchievementTitleManager } from 'db://assets/scripts/utils/AchievementTitleManager'; +import { AchievementTitleManager, AchievementTitleInfo } from 'db://assets/scripts/utils/AchievementTitleManager'; +import { AchievementTitleAnimator } from 'db://assets/scripts/utils/AchievementTitleAnimator'; import { applyRoundedCorner } from 'db://assets/scripts/utils/roundedMaterial.utils'; import { AudioManager } from 'db://assets/scripts/utils/AudioManager'; const { ccclass, property } = _decorator; @@ -82,6 +82,15 @@ export class PageLevel extends BaseView { /** 分享模式最后一题提交文案 */ private static readonly SHARE_SUBMIT_BUTTON_TEXT = '提交答案'; + /** PassNode 滑入 / 滑出动画时长(秒) */ + private static readonly PASS_NODE_SLIDE_DURATION = 0.4; + + /** BottomLayout / TipsLayout 透明度淡入淡出动画时长(秒) */ + private static readonly BOTTOM_LAYER_FADE_DURATION = 0.25; + + /** 彩带 spine 动画名(一次播放) */ + private static readonly CAIDAI_ANIMATION_NAME = 'open'; + // ========== 节点引用 ========== @property(Node) inputLayout: Node | null = null; @@ -186,6 +195,47 @@ export class PageLevel extends BaseView { @property(Node) pkNextLevelButton: Node | null = null; + // ========== PassNode(通关后展示)========== + /** PassNode 根节点:用户通关后从屏幕左侧滑入 */ + @property(Node) + passNode: Node | null = null; + + /** PassNode 内的成就体系容器(TitlteLevel)。分享模式下整体隐藏 */ + @property(Node) + passTitleLevelNode: Node | null = null; + + /** 称号文案 Label(如「冷场小白1级」) */ + @property(Label) + passTitleLevelLabel: Label | null = null; + + /** 称号进度条 */ + @property(ProgressBar) + passTitleProgressBar: ProgressBar | null = null; + + /** 进度提示 Label(如「还差3题,解锁新成就等级」) */ + @property(Label) + passProgressLabel: Label | null = null; + + /** 进度条上跟随移动的 anchor 节点(其下 Label 显示百分比) */ + @property(Node) + passProgressAnchor: Node | null = null; + + /** 通关页「下一关 / 提交答案」按钮 */ + @property(Node) + passNextLevelButton: Node | null = null; + + /** 通关页「分享」按钮 */ + @property(Node) + passShareButton: Node | null = null; + + /** 彩带 spine 根节点(与 PassNode 同级,挂在 PageLevel 下) */ + @property(Node) + caidaiNode: Node | null = null; + + /** 彩带 sp.Skeleton 组件,用于播放 "open" 动画 */ + @property(sp.Skeleton) + caidaiSkeleton: sp.Skeleton | null = null; + // ========== 配置属性 ========== @property(AudioClip) clickAudio: AudioClip | null = null; @@ -196,9 +246,6 @@ export class PageLevel extends BaseView { @property(AudioClip) failAudio: AudioClip | null = null; - @property(Prefab) - passModalPrefab: Prefab | null = null; - @property(Prefab) wrongModalPrefab: Prefab | null = null; @@ -271,14 +318,23 @@ export class PageLevel extends BaseView { /** 下一个待解锁的线索序号(2 或 3),超过 3 表示全部已解锁 */ private _nextClueIndex: number = 2; - /** 通关弹窗实例 */ - private _passModalNode: Node | null = null; + /** 通关页(PassNode)当前是否已展示 */ + private _isPassNodeShown: boolean = false; - /** 本次通关弹窗使用的已通关数量 */ - private _passModalCompletedLevelCount: number | null = null; + /** PassNode 进出动画是否在进行中(防止重入) */ + private _isPassNodeAnimating: boolean = false; - /** 本次通关弹窗动画起点(通关前)的已通关数量;为 null 表示不播动画 */ - private _passModalPreviousCompletedLevelCount: number | null = null; + /** PassNode 原始 local position(prefab 摆放位),动画结束后用来回归 */ + private _passNodeOriginalPos: Vec3 | null = null; + + /** 通关页所用「已通关数量」(业务数据,给成就体系展示用) */ + private _passCompletedLevelCount: number | null = null; + + /** 通关页动画起点(通关前)的已通关数量;为 null 表示不播跨称号过渡 */ + private _passPreviousCompletedLevelCount: number | null = null; + + /** 通关页称号 / 进度条动画工具,惰性初始化 */ + private _titleAnimator: AchievementTitleAnimator | null = null; /** 错误弹窗实例 */ private _wrongModalNode: Node | null = null; @@ -364,6 +420,7 @@ export class PageLevel extends BaseView { this.initUnlockButtons(); this.initSubmitButton(); this.initPkNextLevelButton(); + this._initPassNodeState(); // 异步加载关卡资源并调用进入关卡接口,完成后启动倒计时 this._enterAndInitLevel().catch(err => { @@ -405,12 +462,12 @@ export class PageLevel extends BaseView { // - 提交按钮被 _isTransitioning 锁住,无法重新提交 // - 倒计时已停、谐音梗已揭示 // 此时玩家从首页再次进入会看到一个无法操作的"死局"。必须把会话推进到下一关。 - // 注意:这只可能在主线模式发生 —— 分享模式下点 iconSetting / PassModal 的 home + // 注意:这只可能在主线模式发生 —— 分享模式下点 iconSetting / PassNode 的入口 // 都会调用 ShareManager.clearShareMode + ViewManager.replace,再次进入会被 // 上面的 modeChanged / shareCodeChanged 分支拦截走 _reinitLevelSession。 if (this._isTransitioning) { console.log('[PageLevel] 上次离场时停留在通关后状态,自动推进到下一关'); - this._closePassModal(); + this._resetPassNode(); this._closeWrongModal(); this._closeTimeoutModal(); this._closeCommonModal(); @@ -433,7 +490,7 @@ export class PageLevel extends BaseView { this._isShareMode = shareMode; // 上一场可能遗留的弹窗 / 倒计时一并清掉,避免主线模式还看到分享态弹窗 - this._closePassModal(); + this._resetPassNode(); this._closeWrongModal(); this._closeTimeoutModal(); this._closeCommonModal(); @@ -493,7 +550,7 @@ export class PageLevel extends BaseView { this.clearInputNodes(); this.clearPunchBlocks(); this.stopCountdown(); - this._closePassModal(); + this._resetPassNode(); this._closeWrongModal(); this._closeTimeoutModal(); this._closeCommonModal(); @@ -908,11 +965,11 @@ export class PageLevel extends BaseView { AudioManager.instance.playButtonClick(); // 离开 PageLevel 时把所有挂在 Canvas 上的关卡级弹窗一起清掉。 - // PassModal / WrongModal / TimeoutModal / CommonModal 都是 addChild 到 this.node.parent + // WrongModal / TimeoutModal / CommonModal 都是 addChild 到 this.node.parent // 也就是 PageLevel 的兄弟节点,PageLevel 被 ViewManager 隐藏后它们并不会自动消失, - // 否则会孤儿地盖在 PageHome 上。同时清掉 PassModal 也避免再次进入时缓存实例 - // 残留 _passModalNode 引用让 _swapToNextLevelImagesIfReady 误判弹窗仍在打开。 - this._closePassModal(); + // 否则会孤儿地盖在 PageHome 上。 + // PassNode 是 PageLevel 自身子节点(不是弹窗),用 _resetPassNode 同步归位即可。 + this._resetPassNode(); this._closeWrongModal(); this._closeTimeoutModal(); this._closeCommonModal(); @@ -1662,6 +1719,20 @@ export class PageLevel extends BaseView { this.playSound(this.failAudio); } + /** + * 播放通关成功音效 + */ + private playSuccessSound(): void { + this.playSound(this.successAudio); + } + + /** + * 播放通关成功音效 + */ + private playSuccessSound(): void { + this.playSound(this.successAudio); + } + // ========== 倒计时相关方法 ========== /** @@ -1902,8 +1973,8 @@ export class PageLevel extends BaseView { // 停止倒计时 this.stopCountdown(); - // 通关音效不在这里播,改由通关弹窗 onViewShow 触发(见 PassModal._playSuccessSound) - // 产品节奏:玩家看到弹窗的瞬间音效才响起,避免谐音梗揭示期间就被音效抢戏 + // 通关音效不在这里播,改由 _showPassNode 在 PassNode 弹起时触发(_playSuccessSound) + // 产品节奏:玩家看到通关页的瞬间音效才响起,避免谐音梗揭示期间就被音效抢戏 const punchline = this.getValidPunchline(this._currentConfig?.punchline ?? null); if (punchline) { @@ -1922,7 +1993,7 @@ export class PageLevel extends BaseView { await this.delay(PageLevel.PASS_MODAL_DELAY_MS); // 显示通关弹窗 - this._showPassModal(); + this._showPassNode(); } private getValidPunchline(punchline: string | null): string | null { @@ -1941,9 +2012,9 @@ export class PageLevel extends BaseView { // 乐观更新通关计数(用于称号展示) const previousCount = AuthManager.instance.completedLevelCount; AuthManager.instance.addCompletedLevelCount(); - this._passModalCompletedLevelCount = AuthManager.instance.completedLevelCount; + this._passCompletedLevelCount = AuthManager.instance.completedLevelCount; // 本次预期为首次通关,起点 = 通关前计数;如果回调回退,则清掉避免误播动画 - this._passModalPreviousCompletedLevelCount = previousCount; + this._passPreviousCompletedLevelCount = previousCount; void StaminaManager.instance.completeLevel(levelId, timeSpent).then((result) => { if (result) { @@ -1953,20 +2024,17 @@ export class PageLevel extends BaseView { if (!result.firstClear) { // 非首次通关,回退乐观更新 AuthManager.instance.addCompletedLevelCount(-1); - this._passModalCompletedLevelCount = AuthManager.instance.completedLevelCount; - this._passModalPreviousCompletedLevelCount = null; + this._passCompletedLevelCount = AuthManager.instance.completedLevelCount; + this._passPreviousCompletedLevelCount = null; } console.log(`[PageLevel] 通关上报成功,首次通关: ${result.firstClear}, 有下一关: ${!!result.nextLevel}`); - - // 若此时通关弹窗已打开但当时 nextLevel 还没到,补一次底图预替换 - this._swapToNextLevelImagesIfReady(); } }); return; } - this._passModalCompletedLevelCount = null; - this._passModalPreviousCompletedLevelCount = null; + this._passCompletedLevelCount = null; + this._passPreviousCompletedLevelCount = null; this._recordCurrentShareSubmission(undefined, timeSpent); } @@ -2011,158 +2079,357 @@ export class PageLevel extends BaseView { } /** - * 显示通关弹窗 - * 将弹窗添加到 Canvas 根节点下(而非 PageLevel 子节点) - * 这样 Widget 可以正确对齐到全屏 + * 通关展示:BottomLayout / TipsLayout 透明度淡出,PassNode 从屏幕左侧滑入, + * Caidai 彩带 spine 播放 "open" 动画;按 NextLevel 时再走 _hidePassNode。 + * + * 与原 PassModal 弹窗的差异: + * - PassNode 是 PageLevel 自己的子节点,不是 instantiate 出的弹窗,无需挂到 Canvas + * - PassNode 不全屏遮盖,所以不能在它显示期间偷偷预换底图(用户能看见底图) + * - 分享模式不展示成就体系(passTitleLevelNode 整体隐藏) */ - private _showPassModal(): void { - if (!this.passModalPrefab) { - console.warn('[PageLevel] passModalPrefab 未设置'); + private _showPassNode(): void { + if (!this.passNode) { + console.warn('[PageLevel] passNode 未挂引用,跳过通关展示'); return; } - // 如果弹窗已显示,不再重复创建 - if (this._passModalNode && this._passModalNode.isValid) { + if (this._isPassNodeShown || this._isPassNodeAnimating) { return; } - // 实例化弹窗 - const modalNode = instantiate(this.passModalPrefab); - modalNode.setPosition(PageLevel.ZERO_POS); - modalNode.setSiblingIndex(PassModal.MODAL_Z_INDEX); + this._isPassNodeShown = true; - // 找到 Canvas 根节点并添加弹窗 - const canvasNode = this.node.parent; - if (canvasNode) { - canvasNode.addChild(modalNode); - } else { - this.node.addChild(modalNode); - } - this._passModalNode = modalNode; + // 配置成就体系数据 / 按钮文案 / 事件 + this._setupPassNodeContent(); + this._bindPassNodeEvents(); - // 获取 PassModal 组件并设置回调 - const passModal = modalNode.getComponent(PassModal); - if (passModal) { - const completedCount = this._getPassModalCompletedLevelCount(); - const titleInfo = AchievementTitleManager.getTitleInfo(completedCount); - const previousCompletedCount = this._passModalPreviousCompletedLevelCount; - const previousTitleInfo = (previousCompletedCount !== null && previousCompletedCount !== completedCount) - ? AchievementTitleManager.getTitleInfo(previousCompletedCount) - : undefined; + // 启动彩带 + 滑入动画 + 淡出底部UI + 通关音效 + this._playCaidai(); + this._playPassNodeShowAnimation(); + this.playSuccessSound(); - passModal.setParams({ - levelIndex: this.getDisplayLevelNumber(), - nextButtonText: this._isShareMode && this._isFinalShareLevel() - ? PageLevel.SHARE_SUBMIT_BUTTON_TEXT - : undefined, - titleInfo, - previousTitleInfo - }); - passModal.setCallbacks({ - onNextLevel: () => { - if (this._isShareMode) { - this._closePassModal(); - void this.goToNextLevel(); - return; - } - - this._showShareNextConfirmModal(() => { - this._closePassModal(); - void this.goToNextLevel(); - }); - }, - onShare: () => { - // 分享后不关闭弹窗,用户可继续点击下一关 - console.log('[PageLevel] 分享完成'); - }, - onHome: () => { - this._closePassModal(); - - if (this._isShareMode) { - ShareManager.instance.clearShareMode(); - ViewManager.instance.replace('PageHome'); - return; - } - - ViewManager.instance.back(); - } - }); - // 动画消费完一次后清除起点,避免弹窗多次打开时复用 - this._passModalPreviousCompletedLevelCount = null; - // 手动调用 onViewLoad 和 onViewShow - passModal.onViewLoad(); - passModal.onViewShow(); - } - - // 弹窗已全屏遮盖当前关卡,利用这个时机把底层图片静默替换为下一关 - // 这样用户点"下一关"关闭弹窗时,底图已经是新的,不会出现闪烁 - this._swapToNextLevelImagesIfReady(); - - console.log('[PageLevel] 显示通关弹窗'); + console.log('[PageLevel] 显示通关页 PassNode'); } - private _getPassModalCompletedLevelCount(): number { - return this._passModalCompletedLevelCount ?? AuthManager.instance.completedLevelCount; + private _getPassCompletedLevelCount(): number { + return this._passCompletedLevelCount ?? AuthManager.instance.completedLevelCount; } /** - * 在通关弹窗遮盖期间,把底层的主图预先替换为下一关的图 - * 目的:点击"下一关"关闭弹窗的瞬间,底图已经是新的,避免闪屏 - * - * 三种情况: - * - 分享模式:直接通过 ShareManager.ensureShareLevelReady(index+1) 取下一关 config - * - 正常模式 & nextLevel 已到达:从 LevelDataManager 缓存里取(enter 时已 preloadLevel 过) - * - 正常模式 & nextLevel 尚未到达(complete 接口还没回包):由 reportLevelCompleted 的回调补偿调用 + * 配置通关页内容: + * - 成就体系(分享模式整体隐藏;普通模式根据通关数量绑定文案 / 进度条 / 跨称号动画) + * - 「下一关 / 提交答案」按钮文案:分享模式最后一题显示"提交答案" */ - private _swapToNextLevelImagesIfReady(): void { - if (this._isShareMode) { - const nextIndex = this._shareLevelIndex + 1; - if (nextIndex >= ShareManager.instance.getShareLevelCount()) { + private _setupPassNodeContent(): void { + const showTitle = !this._isShareMode; + if (this.passTitleLevelNode) { + this.passTitleLevelNode.active = showTitle; + } + + if (showTitle) { + const completedCount = this._getPassCompletedLevelCount(); + const titleInfo = AchievementTitleManager.getTitleInfo(completedCount); + const previousCompletedCount = this._passPreviousCompletedLevelCount; + const previousTitleInfo: AchievementTitleInfo | null = ( + previousCompletedCount !== null && previousCompletedCount !== completedCount + ) + ? AchievementTitleManager.getTitleInfo(previousCompletedCount) + : null; + + const animator = this._ensureTitleAnimator(); + animator.bind({ + titleLabel: this.passTitleLevelLabel, + progressLabel: this.passProgressLabel, + progressBar: this.passTitleProgressBar, + progressAnchor: this.passProgressAnchor, + }); + animator.playTransition(previousTitleInfo, titleInfo); + + // 跨称号动画起点是一次性的,消费完清掉,避免下次重复 + this._passPreviousCompletedLevelCount = null; + } else { + // 分享模式不展示成就,停掉可能的旧动画 + this._titleAnimator?.stop(); + } + + // NextLevelButton 文案 + const isFinalShareSubmit = this._isShareMode && this._isFinalShareLevel(); + const nextLabel = this.passNextLevelButton?.getChildByName('Label')?.getComponent(Label); + if (nextLabel) { + nextLabel.string = isFinalShareSubmit + ? PageLevel.SHARE_SUBMIT_BUTTON_TEXT + : '下一关'; + } + } + + private _ensureTitleAnimator(): AchievementTitleAnimator { + if (!this._titleAnimator) { + this._titleAnimator = new AchievementTitleAnimator(); + } + return this._titleAnimator; + } + + /** + * 在 onViewLoad 阶段把 PassNode / Caidai 的可见性归到「未通关」初始态。 + * Prefab 里 PassNode 默认 active=true(方便编辑预览),运行时必须先关掉, + * 否则页面一打开就直接展示通关页。 + * + * 同时记录 PassNode 当前 local position 作为「滑入终点位置」。 + * Widget 的 alignMode=ON_WINDOW_RESIZE,运行时不会每帧覆盖,所以 clone 一次即可。 + */ + private _initPassNodeState(): void { + if (this.passNode) { + this._passNodeOriginalPos = this.passNode.position.clone(); + this.passNode.active = false; + } + if (this.caidaiNode) { + this.caidaiNode.active = false; + } + this._isPassNodeShown = false; + this._isPassNodeAnimating = false; + } + + /** PassNode 进入动画:底部两层淡出 + PassNode 从屏幕左侧滑入 */ + private _playPassNodeShowAnimation(): void { + if (!this.passNode) return; + + this._isPassNodeAnimating = true; + + // 底部两层淡出后置 active = false(next 进入时会重新 active = true) + this._fadeOutBottomLayers(); + + // 记录原位置(首次记录后保留,反向动画 / reset 时复用) + if (!this._passNodeOriginalPos) { + this._passNodeOriginalPos = this.passNode.position.clone(); + } + + // 从屏幕左侧外滑入:起点 X = 原 X - 屏幕宽度(确保完全在屏幕外) + const screenWidth = view.getVisibleSize().width; + const originalPos = this._passNodeOriginalPos; + const startX = originalPos.x - screenWidth; + + Tween.stopAllByTarget(this.passNode); + this.passNode.active = true; + this.passNode.setPosition(startX, originalPos.y, originalPos.z); + + tween(this.passNode) + .to( + PageLevel.PASS_NODE_SLIDE_DURATION, + { position: originalPos.clone() }, + { easing: 'cubicOut' }, + ) + .call(() => { + this._isPassNodeAnimating = false; + }) + .start(); + } + + /** + * PassNode 退出(用户点下一关时调用):滑出 PassNode + 底部两层淡入 + * 返回 Promise,外部链路通常 await 后再调 goToNextLevel + */ + private _hidePassNode(): Promise { + return new Promise((resolve) => { + if (!this.passNode || !this._isPassNodeShown) { + resolve(); return; } - // ensureShareLevelReady 若已缓存会立即 resolve;首次则会加载(此时图已在弹窗后面偷偷替换,用户无感) - ShareManager.instance.ensureShareLevelReady(nextIndex) - .then(config => this._applyNextLevelImagesFromConfig(config)) - .catch(() => {}); - return; - } - const nextLevel = this._nextLevelData ?? AuthManager.instance.nextLevel; - if (!nextLevel) { - // complete 接口还没回包,走回调补偿路径 - return; - } + this._isPassNodeAnimating = true; - const config = LevelDataManager.instance.getLevelConfig(nextLevel.id); - this._applyNextLevelImagesFromConfig(config); + // 底部两层淡入恢复 + this._fadeInBottomLayers(); + + // 滑出 PassNode(向左滑出屏幕) + const screenWidth = view.getVisibleSize().width; + const originalPos = this._passNodeOriginalPos ?? this.passNode.position.clone(); + const exitX = originalPos.x - screenWidth; + + Tween.stopAllByTarget(this.passNode); + tween(this.passNode) + .to( + PageLevel.PASS_NODE_SLIDE_DURATION, + { position: new Vec3(exitX, originalPos.y, originalPos.z) }, + { easing: 'cubicIn' }, + ) + .call(() => { + this._finalizeHidePassNode(); + resolve(); + }) + .start(); + }); } - private _applyNextLevelImagesFromConfig(config: RuntimeLevelConfig | null): void { - if (!config) return; - - // 只在弹窗仍然打开时换图;否则说明用户已经点过下一关进入后续流程了,不再重复设置 - if (!this._passModalNode || !this._passModalNode.isValid) { - return; + private _finalizeHidePassNode(): void { + // 隐藏 PassNode 并归位(_passNodeOriginalPos 已记录) + if (this.passNode) { + this.passNode.active = false; + if (this._passNodeOriginalPos) { + this.passNode.setPosition(this._passNodeOriginalPos); + } } - if (config.spriteFrame1) { - this.setMainImage(config.spriteFrame1); + // 关掉彩带 + if (this.caidaiNode) { + this.caidaiNode.active = false; } - if (config.spriteFrame2) { - this.setMainImage2(config.spriteFrame2); - } - console.log('[PageLevel] 弹窗遮盖期间已预替换下一关底图'); + + this._unbindPassNodeEvents(); + this._titleAnimator?.stop(); + this._isPassNodeShown = false; + this._isPassNodeAnimating = false; } /** - * 关闭通关弹窗 + * 同步重置 PassNode 与底部两层到「未通关」状态。 + * 用于:销毁、模式切换、IconSetting 离场、自动推进下一关 等需要立即清场的场景。 + * 不带动画,直接归位。 */ - private _closePassModal(): void { - if (this._passModalNode && this._passModalNode.isValid) { - this._passModalNode.destroy(); - this._passModalNode = null; - console.log('[PageLevel] 关闭通关弹窗'); + private _resetPassNode(): void { + if (this.passNode) { + Tween.stopAllByTarget(this.passNode); + this.passNode.active = false; + if (this._passNodeOriginalPos) { + this.passNode.setPosition(this._passNodeOriginalPos); + } } + + if (this.caidaiNode) { + this.caidaiNode.active = false; + } + + this._restoreBottomLayersImmediate(); + this._unbindPassNodeEvents(); + this._titleAnimator?.stop(); + this._isPassNodeShown = false; + this._isPassNodeAnimating = false; + } + + /** PassNode 事件绑定(NextLevel + Share) */ + private _bindPassNodeEvents(): void { + // 防御:先解绑,避免重复绑定 + this._unbindPassNodeEvents(); + + if (this.passNextLevelButton) { + this.passNextLevelButton.on(Node.EventType.TOUCH_END, this._onPassNextLevelClick, this); + } + if (this.passShareButton) { + this.passShareButton.on(Node.EventType.TOUCH_END, this._onPassShareClick, this); + } + } + + private _unbindPassNodeEvents(): void { + if (this.passNextLevelButton?.isValid) { + this.passNextLevelButton.off(Node.EventType.TOUCH_END, this._onPassNextLevelClick, this); + } + if (this.passShareButton?.isValid) { + this.passShareButton.off(Node.EventType.TOUCH_END, this._onPassShareClick, this); + } + } + + /** + * 「下一关 / 提交答案」点击:与原 PassModal.onNextLevel 等价, + * - 分享模式弹「确认进入下一题 / 确认提交挑战答案」二次确认 + * - 普通模式直接走 _hidePassNode + goToNextLevel + */ + private _onPassNextLevelClick(): void { + if (this._isPassNodeAnimating) return; + + AudioManager.instance.playButtonClick(); + + // 普通模式 _showShareNextConfirmModal 内部首行就 onConfirm(),所以两条路统一 + this._showShareNextConfirmModal(async () => { + await this._hidePassNode(); + void this.goToNextLevel(); + }); + } + + /** + * 「分享」点击:与原 PassModal.onShare 行为一致——发普通 query=level=N 的微信卡片 + * (这条仍是 CLAUDE.md Current Gaps #2 列出的已知缺陷:不是好友挑战的 shareCode 链路) + */ + private _onPassShareClick(): void { + AudioManager.instance.playButtonClick(); + WxSDK.shareAppMessage({ + title: '快来一起玩这款游戏吧', + query: `level=${this.getDisplayLevelNumber()}`, + }); + } + + /** 启动彩带 spine 动画 "open",单次播放 */ + private _playCaidai(): void { + if (!this.caidaiNode || !this.caidaiSkeleton) return; + + this.caidaiNode.active = true; + // setAnimation 三参:trackIndex, name, loop + this.caidaiSkeleton.setAnimation(0, PageLevel.CAIDAI_ANIMATION_NAME, false); + } + + /** 底部两层淡出(透明度 → 0),完成后 active = false */ + private _fadeOutBottomLayers(): void { + for (const layer of [this.bottomLayoutNode, this.tipsLayout]) { + if (!layer) continue; + + const opacity = this._ensureUIOpacity(layer); + Tween.stopAllByTarget(opacity); + opacity.opacity = 255; + + tween(opacity) + .to( + PageLevel.BOTTOM_LAYER_FADE_DURATION, + { opacity: 0 }, + { easing: 'sineOut' }, + ) + .call(() => { + if (layer.isValid) { + layer.active = false; + } + }) + .start(); + } + } + + /** 底部两层淡入(active = true,透明度 0 → 255) */ + private _fadeInBottomLayers(): void { + for (const layer of [this.bottomLayoutNode, this.tipsLayout]) { + if (!layer) continue; + + const opacity = this._ensureUIOpacity(layer); + Tween.stopAllByTarget(opacity); + layer.active = true; + opacity.opacity = 0; + + tween(opacity) + .to( + PageLevel.BOTTOM_LAYER_FADE_DURATION, + { opacity: 255 }, + { easing: 'sineOut' }, + ) + .start(); + } + } + + /** 立即把底部两层恢复成「关卡进行中」状态(无动画),用于销毁 / 切关时清场 */ + private _restoreBottomLayersImmediate(): void { + for (const layer of [this.bottomLayoutNode, this.tipsLayout]) { + if (!layer) continue; + + const opacity = layer.getComponent(UIOpacity); + if (opacity) { + Tween.stopAllByTarget(opacity); + opacity.opacity = 255; + } + // 注意:是否 active=true 由 _refreshModeUI 决定(PK 模式下 BottomLayout 应隐藏) + // 这里只负责把透明度归位,可见性由模式刷新控制 + } + } + + private _ensureUIOpacity(node: Node): UIOpacity { + let opacity = node.getComponent(UIOpacity); + if (!opacity) { + opacity = node.addComponent(UIOpacity); + } + return opacity; } /** diff --git a/assets/prefabs/PassModal.prefab b/assets/prefabs/PassModal.prefab index 0e514ec..9cb15b2 100644 --- a/assets/prefabs/PassModal.prefab +++ b/assets/prefabs/PassModal.prefab @@ -652,7 +652,7 @@ "__id__": 86 } ], - "_active": true, + "_active": false, "_components": [ { "__id__": 98 @@ -1632,7 +1632,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 442.03125, + "width": 461.40625, "height": 75.6 }, "_anchorPoint": { diff --git a/assets/resources/.DS_Store b/assets/resources/.DS_Store new file mode 100644 index 0000000..0893e8b Binary files /dev/null and b/assets/resources/.DS_Store differ diff --git a/assets/resources/spine.meta b/assets/resources/spine.meta new file mode 100644 index 0000000..5695dcf --- /dev/null +++ b/assets/resources/spine.meta @@ -0,0 +1,9 @@ +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "56ca3b87-0258-46ac-a7fe-6fa57bd4fdcd", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/resources/spine/prize_fx.atlas b/assets/resources/spine/prize_fx.atlas new file mode 100644 index 0000000..700585b --- /dev/null +++ b/assets/resources/spine/prize_fx.atlas @@ -0,0 +1,125 @@ + +prize_fx.png +size: 668,525 +format: RGBA8888 +filter: Linear,Linear +repeat: none +caidai01 + rotate: true + xy: 313, 234 + size: 42, 33 + orig: 42, 33 + offset: 0, 0 + index: -1 +caidai02 + rotate: true + xy: 638, 265 + size: 25, 28 + orig: 25, 28 + offset: 0, 0 + index: -1 +cd1 + rotate: true + xy: 238, 2 + size: 26, 150 + orig: 37, 160 + offset: 6, 0 + index: -1 +cd2 + rotate: false + xy: 289, 235 + size: 22, 145 + orig: 37, 160 + offset: 12, 4 + index: -1 +cd3 + rotate: true + xy: 390, 2 + size: 26, 150 + orig: 37, 160 + offset: 6, 0 + index: -1 +cd4 + rotate: true + xy: 391, 247 + size: 29, 66 + orig: 46, 80 + offset: 10, 7 + index: -1 +gh_0 + rotate: false + xy: 238, 30 + size: 193, 195 + orig: 200, 200 + offset: 3, 2 + index: -1 +guang + rotate: false + xy: 348, 235 + size: 41, 41 + orig: 66, 69 + offset: 17, 16 + index: -1 +guang1 + rotate: false + xy: 433, 50 + size: 65, 66 + orig: 66, 69 + offset: 0, 1 + index: -1 +ks + rotate: false + xy: 289, 382 + size: 141, 141 + orig: 155, 155 + offset: 7, 7 + index: -1 +light_glow + rotate: false + xy: 433, 292 + size: 233, 231 + orig: 279, 278 + offset: 23, 24 + index: -1 +light_line1 + rotate: true + xy: 2, 5 + size: 220, 234 + orig: 285, 263 + offset: 43, 23 + index: -1 +light_line2 + rotate: true + xy: 2, 227 + size: 296, 285 + orig: 309, 298 + offset: 9, 12 + index: -1 +star1 + rotate: false + xy: 433, 200 + size: 20, 19 + orig: 26, 26 + offset: 3, 3 + index: -1 +xx02 + rotate: false + xy: 433, 221 + size: 24, 24 + orig: 32, 32 + offset: 4, 4 + index: -1 +yd_c1_light + rotate: true + xy: 459, 118 + size: 172, 177 + orig: 200, 200 + offset: 17, 12 + index: -1 +yd_light + rotate: false + xy: 313, 278 + size: 102, 102 + orig: 112, 112 + offset: 5, 5 + index: -1 diff --git a/assets/resources/spine/prize_fx.atlas.meta b/assets/resources/spine/prize_fx.atlas.meta new file mode 100644 index 0000000..b3a64a1 --- /dev/null +++ b/assets/resources/spine/prize_fx.atlas.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.0.0", + "importer": "*", + "imported": true, + "uuid": "4b5c9209-f28d-4e6a-9eae-905c0e9dbbb7", + "files": [ + ".atlas", + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/resources/spine/prize_fx.json b/assets/resources/spine/prize_fx.json new file mode 100644 index 0000000..7647f30 --- /dev/null +++ b/assets/resources/spine/prize_fx.json @@ -0,0 +1,3408 @@ +{ +"skeleton": { + "hash": "t+nCB9BqPLHGlKxTe5NUmmErv9w=", + "spine": "3.8.75", + "x": -544.14, + "y": -1080, + "width": 1087.85, + "height": 2160, + "images": "../303【只有在【冰糖撞果冻】购买才可以免费更新】/0/", + "audio": "../303【只有在【冰糖撞果冻】购买才可以免费更新】/" +}, +"bones": [ + { "name": "root" }, + { "name": "zhu", "parent": "root" }, + { "name": "0s", "parent": "zhu" }, + { "name": "gd4", "parent": "0s", "y": -202.91 }, + { "name": "gx_z", "parent": "zhu", "color": "3944ffff" }, + { "name": "light_glow", "parent": "gx_z", "color": "3944ffff" }, + { "name": "light_line1", "parent": "gx_z", "color": "3944ffff" }, + { "name": "light_line2", "parent": "gx_z", "color": "3944ffff" }, + { "name": "star_z", "parent": "gx_z", "x": -0.6, "y": 0.44, "color": "3944ffff" }, + { "name": "yd_z", "parent": "gx_z", "x": -0.74, "y": 0.59, "color": "3944ffff" }, + { "name": "cd1111", "parent": "root", "rotation": -0.08 }, + { "name": "zza1", "parent": "cd1111", "rotation": 0.08, "scaleX": 21.6139, "scaleY": 35.3393 }, + { "name": "light_line3", "parent": "gx_z", "color": "3944ffff" }, + { "name": "yd_c1_light2", "parent": "star_z", "color": "3944ffff" }, + { "name": "yd_light2", "parent": "yd_z", "color": "3944ffff" }, + { "name": "yd_c1_light3", "parent": "star_z", "scaleX": 0.8, "scaleY": 0.8, "color": "3944ffff" }, + { "name": "yd_light3", "parent": "yd_z", "scaleX": 0.5, "scaleY": 0.5, "color": "3944ffff" }, + { "name": "yd_c1_light4", "parent": "star_z", "scaleX": 0.6, "scaleY": 0.6, "color": "3944ffff" }, + { "name": "light_line4", "parent": "gx_z", "color": "3944ffff" }, + { "name": "gh_0", "parent": "gx_z" }, + { "name": "gh_1", "parent": "gx_z" }, + { "name": "bone", "parent": "cd1111", "y": -725.14 }, + { "name": "cdz", "parent": "bone", "x": 364.52, "y": 419.8 }, + { "name": "cd3", "parent": "cdz", "rotation": 37.13, "x": 103.86, "y": -89.9 }, + { + "name": "cd4", + "parent": "cdz", + "rotation": 58.44, + "x": 113.42, + "y": 11.02, + "scaleX": 1.0258, + "scaleY": 1.0258 + }, + { + "name": "cd5", + "parent": "cdz", + "rotation": 47.37, + "x": 113.42, + "y": 146.53, + "scaleX": 0.7712, + "scaleY": 0.7712 + }, + { "name": "cdz2", "parent": "bone", "x": 364.52, "y": 419.8 }, + { "name": "cd6", "parent": "cdz2", "rotation": 37.13, "x": 103.86, "y": -89.9 }, + { + "name": "cd7", + "parent": "cdz2", + "rotation": 58.44, + "x": 113.42, + "y": 11.02, + "scaleX": 1.0258, + "scaleY": 1.0258 + }, + { + "name": "cd8", + "parent": "cdz2", + "rotation": 47.37, + "x": 113.42, + "y": 146.53, + "scaleX": 0.7712, + "scaleY": 0.7712 + }, + { "name": "L", "parent": "cd1111" }, + { "name": "caidai", "parent": "L" }, + { "name": "caidai01", "parent": "caidai", "x": -430.63, "y": -180.75, "color": "ffd000ff" }, + { + "name": "caidai1", + "parent": "caidai", + "x": -421.83, + "y": 72.91, + "scaleX": 0.8, + "scaleY": 0.8, + "color": "ffd000ff" + }, + { + "name": "caidai02", + "parent": "caidai", + "x": -449.23, + "y": 252.87, + "scaleX": 1.4, + "scaleY": 1.4, + "color": "ff0000ff" + }, + { "name": "caidai2", "parent": "caidai", "x": -428.12, "y": 111.16, "color": "ff0000ff" }, + { + "name": "caidai3", + "parent": "caidai", + "x": -428.12, + "y": 337.33, + "scaleX": 1.6, + "scaleY": 1.6, + "color": "ff0000ff" + }, + { "name": "caidai4", "parent": "caidai", "x": -420.32, "y": -249.94, "color": "ff0000ff" }, + { "name": "caidai5", "parent": "caidai", "x": -428.12, "y": 337.33, "color": "ff0000ff" }, + { "name": "caidai6", "parent": "caidai", "rotation": -38.4, "x": -407.6, "y": -258.9, "color": "ffd000ff" }, + { + "name": "caidai7", + "parent": "caidai", + "x": -395.86, + "y": 299.08, + "scaleX": 0.8, + "scaleY": 0.8, + "color": "ffd000ff" + }, + { + "name": "caidai9", + "parent": "caidai", + "x": -421.83, + "y": 299.08, + "scaleX": 0.8, + "scaleY": 0.8, + "color": "ffd000ff" + }, + { + "name": "caidai10", + "parent": "caidai", + "x": -421.83, + "y": 299.08, + "scaleX": 0.6, + "scaleY": 0.6, + "color": "ffd000ff" + }, + { "name": "caidai11", "parent": "caidai", "x": -421.83, "y": 299.08, "color": "ffd000ff" }, + { "name": "caidai12", "parent": "caidai", "x": -421.83, "y": 299.08, "color": "ffd000ff" }, + { "name": "caidai17", "parent": "caidai", "x": -428.12, "y": 337.33, "color": "ff0000ff" }, + { "name": "caidai18", "parent": "caidai", "x": -428.12, "y": 337.33, "color": "ff0000ff" }, + { "name": "caidai19", "parent": "caidai", "x": -419.19, "y": 388.1, "color": "ff0000ff" }, + { + "name": "caidai20", + "parent": "caidai", + "x": -428.12, + "y": 337.33, + "scaleX": 1.2, + "scaleY": 1.2, + "color": "ff0000ff" + }, + { + "name": "caidai21", + "parent": "caidai", + "x": -428.12, + "y": 436.02, + "scaleX": 1.5, + "scaleY": 1.5, + "color": "ff0000ff" + }, + { + "name": "caidai22", + "parent": "caidai", + "x": -428.12, + "y": 111.16, + "scaleX": 1.5, + "scaleY": 1.5, + "color": "ff0000ff" + }, + { "name": "guangxian", "parent": "L" }, + { "name": "guang", "parent": "guangxian", "x": -351.94, "y": -71.06, "color": "ffbc00ff" }, + { "name": "guang2", "parent": "guangxian", "x": -351.94, "y": -71.06, "color": "ffbc00ff" }, + { "name": "guang3", "parent": "guangxian", "x": -351.94, "y": -71.06, "color": "ffbc00ff" }, + { "name": "guang9", "parent": "guangxian", "x": -380.42, "y": 112.45, "color": "ffbc00ff" }, + { "name": "guang12", "parent": "guangxian", "x": -351.94, "y": -71.06, "color": "ff8434ff" }, + { "name": "guang13", "parent": "guangxian", "rotation": -40.8, "x": -449.03, "y": -269.23, "color": "ff8434ff" }, + { + "name": "guang15", + "parent": "guangxian", + "rotation": -40.8, + "x": -455.68, + "y": -24.51, + "scaleX": 0.8, + "scaleY": 0.8, + "color": "ff8434ff" + }, + { "name": "guang16", "parent": "guangxian", "rotation": -40.8, "x": -398.59, "y": 406.21, "color": "ff8434ff" }, + { "name": "guang21", "parent": "guangxian", "x": -479.09, "y": 212.55, "color": "ffbc00ff" }, + { "name": "guang22", "parent": "guangxian", "x": -409.02, "y": -84.89, "color": "ffbc00ff" }, + { + "name": "guang27", + "parent": "guangxian", + "x": -403.83, + "y": 185.86, + "scaleX": 3, + "scaleY": 3, + "color": "ffbc00ff" + }, + { "name": "guang17", "parent": "L", "x": -549.15, "y": 21.51, "scaleX": 10, "scaleY": 32 }, + { "name": "R", "parent": "cd1111", "x": 14.95, "y": 0.02, "scaleX": -1 }, + { "name": "caidai8", "parent": "R" }, + { "name": "caidai13", "parent": "caidai8", "x": -430.63, "y": -372.51, "color": "ffd000ff" }, + { + "name": "caidai14", + "parent": "caidai8", + "x": -420.61, + "y": -77.69, + "scaleX": 1.4, + "scaleY": 1.4, + "color": "ff0000ff" + }, + { + "name": "caidai15", + "parent": "caidai8", + "x": -430.42, + "y": 238.91, + "scaleX": 0.8, + "scaleY": 0.8, + "color": "ffd000ff" + }, + { + "name": "caidai16", + "parent": "caidai8", + "x": -430.42, + "y": -176.01, + "scaleX": 0.6, + "scaleY": 0.6, + "color": "ffd000ff" + }, + { "name": "caidai23", "parent": "caidai8", "x": -430.42, "y": 38.64, "color": "ffd000ff" }, + { "name": "caidai24", "parent": "caidai8", "x": -421.83, "y": 370.63, "color": "ffd000ff" }, + { "name": "caidai25", "parent": "caidai8", "x": -423.83, "y": 84.04, "color": "ff0000ff" }, + { "name": "caidai26", "parent": "caidai8", "x": -418.1, "y": 184.21, "color": "ff0000ff" }, + { "name": "caidai27", "parent": "caidai8", "x": -422.05, "y": -42.63, "color": "ff0000ff" }, + { "name": "caidai28", "parent": "caidai8", "x": -438.14, "y": -120.66, "color": "ff0000ff" }, + { + "name": "caidai29", + "parent": "caidai8", + "x": -435.28, + "y": 393.14, + "scaleX": 1.2, + "scaleY": 1.2, + "color": "ff0000ff" + }, + { + "name": "caidai30", + "parent": "caidai8", + "x": -436.71, + "y": 138.37, + "scaleX": 1.5, + "scaleY": 1.5, + "color": "ff0000ff" + }, + { + "name": "caidai31", + "parent": "caidai8", + "x": -425.26, + "y": 271.43, + "scaleX": 1.5, + "scaleY": 1.5, + "color": "ff0000ff" + }, + { + "name": "caidai32", + "parent": "caidai8", + "x": -425.26, + "y": 414.6, + "scaleX": 1.6, + "scaleY": 1.6, + "color": "ff0000ff" + }, + { "name": "caidai33", "parent": "caidai8", "x": -420.32, "y": -249.94, "color": "ff0000ff" }, + { "name": "caidai34", "parent": "caidai8", "x": -428.12, "y": 337.33, "color": "ff0000ff" }, + { "name": "caidai35", "parent": "caidai8", "rotation": -38.4, "x": -407.6, "y": -258.9, "color": "ffd000ff" }, + { + "name": "caidai36", + "parent": "caidai8", + "x": -395.86, + "y": 299.08, + "scaleX": 0.8, + "scaleY": 0.8, + "color": "ffd000ff" + }, + { + "name": "caidai37", + "parent": "caidai8", + "x": -423.26, + "y": 612.25, + "scaleX": 0.8, + "scaleY": 0.8, + "color": "ffd000ff" + }, + { "name": "guangxian2", "parent": "R" }, + { "name": "guang5", "parent": "guangxian2", "x": -440.5, "y": 199.05, "color": "ffbc00ff" }, + { "name": "guang10", "parent": "guangxian2", "x": -449.36, "y": -250.39, "color": "ffbc00ff" }, + { "name": "guang11", "parent": "guangxian2", "x": -395.11, "y": 36.32, "color": "ffbc00ff" }, + { "name": "guang14", "parent": "guangxian2", "x": -418.36, "y": -294.67, "color": "ff8434ff" }, + { "name": "guang18", "parent": "guangxian2", "rotation": -40.8, "x": -449.03, "y": -269.23, "color": "ff8434ff" }, + { + "name": "guang19", + "parent": "guangxian2", + "rotation": -40.8, + "x": -455.68, + "y": -24.51, + "scaleX": 0.8, + "scaleY": 0.8, + "color": "ff8434ff" + }, + { "name": "guang20", "parent": "guangxian2", "rotation": -40.8, "x": -408.6, "y": -157.21, "color": "ff8434ff" }, + { "name": "guang23", "parent": "guangxian2", "x": -413.61, "y": 147.15, "color": "ffbc00ff" }, + { "name": "guang24", "parent": "guangxian2", "rotation": -40.8, "x": -408.6, "y": 358.1, "color": "ff8434ff" }, + { "name": "guang25", "parent": "guangxian2", "x": -380.42, "y": 112.45, "color": "ffbc00ff" }, + { + "name": "guang28", + "parent": "guangxian2", + "x": -442.87, + "y": -152.34, + "scaleX": -3.5, + "scaleY": 3.5, + "color": "ffbc00ff" + }, + { "name": "guang26", "parent": "R", "x": -549.15, "y": 21.51, "scaleX": 10, "scaleY": 32 }, + { "name": "bone2", "parent": "cd1111", "y": -725.14, "scaleX": -1 }, + { "name": "cdz3", "parent": "bone2", "x": 364.52, "y": 419.8 }, + { "name": "cd9", "parent": "cdz3", "rotation": 37.13, "x": 103.86, "y": -89.9 }, + { + "name": "cd10", + "parent": "cdz3", + "rotation": 58.44, + "x": 113.42, + "y": 11.02, + "scaleX": 1.0258, + "scaleY": 1.0258 + }, + { + "name": "cd11", + "parent": "cdz3", + "rotation": 47.37, + "x": 113.42, + "y": 146.53, + "scaleX": 0.7712, + "scaleY": 0.7712 + }, + { "name": "cdz4", "parent": "bone2", "x": 364.52, "y": 419.8 }, + { "name": "cd12", "parent": "cdz4", "rotation": 37.13, "x": 103.86, "y": -89.9 }, + { + "name": "cd13", + "parent": "cdz4", + "rotation": 58.44, + "x": 113.42, + "y": 11.02, + "scaleX": 1.0258, + "scaleY": 1.0258 + }, + { + "name": "cd14", + "parent": "cdz4", + "rotation": 47.37, + "x": 113.42, + "y": 146.53, + "scaleX": 0.7712, + "scaleY": 0.7712 + }, + { + "name": "star3", + "parent": "cd1111", + "rotation": -133.41, + "x": 513.5, + "y": 780.67, + "scaleX": 0.7807, + "scaleY": 0.7807 + }, + { + "name": "star4", + "parent": "cd1111", + "rotation": -133.41, + "x": -369.38, + "y": 779.5, + "scaleX": 0.7807, + "scaleY": 0.7807 + }, + { + "name": "star5", + "parent": "cd1111", + "rotation": -133.41, + "x": 513.5, + "y": 780.67, + "scaleX": 0.6041, + "scaleY": 0.6041 + }, + { + "name": "star6", + "parent": "cd1111", + "rotation": -133.41, + "x": 513.5, + "y": 780.67, + "scaleX": 0.6041, + "scaleY": 0.6041 + }, + { "name": "little", "parent": "zhu", "color": "3944ffff" }, + { "name": "light_glow2", "parent": "little", "color": "3944ffff" }, + { "name": "light_line5", "parent": "little", "color": "3944ffff" }, + { "name": "light_line6", "parent": "little", "color": "3944ffff" }, + { "name": "star_z2", "parent": "little", "x": -0.6, "y": 0.44, "color": "3944ffff" }, + { "name": "yd_c1_light12", "parent": "star_z2", "scaleX": 0.8551, "scaleY": 0.8551, "color": "3944ffff" }, + { "name": "yd_c1_light13", "parent": "star_z2", "scaleX": 0.573, "scaleY": 0.573, "color": "3944ffff" }, + { "name": "yd_c1_light14", "parent": "star_z2", "scaleX": 0.5011, "scaleY": 0.5011, "color": "3944ffff" }, + { "name": "yd_z2", "parent": "little", "x": -0.74, "y": 0.59, "color": "3944ffff" }, + { "name": "yd_light4", "parent": "yd_z2", "color": "3944ffff" }, + { "name": "yd_light5", "parent": "yd_z2", "scaleX": 0.5, "scaleY": 0.5, "color": "3944ffff" }, + { "name": "light_line7", "parent": "little", "color": "3944ffff" } +], +"slots": [ + { "name": "设置弹窗", "bone": "root" }, + { "name": "bg", "bone": "root" }, + { "name": "zza1", "bone": "zza1" }, + { "name": "light_glow", "bone": "light_glow", "attachment": "light_glow", "blend": "additive" }, + { "name": "light_glow2", "bone": "light_glow2", "blend": "additive" }, + { "name": "light_line1", "bone": "light_line1", "blend": "additive" }, + { "name": "light_line5", "bone": "light_line5", "blend": "additive" }, + { "name": "light_line2", "bone": "light_line2", "attachment": "light_line2", "blend": "additive" }, + { "name": "light_line6", "bone": "light_line6", "blend": "additive" }, + { "name": "light_line3", "bone": "light_line3", "attachment": "light_line2", "blend": "additive" }, + { "name": "light_line7", "bone": "light_line7", "blend": "additive" }, + { "name": "yd_c1_light2", "bone": "yd_c1_light2", "attachment": "yd_c1_light" }, + { "name": "yd_c1_light12", "bone": "yd_c1_light12" }, + { "name": "yd_c1_light4", "bone": "yd_c1_light4", "attachment": "yd_c1_light" }, + { "name": "yd_c1_light14", "bone": "yd_c1_light14" }, + { "name": "yd_c1_light3", "bone": "yd_c1_light3", "attachment": "yd_c1_light" }, + { "name": "yd_c1_light13", "bone": "yd_c1_light13" }, + { "name": "yd_light2", "bone": "yd_light2", "attachment": "yd_light" }, + { "name": "yd_light4", "bone": "yd_light4" }, + { "name": "yd_light3", "bone": "yd_light3", "attachment": "yd_light" }, + { "name": "yd_light5", "bone": "yd_light5" }, + { "name": "light_line4", "bone": "light_line4", "color": "ffffff00", "attachment": "light_line2", "blend": "additive" }, + { "name": "wt_a1", "bone": "gd4" }, + { "name": "gq2_0", "bone": "light_line4", "color": "ffc60000", "blend": "additive" }, + { "name": "gh_0", "bone": "gh_0", "blend": "additive" }, + { "name": "gh_1", "bone": "gh_1", "blend": "additive" }, + { "name": "cd1", "bone": "cd3", "attachment": "cd1" }, + { "name": "cd7", "bone": "cd9", "attachment": "cd1" }, + { "name": "cd4", "bone": "cd6" }, + { "name": "cd10", "bone": "cd12", "attachment": "cd4" }, + { "name": "cd2", "bone": "cd4", "attachment": "cd2" }, + { "name": "cd8", "bone": "cd10", "attachment": "cd2" }, + { "name": "cd5", "bone": "cd7", "attachment": "cd2" }, + { "name": "cd11", "bone": "cd13", "attachment": "cd2" }, + { "name": "cd3", "bone": "cd5", "attachment": "cd3" }, + { "name": "cd9", "bone": "cd11", "attachment": "cd3" }, + { "name": "cd6", "bone": "cd8", "attachment": "cd3" }, + { "name": "cd12", "bone": "cd14", "attachment": "cd3" }, + { "name": "guang", "bone": "guang", "blend": "additive" }, + { "name": "guang5", "bone": "guang5", "blend": "additive" }, + { "name": "guang10", "bone": "guang10", "blend": "additive" }, + { "name": "guang2", "bone": "guang2", "blend": "additive" }, + { "name": "guang23", "bone": "guang23", "blend": "additive" }, + { "name": "guang25", "bone": "guang25", "blend": "additive" }, + { "name": "guang28", "bone": "guang28", "blend": "additive" }, + { "name": "guang9", "bone": "guang9", "blend": "additive" }, + { "name": "guang11", "bone": "guang11", "blend": "additive" }, + { "name": "guang21", "bone": "guang21", "blend": "additive" }, + { "name": "guang14", "bone": "guang14" }, + { "name": "guang22", "bone": "guang22", "blend": "additive" }, + { "name": "guang18", "bone": "guang18" }, + { "name": "guang27", "bone": "guang27", "blend": "additive" }, + { "name": "guang19", "bone": "guang19" }, + { "name": "guang20", "bone": "guang20", "blend": "additive" }, + { "name": "guang24", "bone": "guang24", "blend": "additive" }, + { "name": "guang3", "bone": "guang3", "blend": "additive" }, + { "name": "caidai8", "bone": "caidai13" }, + { "name": "caidai14", "bone": "caidai15" }, + { "name": "guang12", "bone": "guang12" }, + { "name": "caidai34", "bone": "caidai35" }, + { "name": "caidai35", "bone": "caidai36" }, + { "name": "guang13", "bone": "guang13" }, + { "name": "caidai36", "bone": "caidai37" }, + { "name": "caidai15", "bone": "caidai16" }, + { "name": "guang15", "bone": "guang15" }, + { "name": "caidai16", "bone": "caidai23" }, + { "name": "caidai23", "bone": "caidai24" }, + { "name": "guang16", "bone": "guang16" }, + { "name": "caidai13", "bone": "caidai14" }, + { "name": "caidai27", "bone": "caidai28" }, + { "name": "caidai31", "bone": "caidai32" }, + { "name": "caidai01", "bone": "caidai01" }, + { "name": "caidai32", "bone": "caidai33" }, + { "name": "caidai33", "bone": "caidai34" }, + { "name": "caidai1", "bone": "caidai1" }, + { "name": "caidai24", "bone": "caidai25" }, + { "name": "caidai25", "bone": "caidai26" }, + { "name": "caidai6", "bone": "caidai6" }, + { "name": "caidai26", "bone": "caidai27" }, + { "name": "caidai28", "bone": "caidai29" }, + { "name": "caidai7", "bone": "caidai7" }, + { "name": "caidai29", "bone": "caidai30" }, + { "name": "caidai30", "bone": "caidai31" }, + { "name": "caidai9", "bone": "caidai9" }, + { "name": "guang26", "bone": "guang26", "blend": "additive" }, + { "name": "caidai10", "bone": "caidai10" }, + { "name": "caidai11", "bone": "caidai11" }, + { "name": "caidai12", "bone": "caidai12" }, + { "name": "caidai02", "bone": "caidai02" }, + { "name": "caidai2", "bone": "caidai2" }, + { "name": "caidai3", "bone": "caidai3" }, + { "name": "caidai4", "bone": "caidai4" }, + { "name": "caidai5", "bone": "caidai5" }, + { "name": "caidai17", "bone": "caidai17" }, + { "name": "caidai18", "bone": "caidai18" }, + { "name": "caidai19", "bone": "caidai19" }, + { "name": "caidai20", "bone": "caidai20" }, + { "name": "caidai21", "bone": "caidai21" }, + { "name": "caidai22", "bone": "caidai22" }, + { "name": "guang17", "bone": "guang17", "blend": "additive" }, + { "name": "star3", "bone": "star3", "attachment": "star1", "blend": "additive" }, + { "name": "star5", "bone": "star5", "attachment": "star1", "blend": "additive" }, + { "name": "star6", "bone": "star6", "attachment": "star1", "blend": "additive" }, + { "name": "star4", "bone": "star4", "attachment": "star1", "blend": "additive" } +], +"skins": [ + { + "name": "default", + "attachments": { + "caidai32": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "cd3": { + "cd3": { "x": -10.43, "y": -2.64, "rotation": -16.43, "width": 37, "height": 160 } + }, + "caidai34": { + "caidai01": { "x": 2.46, "y": 1.39, "width": 42, "height": 33 } + }, + "caidai35": { + "caidai01": { "x": 2.46, "y": 1.39, "width": 42, "height": 33 } + }, + "caidai36": { + "caidai01": { "x": 2.46, "y": 1.39, "width": 42, "height": 33 } + }, + "guang2": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "guang3": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "yd_c1_light2": { + "yd_c1_light": { "x": -2.64, "y": 1.49, "width": 200, "height": 200 } + }, + "guang5": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "cd6": { + "cd3": { "x": -10.43, "y": -2.64, "rotation": -16.43, "width": 37, "height": 160 } + }, + "guang9": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "guang10": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "yd_light2": { + "yd_light": { "x": 0.12, "y": 0.82, "width": 112, "height": 112 } + }, + "yd_light3": { + "yd_light": { "x": 0.12, "y": 0.82, "width": 112, "height": 112 } + }, + "yd_light4": { + "yd_light": { "x": 0.12, "y": 0.82, "width": 112, "height": 112 } + }, + "yd_light5": { + "yd_light": { "x": 0.12, "y": 0.82, "width": 112, "height": 112 } + }, + "cd8": { + "cd2": { "x": -10.43, "y": -2.64, "rotation": -16.43, "width": 37, "height": 160 } + }, + "light_glow": { + "light_glow": { "scaleX": 2.8319, "scaleY": 2.8319, "width": 279, "height": 278 } + }, + "caidai10": { + "caidai01": { "x": 2.46, "y": 1.39, "width": 42, "height": 33 } + }, + "guang11": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "caidai33": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "star3": { + "star1": { + "x": -17.08, + "y": -8.57, + "scaleX": 2, + "scaleY": 2, + "rotation": 58.44, + "width": 26, + "height": 26 + } + }, + "caidai01": { + "caidai01": { "x": 2.46, "y": 1.39, "width": 42, "height": 33 } + }, + "caidai02": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "star6": { + "star1": { + "x": -17.08, + "y": -8.57, + "scaleX": 2, + "scaleY": 2, + "rotation": 58.44, + "width": 26, + "height": 26 + } + }, + "guang28": { + "xx02": { "x": 1.34, "y": 0.07, "width": 32, "height": 32 } + }, + "yd_c1_light13": { + "yd_c1_light": { "x": -2.64, "y": 1.49, "width": 200, "height": 200 } + }, + "caidai11": { + "caidai01": { "x": 2.46, "y": 1.39, "width": 42, "height": 33 } + }, + "guang26": { + "guang1": { "x": 1.21, "y": -0.22, "width": 66, "height": 69 } + }, + "guang": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "cd11": { + "cd2": { "x": -10.43, "y": -2.64, "rotation": -16.43, "width": 37, "height": 160 } + }, + "light_line3": { + "light_line2": { "x": 4.21, "y": 6.73, "scaleX": 2, "scaleY": 2, "width": 309, "height": 298 } + }, + "star5": { + "star1": { + "x": -17.08, + "y": -8.57, + "scaleX": 2, + "scaleY": 2, + "rotation": 58.44, + "width": 26, + "height": 26 + } + }, + "cd2": { + "cd2": { "x": -10.43, "y": -2.64, "rotation": -16.43, "width": 37, "height": 160 } + }, + "cd12": { + "cd3": { "x": -10.43, "y": -2.64, "rotation": -16.43, "width": 37, "height": 160 } + }, + "guang27": { + "xx02": { "x": 1.34, "y": 0.07, "width": 32, "height": 32 } + }, + "caidai6": { + "caidai01": { "x": 2.46, "y": 1.39, "width": 42, "height": 33 } + }, + "yd_c1_light12": { + "yd_c1_light": { "x": -2.64, "y": 1.49, "width": 200, "height": 200 } + }, + "gh_0": { + "gh_0": { "width": 200, "height": 200 } + }, + "caidai1": { + "caidai01": { "x": 2.46, "y": 1.39, "width": 42, "height": 33 } + }, + "cd10": { + "cd4": { "x": -10.43, "y": -2.64, "rotation": -16.43, "width": 46, "height": 80 } + }, + "yd_c1_light14": { + "yd_c1_light": { "x": -2.64, "y": 1.49, "width": 200, "height": 200 } + }, + "guang25": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "caidai13": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "caidai14": { + "caidai01": { "x": 2.46, "y": 1.39, "width": 42, "height": 33 } + }, + "caidai15": { + "caidai01": { "x": 2.46, "y": 1.39, "width": 42, "height": 33 } + }, + "caidai16": { + "caidai01": { "x": 2.46, "y": 1.39, "width": 42, "height": 33 } + }, + "caidai17": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "caidai18": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "caidai19": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "caidai9": { + "caidai01": { "x": 2.46, "y": 1.39, "width": 42, "height": 33 } + }, + "caidai7": { + "caidai01": { "x": 2.46, "y": 1.39, "width": 42, "height": 33 } + }, + "guang12": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "guang13": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "guang14": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "guang15": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "guang16": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "guang17": { + "guang1": { "x": 1.21, "y": -0.22, "width": 66, "height": 69 } + }, + "guang18": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "guang19": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "light_line2": { + "light_line2": { "x": 4.21, "y": 6.73, "scaleX": 2, "scaleY": 2, "width": 309, "height": 298 } + }, + "light_line7": { + "light_line2": { "x": 4.21, "y": 6.73, "scaleX": 2, "scaleY": 2, "width": 309, "height": 298 } + }, + "light_line4": { + "light_line2": { "x": 4.21, "y": 6.73, "scaleX": 2, "scaleY": 2, "width": 309, "height": 298 } + }, + "light_line5": { + "light_line1": { "x": -18.33, "y": -12.7, "scaleX": 2, "scaleY": 2, "width": 285, "height": 263 } + }, + "light_line6": { + "light_line2": { "x": 4.21, "y": 6.73, "scaleX": 2, "scaleY": 2, "width": 309, "height": 298 } + }, + "yd_c1_light3": { + "yd_c1_light": { "x": -2.64, "y": 1.49, "width": 200, "height": 200 } + }, + "yd_c1_light4": { + "yd_c1_light": { "x": -2.64, "y": 1.49, "width": 200, "height": 200 } + }, + "light_glow2": { + "light_glow": { "scaleX": 2.8319, "scaleY": 2.8319, "width": 279, "height": 278 } + }, + "caidai20": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "caidai21": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "caidai22": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "caidai23": { + "caidai01": { "x": 2.46, "y": 1.39, "width": 42, "height": 33 } + }, + "caidai24": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "caidai25": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "caidai26": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "caidai27": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "caidai28": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "caidai29": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "guang20": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "guang21": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "guang22": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "guang23": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "guang24": { + "guang": { "x": 1.34, "y": 0.07, "width": 66, "height": 69 } + }, + "star4": { + "star1": { + "x": -17.08, + "y": -8.57, + "scaleX": 2, + "scaleY": 2, + "rotation": 58.44, + "width": 26, + "height": 26 + } + }, + "cd1": { + "cd1": { "x": -10.43, "y": -2.64, "rotation": -16.43, "width": 37, "height": 160 } + }, + "caidai2": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "caidai3": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "caidai4": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "cd5": { + "cd2": { "x": -10.43, "y": -2.64, "rotation": -16.43, "width": 37, "height": 160 } + }, + "caidai5": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "cd7": { + "cd1": { "x": -10.43, "y": -2.64, "rotation": -16.43, "width": 37, "height": 160 } + }, + "caidai8": { + "caidai01": { "x": 2.46, "y": 1.39, "width": 42, "height": 33 } + }, + "cd9": { + "cd3": { "x": -10.43, "y": -2.64, "rotation": -16.43, "width": 37, "height": 160 } + }, + "gh_1": { + "ks": { "width": 155, "height": 155 } + }, + "caidai30": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "caidai31": { + "caidai02": { "x": 0.25, "y": -1.36, "width": 25, "height": 28 } + }, + "caidai12": { + "caidai01": { "x": 2.46, "y": 1.39, "width": 42, "height": 33 } + } + } + } +], +"animations": { + "open": { + "slots": { + "gh_0": { + "color": [ + { "color": "ffe50000", "curve": "stepped" }, + { "time": 0.7667, "color": "ffe50000", "curve": 0.25, "c3": 0.75 }, + { "time": 0.9667, "color": "b6ff005f", "curve": 0.25, "c3": 0.503 }, + { "time": 1.3667, "color": "ffe50000" } + ], + "attachment": [ + { "name": "gh_0" } + ] + }, + "guang3": { + "color": [ + { "time": 0.8667, "color": "ffe461ff" }, + { "time": 1.7333, "color": "fff3baff" }, + { "time": 1.9333, "color": "ffe461ff" }, + { "time": 2.2333, "color": "ffe46100" } + ], + "attachment": [ + { "time": 0.8667, "name": "guang" } + ] + }, + "caidai4": { + "color": [ + { "time": 0.7, "color": "ffffffff" }, + { "time": 1.0333, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + }, + "guang25": { + "color": [ + { "time": 1, "color": "ffe461ff", "curve": "stepped" }, + { "time": 2.1, "color": "ffe461ff" }, + { "time": 2.4333, "color": "ffe46100" } + ], + "attachment": [ + { "time": 1, "name": "guang" } + ] + }, + "guang27": { + "color": [ + { "time": 1.1667, "color": "ffe461ff", "curve": "stepped" }, + { "time": 2.6667, "color": "ffe461ff" }, + { "time": 3.0667, "color": "ffe46100" } + ], + "attachment": [ + { "time": 1.1667, "name": "xx02" } + ] + }, + "caidai28": { + "color": [ + { "time": 1.5333, "color": "ffffffff" }, + { "time": 1.9, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + }, + "caidai31": { + "color": [ + { "time": 2.4333, "color": "ffffffff" }, + { "time": 2.8333, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + }, + "caidai13": { + "color": [ + { "time": 2.4333, "color": "ffffffff" }, + { "time": 2.8333, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + }, + "caidai23": { + "color": [ + { "time": 1.2667, "color": "ffffffff" }, + { "time": 1.8333, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai01" } + ] + }, + "cd11": { + "color": [ + { "time": 1.0667, "color": "ffffffff" }, + { "time": 1.5, "color": "ffffff00" } + ] + }, + "cd2": { + "color": [ + { "time": 1, "color": "ffffffff" }, + { "time": 1.5, "color": "ffffff00" } + ] + }, + "yd_c1_light3": { + "color": [ + { "color": "ffffffff", "curve": "stepped" }, + { "time": 0.8, "color": "ffffff00", "curve": "stepped" }, + { "time": 1.6667, "color": "ffffffff" }, + { "time": 2.4667, "color": "ffffff00", "curve": "stepped" }, + { "time": 2.5, "color": "ffffffff", "curve": "stepped" }, + { "time": 2.6667, "color": "ffffff00" } + ] + }, + "light_line4": { + "color": [ + { "time": 0.5, "color": "ffffff00", "curve": 0.25, "c3": 0.75 }, + { "time": 0.7667, "color": "ffffffff", "curve": 0.25, "c3": 0.75 }, + { "time": 1.1, "color": "ffffffa4", "curve": 0.023, "c2": 0.02, "c3": 0.75 }, + { "time": 1.5333, "color": "ffffff00" } + ] + }, + "cd4": { + "color": [ + { "color": "ffffff00", "curve": 0.25, "c3": 0.75 }, + { "time": 1.1667, "color": "ffffffff", "curve": 0.25, "c3": 0.75 }, + { "time": 1.5, "color": "ffffff00" } + ] + }, + "caidai22": { + "color": [ + { "time": 1.6333, "color": "ffffffff" }, + { "time": 1.7333, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + }, + "caidai36": { + "color": [ + { "time": 1.9, "color": "ffffffff" }, + { "time": 2.4667, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai01" } + ] + }, + "guang16": { + "color": [ + { "time": 1.6333, "color": "9b6214ff", "curve": "stepped" }, + { "time": 2.4333, "color": "9b6214ff" }, + { "time": 3.1, "color": "9b621400" } + ], + "attachment": [ + { "time": 1.6333, "name": "guang" } + ] + }, + "caidai26": { + "color": [ + { "time": 1.4, "color": "ffffffff" }, + { "time": 1.8, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + }, + "cd6": { + "color": [ + { "time": 1.0667, "color": "ffffffff" }, + { "time": 1.4333, "color": "ffffff00" } + ] + }, + "caidai20": { + "color": [ + { "time": 0.5667, "color": "ffffffff" }, + { "time": 0.9, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + }, + "light_line2": { + "color": [ + { "color": "ffffff00", "curve": 0.25, "c3": 0.75 }, + { "time": 1.6667, "color": "ffffffff", "curve": 0.243, "c3": 0.689, "c4": 0.75 }, + { "time": 2.5, "color": "ffffff18", "curve": 0.371, "c2": 0.62, "c3": 0.71 }, + { "time": 2.6667, "color": "ffffff00" } + ] + }, + "guang13": { + "color": [ + { "time": 1.3667, "color": "f3ad4eff", "curve": "stepped" }, + { "time": 2.0333, "color": "f3ad4eff" }, + { "time": 2.5333, "color": "f3ad4d00" } + ], + "attachment": [ + { "time": 1.3667, "name": "guang" } + ] + }, + "caidai9": { + "color": [ + { "time": 0.9, "color": "ffffffff" }, + { "time": 1.3667, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai01" } + ] + }, + "guang20": { + "color": [ + { "time": 1.4667, "color": "9b6214ff" }, + { "time": 2.3333, "color": "14899bff" }, + { "time": 3, "color": "9b621400" } + ], + "attachment": [ + { "time": 1.4667, "name": "guang" } + ] + }, + "caidai21": { + "color": [ + { "time": 1.0667, "color": "ffffffff" }, + { "time": 1.3667, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + }, + "caidai8": { + "color": [ + { "time": 2.3333, "color": "ffffffff" }, + { "time": 2.9, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai01" } + ] + }, + "yd_light2": { + "color": [ + { "color": "ffffffff" }, + { "time": 1.6333, "color": "ffffff00", "curve": "stepped" }, + { "time": 1.6667, "color": "ffffffff", "curve": "stepped" }, + { "time": 2.5, "color": "ffffffff" }, + { "time": 2.6667, "color": "ffffff00" } + ] + }, + "caidai02": { + "color": [ + { "time": 1.3333, "color": "ffffffff" }, + { "time": 1.6667, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + }, + "guang10": { + "color": [ + { "time": 1, "color": "edb5ffff", "curve": "stepped" }, + { "time": 1.6667, "color": "edb5ffff" }, + { "time": 2.2333, "color": "edb5ff00" } + ], + "attachment": [ + { "time": 1, "name": "guang" } + ] + }, + "star4": { + "color": [ + { "color": "ffffff00", "curve": "stepped" }, + { "time": 0.1667, "color": "ffffff00", "curve": 0.25, "c3": 0.75 }, + { "time": 0.3333, "color": "fca807ff", "curve": 0, "c2": 0.13, "c3": 0.312 }, + { "time": 1.2667, "color": "fca80700" } + ] + }, + "light_glow": { + "color": [ + { "time": 2.5, "color": "ffffffff" }, + { "time": 2.6667, "color": "ffffff00" } + ] + }, + "caidai6": { + "color": [ + { "time": 0.4667, "color": "ffffffff" }, + { "time": 0.8333, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai01" } + ] + }, + "guang24": { + "color": [ + { "time": 1.2333, "color": "9b6214ff" }, + { "time": 2.1, "color": "14899bff" }, + { "time": 2.7667, "color": "9b621400" } + ], + "attachment": [ + { "time": 1.2333, "name": "guang" } + ] + }, + "guang17": { + "color": [ + { "color": "f28d1700", "curve": 0.25, "c3": 0.75 }, + { "time": 0.1, "color": "b118f294", "curve": 0.25, "c3": 0.75 }, + { "time": 0.9, "color": "f28d1700" } + ], + "attachment": [ + { "name": "guang1" } + ] + }, + "caidai35": { + "color": [ + { "time": 1.8333, "color": "ffffffff" }, + { "time": 2.4, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai01" } + ] + }, + "star3": { + "color": [ + { "color": "ffffff00", "curve": "stepped" }, + { "time": 0.1667, "color": "ffffff00", "curve": 0.25, "c3": 0.75 }, + { "time": 0.3333, "color": "fca908d0", "curve": 0, "c2": 0.13, "c3": 0.312 }, + { "time": 1.2667, "color": "fca80700" } + ] + }, + "light_line3": { + "color": [ + { "color": "ffffffff", "curve": 0.25, "c3": 0.75 }, + { "time": 1.6667, "color": "ffffff00" } + ] + }, + "cd3": { + "color": [ + { "time": 1.0667, "color": "ffffffff" }, + { "time": 1.4333, "color": "ffffff00" } + ] + }, + "guang19": { + "color": [ + { "time": 1.5667, "color": "fba632ff", "curve": "stepped" }, + { "time": 2.5667, "color": "fba632ff" }, + { "time": 2.9, "color": "fba63200" } + ], + "attachment": [ + { "time": 1.5667, "name": "guang" } + ] + }, + "guang11": { + "color": [ + { "time": 0.9, "color": "ffe461ff" }, + { "time": 1.8, "color": "fff3baff" }, + { "time": 2, "color": "ffe461ff" }, + { "time": 2.3333, "color": "ffe46100" } + ], + "attachment": [ + { "time": 0.9, "name": "guang" } + ] + }, + "gh_1": { + "color": [ + { "color": "ff3c0000", "curve": "stepped" }, + { "time": 0.2667, "color": "ff3c0000", "curve": 0.25, "c3": 0.503 }, + { "time": 0.4, "color": "ae03eab3", "curve": 0.25, "c3": 0.503 }, + { "time": 0.9333, "color": "30004200" } + ], + "attachment": [ + { "name": "ks" } + ] + }, + "caidai01": { + "color": [ + { "time": 1.2667, "color": "ffffffff" }, + { "time": 1.7333, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai01" } + ] + }, + "cd9": { + "color": [ + { "time": 1.0667, "color": "ffffffff" }, + { "time": 1.4333, "color": "ffffff00" } + ] + }, + "star6": { + "color": [ + { "color": "ffffff00", "curve": "stepped" }, + { "time": 0.3333, "color": "ffffff00", "curve": 0.25, "c3": 0.75 }, + { "time": 0.5667, "color": "fca908d0", "curve": 0, "c2": 0.13, "c3": 0.312 }, + { "time": 1.4333, "color": "fca80700" } + ] + }, + "yd_c1_light2": { + "color": [ + { "color": "ffffffff" }, + { "time": 1.6333, "color": "ffffff00", "curve": "stepped" }, + { "time": 1.6667, "color": "ffffffff", "curve": "stepped" }, + { "time": 2.5, "color": "ffffffff" }, + { "time": 2.6667, "color": "ffffff00" } + ] + }, + "gq2_0": { + "color": [ + { "time": 0.5, "color": "ffc60000", "curve": 0.243, "c3": 0.658, "c4": 0.64 }, + { "time": 0.7, "color": "ffc600f6", "curve": 0.381, "c2": 0.59, "c3": 0.729 }, + { "time": 0.9333, "color": "ffc6008d", "curve": 0.25, "c3": 0.75 }, + { "time": 1.1333, "color": "c12200d5", "curve": 0.023, "c2": 0.02, "c3": 0.75 }, + { "time": 1.4333, "color": "ffc60000" } + ] + }, + "cd1": { + "color": [ + { "time": 1.1667, "color": "ffffffff", "curve": 0, "c2": 0.42, "c3": 0.419 }, + { "time": 1.6667, "color": "ffffff00" } + ] + }, + "yd_light3": { + "color": [ + { "color": "ffffffff", "curve": "stepped" }, + { "time": 0.8, "color": "ffffff00", "curve": "stepped" }, + { "time": 1.6667, "color": "ffffffff" }, + { "time": 2.4667, "color": "ffffff00", "curve": "stepped" }, + { "time": 2.5, "color": "ffffffff", "curve": "stepped" }, + { "time": 2.6667, "color": "ffffff00" } + ] + }, + "caidai32": { + "color": [ + { "time": 1.7, "color": "ffffffff" }, + { "time": 2.1, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + }, + "guang26": { + "color": [ + { "color": "f28d1700", "curve": 0.25, "c3": 0.75 }, + { "time": 0.6667, "color": "b118f294", "curve": 0.25, "c3": 0.75 }, + { "time": 1.4, "color": "f28d1700" } + ], + "attachment": [ + { "name": "guang1" } + ] + }, + "guang28": { + "color": [ + { "time": 1, "color": "ffe461ff", "curve": "stepped" }, + { "time": 2.1, "color": "ffe461ff" }, + { "time": 2.4333, "color": "ffe46100" } + ], + "attachment": [ + { "time": 1, "name": "xx02" } + ] + }, + "guang": { + "color": [ + { "time": 0.9667, "color": "ffe461ff", "curve": "stepped" }, + { "time": 2, "color": "ffe461ff" }, + { "time": 3.1667, "color": "ffe46100" } + ], + "attachment": [ + { "time": 0.9667, "name": "guang" } + ] + }, + "light_line1": { + "color": [ + { "color": "ffffffff", "curve": 0.25, "c3": 0.75 }, + { "time": 1.6667, "color": "ffffff5c", "curve": 0.243, "c3": 0.689, "c4": 0.75 }, + { "time": 2.5, "color": "ffffff08", "curve": 0.371, "c2": 0.62, "c3": 0.71 }, + { "time": 2.6667, "color": "ffffff00" } + ] + }, + "caidai34": { + "color": [ + { "time": 1.4, "color": "ffffffff" }, + { "time": 1.8333, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai01" } + ] + }, + "yd_c1_light4": { + "color": [ + { "color": "ffffffff", "curve": "stepped" }, + { "time": 0.8, "color": "ffffff00", "curve": "stepped" }, + { "time": 1.6667, "color": "ffffffff" }, + { "time": 2.4667, "color": "ffffff00", "curve": "stepped" }, + { "time": 2.5, "color": "ffffffff", "curve": "stepped" }, + { "time": 2.6667, "color": "ffffff00" } + ] + }, + "cd12": { + "color": [ + { "time": 1.0667, "color": "ffffffff" }, + { "time": 1.4333, "color": "ffffff00" } + ] + }, + "cd7": { + "color": [ + { "time": 1.1667, "color": "ffffffff", "curve": 0, "c2": 0.42, "c3": 0.419 }, + { "time": 1.6667, "color": "ffffff00" } + ] + }, + "guang22": { + "color": [ + { "time": 1.1667, "color": "ffe461ff", "curve": "stepped" }, + { "time": 2.6667, "color": "ffe461ff" }, + { "time": 3.0667, "color": "ffe46100" } + ], + "attachment": [ + { "time": 1.1667, "name": "guang" } + ] + }, + "cd8": { + "color": [ + { "time": 1, "color": "ffffffff" }, + { "time": 1.5, "color": "ffffff00" } + ] + }, + "caidai33": { + "color": [ + { "time": 2.4333, "color": "ffffffff" }, + { "time": 2.8333, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + }, + "guang21": { + "color": [ + { "time": 1.1667, "color": "ffe461ff", "curve": "stepped" }, + { "time": 2.6667, "color": "ffe461ff" }, + { "time": 3.0667, "color": "ffe46100" } + ], + "attachment": [ + { "time": 1.1667, "name": "guang" } + ] + }, + "guang2": { + "color": [ + { "time": 0.9667, "color": "edb5ffff", "curve": "stepped" }, + { "time": 1.6333, "color": "edb5ffff" }, + { "time": 2.1333, "color": "edb5ff00" } + ], + "attachment": [ + { "time": 0.9667, "name": "guang" } + ] + }, + "caidai29": { + "color": [ + { "time": 2.1333, "color": "ffffffff" }, + { "time": 2.4667, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + }, + "guang9": { + "color": [ + { "time": 0.9667, "color": "ffe461ff", "curve": "stepped" }, + { "time": 2.0333, "color": "ffe461ff" }, + { "time": 2.3333, "color": "ffe46100" } + ], + "attachment": [ + { "time": 0.9667, "name": "guang" } + ] + }, + "caidai3": { + "color": [ + { "time": 1.3333, "color": "ffffffff" }, + { "time": 1.6667, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + }, + "guang12": { + "color": [ + { "time": 1.1667, "color": "ffe461ff", "curve": "stepped" }, + { "time": 1.9333, "color": "ffe461ff" }, + { "time": 2.3333, "color": "ffe46100" } + ], + "attachment": [ + { "time": 1.1667, "name": "guang" } + ] + }, + "caidai30": { + "color": [ + { "time": 1.9667, "color": "ffffffff" }, + { "time": 2, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + }, + "caidai14": { + "color": [ + { "time": 2.3333, "color": "ffffffff" }, + { "time": 2.9, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai01" } + ] + }, + "caidai27": { + "color": [ + { "time": 1.8333, "color": "ffffffff" }, + { "time": 2.2667, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + }, + "caidai2": { + "color": [ + { "time": 0.8333, "color": "ffffffff" }, + { "time": 1.2, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + }, + "guang15": { + "color": [ + { "time": 1.4667, "color": "329bccff", "curve": "stepped" }, + { "time": 2.2333, "color": "329bccff" }, + { "time": 2.7667, "color": "319bcc00" } + ], + "attachment": [ + { "time": 1.4667, "name": "guang" } + ] + }, + "guang5": { + "color": [ + { "time": 1, "color": "ffe461ff", "curve": "stepped" }, + { "time": 1.5667, "color": "ffe461ff" }, + { "time": 2.1, "color": "ffe46100" } + ], + "attachment": [ + { "time": 1, "name": "guang" } + ] + }, + "caidai12": { + "color": [ + { "time": 0.3333, "color": "ffffffff" }, + { "time": 0.8333, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai01" } + ] + }, + "caidai19": { + "color": [ + { "time": 0.4667, "color": "ffffffff" }, + { "time": 0.8, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + }, + "cd5": { + "color": [ + { "time": 1.0667, "color": "ffffffff" }, + { "time": 1.5, "color": "ffffff00" } + ] + }, + "caidai1": { + "color": [ + { "time": 1.2667, "color": "ffffffff" }, + { "time": 1.7333, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai01" } + ] + }, + "caidai7": { + "color": [ + { "time": 0.8333, "color": "ffffffff" }, + { "time": 1.3, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai01" } + ] + }, + "star5": { + "color": [ + { "color": "ffffff00", "curve": "stepped" }, + { "time": 0.3333, "color": "ffffff00", "curve": 0.25, "c3": 0.75 }, + { "time": 0.5667, "color": "fca908d0", "curve": 0, "c2": 0.13, "c3": 0.312 }, + { "time": 1.4333, "color": "fca80700" } + ] + }, + "cd10": { + "color": [ + { "color": "ffffff00", "curve": 0.25, "c3": 0.75 }, + { "time": 1.1667, "color": "ffffffff", "curve": 0.25, "c3": 0.75 }, + { "time": 1.5, "color": "ffffff00" } + ] + }, + "guang14": { + "color": [ + { "time": 1.2333, "color": "ffe461ff", "curve": "stepped" }, + { "time": 2, "color": "ffe461ff" }, + { "time": 2.4333, "color": "ffe46100" } + ], + "attachment": [ + { "time": 1.2333, "name": "guang" } + ] + }, + "zza1": { + "color": [ + { "color": "ffffffac" }, + { "time": 0.0667, "color": "ffffffff" } + ] + }, + "guang18": { + "color": [ + { "time": 1.4667, "color": "f0a43dff", "curve": "stepped" }, + { "time": 2.3333, "color": "f0a43dff" }, + { "time": 2.6667, "color": "f0a33d00" } + ], + "attachment": [ + { "time": 1.4667, "name": "guang" } + ] + }, + "guang23": { + "color": [ + { "time": 1, "color": "18e3ffff", "curve": "stepped" }, + { "time": 1.6667, "color": "18e3ffff" }, + { "time": 2.2333, "color": "17e3ff00" } + ], + "attachment": [ + { "time": 1, "name": "guang" } + ] + }, + "caidai5": { + "color": [ + { "time": 1.3333, "color": "ffffffff" }, + { "time": 1.6667, "color": "ffffff00" } + ], + "attachment": [ + { "name": "caidai02" } + ] + } + }, + "bones": { + "caidai01": { + "translate": [ + {}, + { "time": 0.5333, "x": 115.47, "y": 227.76 }, + { "time": 0.6333, "x": 132.72, "y": 240.28 }, + { "time": 0.8333, "x": 154.57, "y": 257.4 }, + { "time": 1.0333, "x": 177.13, "y": 258.22 }, + { "time": 1.7333, "x": 253.13, "y": 216.19 } + ], + "scale": [ + {}, + { "time": 0.2333, "y": -1.5 }, + { "time": 0.4667, "y": 1.1 }, + { "time": 0.7, "y": -1 }, + { "time": 0.9333, "y": 0.8 }, + { "time": 1.1333, "y": -0.7 }, + { "time": 1.3667, "y": 0.6 }, + { "time": 1.7333, "y": -0.5 } + ] + }, + "caidai1": { + "rotate": [ + { "angle": 80 } + ], + "translate": [ + { "x": -2.87, "y": -361.94 }, + { "time": 0.2333, "x": 115.64, "y": -264.98 }, + { "time": 0.4333, "x": 139.34, "y": -252.88 }, + { "time": 0.5333, "x": 148.65, "y": -248.62 }, + { "time": 0.8333, "x": 173.46, "y": -252.73 }, + { "time": 0.9333, "x": 182.77, "y": -254.23 }, + { "time": 1.2667, "x": 210.68, "y": -268.51 }, + { "time": 1.7333, "x": 251, "y": -299.05 } + ], + "scale": [ + {}, + { "time": 0.2333, "y": -1.5 }, + { "time": 0.4667, "y": 1.1 }, + { "time": 0.7, "y": -1 }, + { "time": 0.9333, "y": 0.8 }, + { "time": 1.1333, "y": -0.7 }, + { "time": 1.3667, "y": 0.6 }, + { "time": 1.7333, "y": -0.5 } + ] + }, + "caidai02": { + "rotate": [ + { "angle": 90 } + ], + "translate": [ + { "x": 34.09, "y": -52.44, "curve": 0.266, "c2": 0.37, "c3": 0.608, "c4": 0.7 }, + { + "time": 0.2667, + "x": 134.49, + "y": -22.81, + "curve": 0.315, + "c2": 0.35, + "c3": 0.65, + "c4": 0.69 + }, + { "time": 0.4333, "x": 167.98, "y": -23.08, "curve": 0.322, "c2": 0.7, "c3": 0.763 }, + { "time": 1.6667, "x": 285.23, "y": -88 } + ], + "scale": [ + {}, + { "time": 0.1667, "y": -1 }, + { "time": 0.4, "x": -1, "y": -1 }, + { "time": 0.6333, "x": -1 }, + { "time": 0.8667 }, + { "time": 1.1333, "x": -1, "y": -1 }, + { "time": 1.4, "x": -0.8, "y": 0.8 }, + { "time": 1.6667, "x": 0.5, "y": 0.5 } + ] + }, + "caidai2": { + "rotate": [ + { "angle": 39.6 }, + { "time": 0.2333, "angle": -34.8 } + ], + "translate": [ + { "x": 26.24, "y": -176.75, "curve": 0.157, "c2": 0.31, "c3": 0.523, "c4": 0.66 }, + { + "time": 0.3, + "x": 224.39, + "y": 0.73, + "curve": 0.318, + "c2": 0.34, + "c3": 0.652, + "c4": 0.67 + }, + { + "time": 0.4, + "x": 254.99, + "y": 21.52, + "curve": 0.322, + "c2": 0.34, + "c3": 0.657, + "c4": 0.67 + }, + { + "time": 0.4667, + "x": 283.41, + "y": 34.76, + "curve": 0.326, + "c2": 0.34, + "c3": 0.66, + "c4": 0.67 + }, + { "time": 0.5333, "x": 309.61, "y": 35.44, "curve": 0.36, "c2": 0.56, "c3": 0.776 }, + { "time": 1.2, "x": 455.48, "y": 1.6 } + ], + "scale": [ + {}, + { "time": 0.1, "y": -1 }, + { "time": 0.2667, "x": -1, "y": -1 }, + { "time": 0.4667, "x": -1 }, + { "time": 0.6333 }, + { "time": 0.8333, "x": -1, "y": -1 }, + { "time": 0.9667, "x": -0.8, "y": 0.8 }, + { "time": 1.2, "x": 0.5, "y": 0.5 } + ] + }, + "caidai3": { + "rotate": [ + { "angle": 39.6 }, + { "time": 0.2333, "angle": -34.8 } + ], + "translate": [ + { "x": 22.96, "y": -312.24, "curve": 0.291, "c2": 0.35, "c3": 0.627, "c4": 0.69 }, + { + "time": 0.1333, + "x": 112.48, + "y": -282.35, + "curve": 0.305, + "c2": 0.36, + "c3": 0.641, + "c4": 0.69 + }, + { + "time": 0.3, + "x": 152.47, + "y": -268.41, + "curve": 0.311, + "c2": 0.36, + "c3": 0.647, + "c4": 0.7 + }, + { + "time": 0.5, + "x": 184.64, + "y": -279, + "curve": 0.315, + "c2": 0.4, + "c3": 0.657, + "c4": 0.73 + }, + { + "time": 0.8667, + "x": 222.94, + "y": -316.98, + "curve": 0.359, + "c2": 0.57, + "c3": 0.721, + "c4": 0.89 + }, + { "time": 1.5, "x": 233.19, "y": -392.52 } + ], + "scale": [ + {}, + { "time": 0.1667, "y": -1 }, + { "time": 0.4, "x": -1, "y": -1 }, + { "time": 0.6333, "x": -1 }, + { "time": 0.8667 }, + { "time": 1.1333, "x": -1, "y": -1 }, + { "time": 1.5, "x": 0.5, "y": 0.5 } + ] + }, + "caidai4": { + "rotate": [ + { "angle": 39.6 }, + { "time": 0.2333, "angle": -34.8 } + ], + "translate": [ + { "x": 31.64, "y": -13.27, "curve": 0.241, "c2": 0.4, "c3": 0.595, "c4": 0.73 }, + { + "time": 0.4667, + "x": 100.57, + "y": 117.42, + "curve": 0.315, + "c2": 0.38, + "c3": 0.654, + "c4": 0.72 + }, + { + "time": 0.7333, + "x": 111.2, + "y": 172.45, + "curve": 0.331, + "c2": 0.39, + "c3": 0.668, + "c4": 0.72 + }, + { "time": 1.0333, "x": 109.33, "y": 202.42 } + ], + "scale": [ + {}, + { "time": 0.1667, "y": -1 }, + { "time": 0.3333, "x": -1, "y": -1 }, + { "time": 0.5667, "x": -1 }, + { "time": 0.8 }, + { "time": 1.0333, "x": -1, "y": -1 } + ] + }, + "caidai5": { + "rotate": [ + { "angle": 39.6 }, + { "time": 0.2333, "angle": -34.8 } + ], + "translate": [ + { "x": 19.19, "y": -631.95 }, + { "time": 0.2333, "x": 129.24, "y": -569.65 }, + { "time": 0.4667, "x": 200.57, "y": -537.14 }, + { "time": 0.9333, "x": 299.81, "y": -527.78 }, + { "time": 1.2667, "x": 342.11, "y": -547.76 }, + { "time": 1.4667, "x": 361.9, "y": -562.88 }, + { "time": 1.6667, "x": 371.99, "y": -574.58 }, + { "time": 1.7333, "x": 387.91, "y": -587.71 } + ], + "scale": [ + {}, + { "time": 0.1667, "y": -1 }, + { "time": 0.4, "x": -1, "y": -1 }, + { "time": 0.6333, "x": -1 }, + { "time": 0.8667 }, + { "time": 1.1333, "x": -1, "y": -1 }, + { "time": 1.4, "x": -0.8, "y": 0.8 }, + { "time": 1.6667, "x": 0.5, "y": 0.5 } + ] + }, + "caidai6": { + "translate": [ + { "x": 11.66, "y": -51.21 }, + { "time": 0.1667, "x": 48.95, "y": -2.41 }, + { "time": 0.3, "x": 75.08, "y": 73.2 }, + { "time": 0.5333, "x": 90.36, "y": 116.13 }, + { "time": 0.8333, "x": 90.61, "y": 144.24 } + ], + "scale": [ + {}, + { "time": 0.2333, "y": -1.5 }, + { "time": 0.4667, "y": 1.1 }, + { "time": 0.7, "y": -1 }, + { "time": 0.9333, "y": 0.8 } + ] + }, + "caidai7": { + "rotate": [ + { "angle": -63.6 }, + { "time": 0.7, "angle": 64.77 } + ], + "translate": [ + { "x": 2.64, "y": 29.89 }, + { "time": 0.6333, "x": 54.66, "y": 38.71 }, + { "time": 1.3, "x": 83.51, "y": 62.41 } + ], + "scale": [ + {}, + { "time": 0.2333, "x": -1.5 }, + { "time": 0.4333, "y": 1.1 }, + { "time": 0.6667, "y": -1 }, + { "time": 0.9, "x": 0.9, "y": 0.8 }, + { "time": 1.0667, "x": 0.8, "y": -0.7 }, + { "time": 1.3, "x": 0.6, "y": 0.6 } + ] + }, + "caidai13": { + "translate": [ + {}, + { "time": 1.4667, "x": 115.47, "y": 227.76 }, + { "time": 1.6, "x": 132.72, "y": 240.28 }, + { "time": 1.8333, "x": 154.57, "y": 257.4 }, + { "time": 2.1, "x": 177.13, "y": 258.22 }, + { "time": 2.9, "x": 253.13, "y": 216.19 } + ], + "scale": [ + {}, + { "time": 1.1333, "y": -1.5 }, + { "time": 1.4, "y": 1.1 }, + { "time": 1.7, "y": -1 }, + { "time": 1.9667, "y": 0.8 }, + { "time": 2.2333, "y": -0.7 }, + { "time": 2.4667, "y": 0.6 }, + { "time": 2.9, "y": -0.5 } + ] + }, + "caidai9": { + "translate": [ + { "x": -24.6, "y": -726.39 }, + { "time": 0.3333, "x": 129.58, "y": -640.78 }, + { "time": 0.5667, "x": 200.06, "y": -635.31 }, + { "time": 0.7, "x": 247.05, "y": -645.11 }, + { "time": 0.9333, "x": 292.53, "y": -672.42 }, + { "time": 1.2333, "x": 329.64, "y": -727.65 } + ], + "scale": [ + {}, + { "time": 0.1667, "y": -1.5 }, + { "time": 0.4, "y": 1.1 }, + { "time": 0.5333, "y": -1 }, + { "time": 0.7333, "y": 0.8 }, + { "time": 0.9, "y": -0.7 }, + { "time": 1.1, "y": 0.6 }, + { "time": 1.3667, "y": -0.5 } + ] + }, + "caidai12": { + "rotate": [ + {}, + { "time": 0.8333, "angle": -170.81 } + ], + "translate": [ + { "x": -10.8, "y": -538.12 }, + { "time": 0.2, "x": 115.91, "y": -519.4 }, + { "time": 0.8333, "x": 253.55, "y": -583.75 } + ], + "scale": [ + {}, + { "time": 0.1667, "y": -1.5 }, + { "time": 0.4, "y": 1.1 }, + { "time": 0.5333, "y": -1 }, + { "time": 0.7333, "y": 0.8 }, + { "time": 0.9, "y": -0.7 } + ] + }, + "caidai14": { + "rotate": [ + { "angle": 90 } + ], + "translate": [ + { "x": 34.09, "y": -52.44, "curve": 0.266, "c2": 0.37, "c3": 0.608, "c4": 0.7 }, + { + "time": 1.1667, + "x": 134.49, + "y": -22.81, + "curve": 0.315, + "c2": 0.35, + "c3": 0.65, + "c4": 0.69 + }, + { "time": 1.3667, "x": 167.98, "y": -23.08, "curve": 0.322, "c2": 0.7, "c3": 0.763 }, + { "time": 2.8333, "x": 285.23, "y": -88 } + ], + "scale": [ + {}, + { "time": 1.0333, "y": -1 }, + { "time": 1.3, "x": -1, "y": -1 }, + { "time": 1.6, "x": -1 }, + { "time": 1.8667 }, + { "time": 2.2333, "x": -1, "y": -1 }, + { "time": 2.5333, "x": -0.8, "y": 0.8 }, + { "time": 2.8333, "x": 0.5, "y": 0.5 } + ] + }, + "caidai15": { + "rotate": [ + { "angle": 80 } + ], + "translate": [ + { "x": -2.87, "y": -361.94 }, + { "time": 1.1333, "x": 115.64, "y": -264.98 }, + { "time": 1.3667, "x": 139.34, "y": -252.88 }, + { "time": 1.4667, "x": 148.65, "y": -248.62 }, + { "time": 1.8333, "x": 173.46, "y": -252.73 }, + { "time": 1.9667, "x": 182.77, "y": -254.23 }, + { "time": 2.3333, "x": 210.68, "y": -268.51 }, + { "time": 2.9, "x": 251, "y": -299.05 } + ], + "scale": [ + {}, + { "time": 1.1333, "y": -1.5 }, + { "time": 1.4, "y": 1.1 }, + { "time": 1.7, "y": -1 }, + { "time": 1.9667, "y": 0.8 }, + { "time": 2.2333, "y": -0.7 }, + { "time": 2.4667, "y": 0.6 }, + { "time": 2.9, "y": -0.5 } + ] + }, + "caidai19": { + "rotate": [ + { "angle": 39.6 }, + { "time": 0.2333, "angle": -34.8 } + ], + "translate": [ + { "x": 32.78, "y": -781.44 }, + { "time": 0.1333, "x": 133.38, "y": -768.61 }, + { "time": 0.2333, "x": 164.15, "y": -770.57 }, + { "time": 0.4333, "x": 180.4, "y": -777.26 }, + { "time": 0.8, "x": 195.77, "y": -799.71 } + ], + "scale": [ + {}, + { "time": 0.1667, "y": -1 }, + { "time": 0.4, "x": -1, "y": -1 }, + { "time": 0.6333, "x": -1 }, + { "time": 0.8667 } + ] + }, + "caidai20": { + "rotate": [ + { "angle": 39.6 }, + { "time": 0.2333, "angle": -34.8 } + ], + "translate": [ + { "x": -32.99, "y": -706.96 }, + { "time": 0.1, "x": 159.82, "y": -662.71 }, + { "time": 0.3333, "x": 209.95, "y": -589.18 }, + { "time": 0.5667, "x": 220.35, "y": -532.23 }, + { "time": 0.9, "x": 216.96, "y": -499.46 } + ], + "scale": [ + {}, + { "time": 0.1667, "y": -1 }, + { "time": 0.4, "x": -1, "y": -1 }, + { "time": 0.6333, "x": -1 }, + { "time": 0.9 } + ] + }, + "caidai21": { + "rotate": [ + { "angle": 39.6 }, + { "time": 0.2333, "angle": -34.8 } + ], + "translate": [ + { "x": 11.74, "y": -32.29 }, + { "time": 0.3333, "x": 72.19, "y": 6.87 }, + { "time": 0.4667, "x": 99.86, "y": 6.36 }, + { "time": 0.7, "x": 135.39, "y": -2.91 }, + { "time": 0.8667, "x": 151.74, "y": -22.81 }, + { "time": 1.2, "x": 171.57, "y": -53.29 }, + { "time": 1.3667, "x": 176.81, "y": -68.76 } + ], + "scale": [ + {}, + { "time": 0.1667, "y": -1 }, + { "time": 0.4, "x": -1, "y": -1 }, + { "time": 0.6333, "x": -1 }, + { "time": 0.8667 }, + { "time": 1.1333, "x": -1, "y": -1 }, + { "time": 1.4, "x": -0.8, "y": 0.8 }, + { "time": 1.6667, "x": 0.5, "y": 0.5 } + ] + }, + "caidai22": { + "rotate": [ + { "angle": 60 } + ], + "translate": [ + { "x": -7.07, "y": -270.7 }, + { "time": 0.5333, "x": 152.52, "y": -184.64 }, + { "time": 0.9667, "x": 224.24, "y": -139.61 }, + { "time": 1.3, "x": 278.03, "y": -129.91 }, + { "time": 1.7333, "x": 385.61, "y": -149 } + ], + "scale": [ + {}, + { "time": 0.1667, "y": -1 }, + { "time": 0.4, "x": -1, "y": -1 }, + { "time": 0.6333, "x": -1 }, + { "time": 0.8667 }, + { "time": 1.1333, "x": -1, "y": -1 }, + { "time": 1.4, "x": -0.8, "y": 0.8 }, + { "time": 1.7333, "x": 0.5, "y": 0.5 } + ] + }, + "caidai24": { + "rotate": [ + {}, + { "time": 1.8333, "angle": -170.81 } + ], + "translate": [ + { "x": -10.8, "y": -538.12 }, + { "time": 1.1, "x": 115.91, "y": -519.4 }, + { "time": 1.8333, "x": 253.55, "y": -583.75 } + ], + "scale": [ + {}, + { "time": 1.0333, "y": -1.5 }, + { "time": 1.3, "y": 1.1 }, + { "time": 1.4667, "y": -1 }, + { "time": 1.7333, "y": 0.8 }, + { "time": 1.9, "y": -0.7 } + ] + }, + "caidai27": { + "rotate": [ + { "angle": 39.6 }, + { "time": 1.1333, "angle": -34.8 } + ], + "translate": [ + { "x": 32.78, "y": -781.44 }, + { "time": 1, "x": 133.38, "y": -768.61 }, + { "time": 1.1333, "x": 164.15, "y": -770.57 }, + { "time": 1.3667, "x": 180.4, "y": -777.26 }, + { "time": 1.8, "x": 195.77, "y": -799.71 } + ], + "scale": [ + {}, + { "time": 1.0333, "y": -1 }, + { "time": 1.3, "x": -1, "y": -1 }, + { "time": 1.6, "x": -1 }, + { "time": 1.8667 } + ] + }, + "caidai28": { + "rotate": [ + { "angle": 39.6 }, + { "time": 1.1333, "angle": -34.8 } + ], + "translate": [ + { "x": 26.24, "y": -176.75, "curve": 0.157, "c2": 0.31, "c3": 0.523, "c4": 0.66 }, + { + "time": 1.2333, + "x": 224.39, + "y": 0.73, + "curve": 0.318, + "c2": 0.34, + "c3": 0.652, + "c4": 0.67 + }, + { + "time": 1.3, + "x": 254.99, + "y": 21.52, + "curve": 0.322, + "c2": 0.34, + "c3": 0.657, + "c4": 0.67 + }, + { + "time": 1.4, + "x": 283.41, + "y": 34.76, + "curve": 0.326, + "c2": 0.34, + "c3": 0.66, + "c4": 0.67 + }, + { "time": 1.4667, "x": 309.61, "y": 35.44, "curve": 0.36, "c2": 0.56, "c3": 0.776 }, + { "time": 2.2667, "x": 455.48, "y": 1.6 } + ], + "scale": [ + {}, + { "time": 0.9667, "y": -1 }, + { "time": 1.1667, "x": -1, "y": -1 }, + { "time": 1.4, "x": -1 }, + { "time": 1.6 }, + { "time": 1.8333, "x": -1, "y": -1 }, + { "time": 2, "x": -0.8, "y": 0.8 }, + { "time": 2.2667, "x": 0.5, "y": 0.5 } + ] + }, + "caidai29": { + "rotate": [ + { "angle": 39.6 }, + { "time": 1.1333, "angle": -34.8 } + ], + "translate": [ + { "x": -32.99, "y": -706.96 }, + { "time": 0.9667, "x": 159.82, "y": -662.71 }, + { "time": 1.2667, "x": 209.95, "y": -589.18 }, + { "time": 1.5333, "x": 220.35, "y": -532.23 }, + { "time": 1.9, "x": 216.96, "y": -499.46 } + ], + "scale": [ + {}, + { "time": 1.0333, "y": -1 }, + { "time": 1.3, "x": -1, "y": -1 }, + { "time": 1.6, "x": -1 }, + { "time": 1.9 } + ] + }, + "caidai30": { + "rotate": [ + { "angle": 39.6 }, + { "time": 1.1333, "angle": -34.8 } + ], + "translate": [ + { "x": 11.74, "y": -32.29 }, + { "time": 1.2667, "x": 72.19, "y": 6.87 }, + { "time": 1.4, "x": 99.86, "y": 6.36 }, + { "time": 1.7, "x": 135.39, "y": -2.91 }, + { "time": 1.8667, "x": 151.74, "y": -22.81 }, + { "time": 2.2667, "x": 171.57, "y": -53.29 }, + { "time": 2.4667, "x": 176.81, "y": -68.76 } + ], + "scale": [ + {}, + { "time": 1.0333, "y": -1 }, + { "time": 1.3, "x": -1, "y": -1 }, + { "time": 1.6, "x": -1 }, + { "time": 1.8667 }, + { "time": 2.2333, "x": -1, "y": -1 }, + { "time": 2.5333, "x": -0.8, "y": 0.8 }, + { "time": 2.8333, "x": 0.5, "y": 0.5 } + ] + }, + "caidai31": { + "rotate": [ + { "angle": 60 } + ], + "translate": [ + { "x": -7.07, "y": -270.7 }, + { "time": 1.2, "x": 152.52, "y": -184.64 }, + { "time": 1.7333, "x": 224.24, "y": -139.61 }, + { "time": 1.8667, "x": 278.03, "y": -129.91 }, + { "time": 2, "x": 385.61, "y": -149 } + ], + "scale": [ + {}, + { "time": 0.7667, "y": -1 }, + { "time": 1.0333, "x": -1, "y": -1 }, + { "time": 1.3333, "x": -1 }, + { "time": 1.6 }, + { "time": 1.8, "x": -1, "y": -1 }, + { "time": 1.9333, "x": -0.8, "y": 0.8 }, + { "time": 2, "x": 0.5, "y": 0.5 } + ] + }, + "caidai32": { + "rotate": [ + { "angle": 39.6 }, + { "time": 1.1333, "angle": -34.8 } + ], + "translate": [ + { "x": 22.96, "y": -312.24, "curve": 0.291, "c2": 0.35, "c3": 0.627, "c4": 0.69 }, + { + "time": 1, + "x": 112.48, + "y": -282.35, + "curve": 0.305, + "c2": 0.36, + "c3": 0.641, + "c4": 0.69 + }, + { + "time": 1.2333, + "x": 152.47, + "y": -268.41, + "curve": 0.311, + "c2": 0.36, + "c3": 0.647, + "c4": 0.7 + }, + { + "time": 1.4333, + "x": 184.64, + "y": -279, + "curve": 0.315, + "c2": 0.4, + "c3": 0.657, + "c4": 0.73 + }, + { + "time": 1.8667, + "x": 222.94, + "y": -316.98, + "curve": 0.359, + "c2": 0.57, + "c3": 0.721, + "c4": 0.89 + }, + { "time": 2.6667, "x": 233.19, "y": -392.52 } + ], + "scale": [ + {}, + { "time": 1.0333, "y": -1 }, + { "time": 1.3, "x": -1, "y": -1 }, + { "time": 1.6, "x": -1 }, + { "time": 1.8667 }, + { "time": 2.2333, "x": -1, "y": -1 }, + { "time": 2.6667, "x": 0.5, "y": 0.5 } + ] + }, + "caidai33": { + "rotate": [ + { "angle": 39.6 }, + { "time": 1.1333, "angle": -34.8 } + ], + "translate": [ + { "x": 31.64, "y": -13.27, "curve": 0.241, "c2": 0.4, "c3": 0.595, "c4": 0.73 }, + { + "time": 1.4, + "x": 100.57, + "y": 117.42, + "curve": 0.315, + "c2": 0.38, + "c3": 0.654, + "c4": 0.72 + }, + { + "time": 1.7333, + "x": 111.2, + "y": 172.45, + "curve": 0.331, + "c2": 0.39, + "c3": 0.668, + "c4": 0.72 + }, + { "time": 2.1, "x": 109.33, "y": 202.42 } + ], + "scale": [ + {}, + { "time": 1.0333, "y": -1 }, + { "time": 1.2667, "x": -1, "y": -1 }, + { "time": 1.5333, "x": -1 }, + { "time": 1.8 }, + { "time": 2.1, "x": -1, "y": -1 } + ] + }, + "caidai34": { + "rotate": [ + { "angle": 39.6 }, + { "time": 1.1333, "angle": -34.8 } + ], + "translate": [ + { "x": 19.19, "y": -631.95 }, + { "time": 1.1333, "x": 129.24, "y": -569.65 }, + { "time": 1.4, "x": 200.57, "y": -537.14 }, + { "time": 1.9667, "x": 299.81, "y": -527.78 }, + { "time": 2.3333, "x": 342.11, "y": -547.76 }, + { "time": 2.6, "x": 361.9, "y": -562.88 }, + { "time": 2.8333, "x": 371.99, "y": -574.58 }, + { "time": 3.1667, "x": 387.91, "y": -587.71 } + ], + "scale": [ + {}, + { "time": 1.0333, "y": -1 }, + { "time": 1.3, "x": -1, "y": -1 }, + { "time": 1.6, "x": -1 }, + { "time": 1.8667 }, + { "time": 2.2333, "x": -1, "y": -1 }, + { "time": 2.5333, "x": -0.8, "y": 0.8 }, + { "time": 2.8333, "x": 0.5, "y": 0.5 } + ] + }, + "caidai35": { + "translate": [ + { "x": 11.66, "y": -51.21 }, + { "time": 1.0333, "x": 48.95, "y": -2.41 }, + { "time": 1.2333, "x": 75.08, "y": 73.2 }, + { "time": 1.4667, "x": 90.36, "y": 116.13 }, + { "time": 1.8333, "x": 90.61, "y": 144.24 } + ], + "scale": [ + {}, + { "time": 1.1333, "y": -1.5 }, + { "time": 1.4, "y": 1.1 }, + { "time": 1.7, "y": -1 }, + { "time": 1.9667, "y": 0.8 } + ] + }, + "caidai36": { + "rotate": [ + { "angle": -63.6 }, + { "time": 1.7, "angle": 64.77 } + ], + "translate": [ + { "x": 2.64, "y": 29.89 }, + { "time": 1.6, "x": 54.66, "y": 38.71 }, + { "time": 2.4, "x": 83.51, "y": 62.41 } + ], + "scale": [ + {}, + { "time": 1.1333, "x": -1.5 }, + { "time": 1.3667, "y": 1.1 }, + { "time": 1.6667, "y": -1 }, + { "time": 1.9, "x": 0.9, "y": 0.8 }, + { "time": 2.1333, "x": 0.8, "y": -0.7 }, + { "time": 2.4, "x": 0.6, "y": 0.6 } + ] + }, + "caidai37": { + "translate": [ + { "x": -24.6, "y": -726.39 }, + { "time": 1.2667, "x": 129.58, "y": -640.78 }, + { "time": 1.5333, "x": 200.06, "y": -635.31 }, + { "time": 1.7, "x": 247.05, "y": -645.11 }, + { "time": 1.9667, "x": 292.53, "y": -672.42 }, + { "time": 2.3, "x": 329.64, "y": -727.65 } + ], + "scale": [ + {}, + { "time": 1.0333, "y": -1.5 }, + { "time": 1.3, "y": 1.1 }, + { "time": 1.4667, "y": -1 }, + { "time": 1.7333, "y": 0.8 }, + { "time": 1.9, "y": -0.7 }, + { "time": 2.1667, "y": 0.6 }, + { "time": 2.4667, "y": -0.5 } + ] + }, + "cd3": { + "rotate": [ + { "angle": 24.3, "curve": 0, "c2": 0.34, "c3": 0.387, "c4": 0.76 }, + { "time": 1.3333, "angle": 43.43, "curve": 0, "c2": 0.44, "c3": 0.628 }, + { "time": 1.6667, "angle": 49.82 } + ], + "translate": [ + { "curve": 0, "c2": 0.42, "c3": 0.419 }, + { "time": 1.6667, "x": -372.78, "y": 240.49 } + ], + "scale": [ + { "x": 0.5, "y": 0.5, "curve": 0, "c2": 0.42, "c3": 0.419 }, + { "time": 1.6667 } + ] + }, + "cd4": { + "rotate": [ + { "angle": -18.04, "curve": 0.25, "c3": 0.625, "c4": 0.5 }, + { "time": 1.1667, "angle": 12.51, "curve": 0.375, "c2": 0.5, "c3": 0.75 }, + { "time": 1.5, "angle": 13.97 } + ], + "translate": [ + { "curve": 0, "c2": 0.41, "c3": 0.444 }, + { "time": 1.5, "x": -335.76, "y": 356 } + ], + "scale": [ + { "x": 1.517, "y": 1.517 }, + { "time": 1.1667, "x": 0.452, "y": 1.039 }, + { "time": 1.5, "x": 0.562, "y": 0.562 } + ] + }, + "cd5": { + "rotate": [ + { "angle": -12.58 }, + { "time": 1.4333, "angle": 3.79 } + ], + "translate": [ + { "curve": 0, "c2": 0.41, "c3": 0.444 }, + { "time": 1.4333, "x": -178.53, "y": 305.34 } + ] + }, + "cd6": { + "rotate": [ + { "angle": 24.3, "curve": 0, "c2": 0.42, "c3": 0.419 }, + { "time": 1.5, "angle": 41.05 } + ], + "translate": [ + { "curve": 0, "c2": 0.42, "c3": 0.419 }, + { "time": 1.5, "x": -277.98, "y": 360.34 } + ], + "scale": [ + { "x": 0.5, "y": 0.5, "curve": 0, "c2": 0.42, "c3": 0.419 }, + { "time": 1.5 } + ] + }, + "cd7": { + "rotate": [ + { "curve": 0.25, "c3": 0.75 }, + { "time": 1.5, "angle": 24.3 } + ], + "translate": [ + { "curve": 0, "c2": 0.41, "c3": 0.444 }, + { "time": 1.5, "x": -335.76, "y": 356 } + ], + "scale": [ + { "x": 1.517, "y": 1.517 }, + { "time": 1.5, "x": 0.562, "y": 0.562 } + ] + }, + "cd8": { + "rotate": [ + { "angle": -12.58 }, + { "time": 1.4333, "angle": 3.79 } + ], + "translate": [ + { "curve": 0, "c2": 0.41, "c3": 0.444 }, + { "time": 1.4333, "x": -178.53, "y": 305.34 } + ] + }, + "cd9": { + "rotate": [ + { "angle": 24.3, "curve": 0, "c2": 0.42, "c3": 0.419 }, + { "time": 1.6667, "angle": 47.11 } + ], + "translate": [ + { "curve": 0, "c2": 0.42, "c3": 0.419 }, + { "time": 1.6667, "x": -410.69, "y": 184.74 } + ], + "scale": [ + { "x": 0.5, "y": 0.5, "curve": 0, "c2": 0.42, "c3": 0.419 }, + { "time": 1.6667 } + ] + }, + "cd10": { + "rotate": [ + { "curve": 0.25, "c3": 0.625, "c4": 0.5 }, + { "time": 1.1667, "angle": 7.27, "curve": 0.375, "c2": 0.5, "c3": 0.75 }, + { "time": 1.5, "angle": 13.63 } + ], + "translate": [ + { "curve": 0, "c2": 0.41, "c3": 0.444 }, + { "time": 1.5, "x": -335.76, "y": 356 } + ], + "scale": [ + { "x": 1.517, "y": 1.517 }, + { "time": 1.1667, "x": 0.452, "y": 1.039 }, + { "time": 1.5, "x": 0.562, "y": 0.562 } + ] + }, + "cd11": { + "rotate": [ + { "angle": -12.58 }, + { "time": 1.4333, "angle": 3.79 } + ], + "translate": [ + { "curve": 0, "c2": 0.41, "c3": 0.444 }, + { "time": 1.4333, "x": -178.53, "y": 305.34 } + ] + }, + "cd12": { + "rotate": [ + { "angle": 24.3, "curve": 0, "c2": 0.42, "c3": 0.419 }, + { "time": 1.5, "angle": 41.05 } + ], + "translate": [ + { "curve": 0, "c2": 0.42, "c3": 0.419 }, + { "time": 1.5, "x": -277.98, "y": 360.34 } + ], + "scale": [ + { "x": 0.5, "y": 0.5, "curve": 0, "c2": 0.42, "c3": 0.419 }, + { "time": 1.5 } + ] + }, + "cd13": { + "rotate": [ + { "curve": 0.25, "c3": 0.75 }, + { "time": 1.5, "angle": 24.3 } + ], + "translate": [ + { "curve": 0, "c2": 0.41, "c3": 0.444 }, + { "time": 1.5, "x": -335.76, "y": 356 } + ], + "scale": [ + { "x": 1.517, "y": 1.517 }, + { "time": 1.5, "x": 0.562, "y": 0.562 } + ] + }, + "cd14": { + "rotate": [ + { "angle": -12.58 }, + { "time": 1.4333, "angle": 3.79 } + ], + "translate": [ + { "curve": 0, "c2": 0.41, "c3": 0.444 }, + { "time": 1.4333, "x": -178.53, "y": 305.34 } + ] + }, + "gh_0": { + "scale": [ + { "x": 0.031, "y": 0.031, "curve": "stepped" }, + { "time": 0.7667, "x": 0.031, "y": 0.031, "curve": 0.021, "c3": 0.047 }, + { "time": 1.3667, "x": 4.596, "y": 4.596 } + ] + }, + "gh_1": { + "scale": [ + { "x": 0.031, "y": 0.031, "curve": "stepped" }, + { "time": 0.2667, "x": 0.031, "y": 0.031, "curve": 0.082, "c3": 0.206 }, + { "time": 0.9333, "x": 15.123, "y": 15.123 } + ] + }, + "light_line4": { + "scale": [ + { "x": 0.22, "y": 0.22, "curve": "stepped" }, + { "time": 0.5, "x": 0.22, "y": 0.22, "curve": 0, "c2": 0.69, "c3": 0.75 }, + { "time": 0.9333, "x": 1.323, "y": 1.323, "curve": 0.25, "c3": 0.75 }, + { "time": 1.3667, "x": 1.21, "y": 1.21 } + ] + }, + "guang": { + "rotate": [ + { "time": 0.9667, "angle": 49.82 }, + { "time": 1.1667, "angle": 30.22 }, + { "time": 1.3667, "angle": 19.58 }, + { "time": 1.8, "angle": -1.83 }, + { "time": 2.3333, "angle": -30.81 }, + { "time": 2.5333, "angle": -32.64 }, + { "time": 2.7667, "angle": -42.53 }, + { "time": 3.1667, "angle": -56.91 } + ], + "translate": [ + { "time": 0.9667, "x": -70.61, "y": -49.32 }, + { "time": 1.1667, "x": 24.19, "y": 28.51 }, + { "time": 1.3667, "x": 55.12, "y": 45.49 }, + { "time": 1.5667, "x": 110.89, "y": 65.52 }, + { "time": 1.8, "x": 161.59, "y": 77.43 }, + { "time": 2.3333, "x": 290.37, "y": 61.21 }, + { "time": 2.5333, "x": 323.83, "y": 49.55 }, + { "time": 2.7667, "x": 403.94, "y": -4.7 }, + { "time": 3.1667, "x": 484.04, "y": -78.72 } + ], + "scale": [ + { "time": 0.9667, "x": 1.825, "y": 0.482 }, + { "time": 3.1667, "x": 0.2, "y": 0.158 } + ] + }, + "guang2": { + "rotate": [ + { "time": 0.9667, "angle": 67.95 }, + { "time": 1.0667, "angle": -148.22 }, + { "time": 1.1667, "angle": -149.36 }, + { "time": 1.4667, "angle": 152.68 }, + { "time": 1.8333, "angle": 123.6 }, + { "time": 2.1333, "angle": 113.31 } + ], + "translate": [ + { "time": 0.9667, "x": -61.73, "y": -5.97 }, + { "time": 1.0667, "x": -12.2, "y": 67.65 }, + { "time": 1.1667, "x": 5.32, "y": 80.31 }, + { "time": 1.2667, "x": 41.13, "y": 99.06 }, + { "time": 1.3667, "x": 73.9, "y": 107.15 }, + { "time": 1.4667, "x": 111.62, "y": 107.99 }, + { "time": 1.6333, "x": 168.43, "y": 82.98 }, + { "time": 1.7333, "x": 189.06, "y": 69.4 }, + { "time": 1.8333, "x": 243.21, "y": 14.68 }, + { "time": 2.1333, "x": 331.46, "y": -130.94 } + ], + "scale": [ + { "time": 0.9667, "x": 1.5, "y": 0.5 }, + { "time": 1.0667, "y": 0.5, "curve": "stepped" }, + { "time": 1.4667, "y": 0.5 }, + { "time": 2.1333, "x": 0.3, "y": 0.15 } + ] + }, + "guang3": { + "rotate": [ + { "time": 0.8667, "angle": 67.95 }, + { "time": 1.0667, "angle": 58.61 }, + { "time": 1.1667, "angle": 49.05 }, + { "time": 1.3667, "angle": 27.8 }, + { "time": 1.6333, "angle": -7.38 }, + { "time": 2.2333, "angle": -95.73 } + ], + "translate": [ + { "time": 0.8667, "x": -62.69, "y": -418.43 }, + { "time": 1.1667, "x": 24.43, "y": -277.9 }, + { "time": 1.3667, "x": 82.51, "y": -198.82 }, + { "time": 1.4667, "x": 111.54, "y": -175.16 }, + { "time": 1.6333, "x": 139.8, "y": -180.27 }, + { "time": 1.9333, "x": 218.59, "y": -206.01 }, + { "time": 2.2333, "x": 279.5, "y": -272.35 } + ], + "scale": [ + { "time": 0.8667, "x": 1.825, "y": 0.482 }, + { "time": 1.9333, "x": 0.359, "y": 0.158 } + ] + }, + "guang5": { + "rotate": [ + { "time": 1, "angle": 49.82 }, + { "time": 1.1333, "angle": 30.22 }, + { "time": 1.2333, "angle": 19.58 }, + { "time": 1.4667, "angle": -1.83 }, + { "time": 1.6667, "angle": -30.81 }, + { "time": 1.8, "angle": -32.64 }, + { "time": 1.9, "angle": -42.53 }, + { "time": 2.1, "angle": -56.91 } + ], + "translate": [ + { "time": 1, "x": -70.61, "y": -49.32 }, + { "time": 1.1333, "x": 24.19, "y": 28.51 }, + { "time": 1.2333, "x": 55.12, "y": 45.49 }, + { "time": 1.3333, "x": 110.89, "y": 65.52 }, + { "time": 1.4667, "x": 161.59, "y": 77.43 }, + { "time": 1.6667, "x": 290.37, "y": 61.21 }, + { "time": 1.8, "x": 323.83, "y": 49.55 }, + { "time": 1.9, "x": 403.94, "y": -4.7 }, + { "time": 2.1, "x": 484.04, "y": -78.72 } + ], + "scale": [ + { "time": 1, "x": 1.825, "y": 0.482 }, + { "time": 2.1, "x": 0.2, "y": 0.158 } + ] + }, + "guang9": { + "rotate": [ + { "time": 0.9667, "angle": 67.95 }, + { "time": 1.0667, "angle": 65.99 }, + { "time": 1.2667, "angle": 42.39 }, + { "time": 1.6333, "angle": 6.96 }, + { "time": 1.7333, "angle": -4.73 }, + { "time": 1.9333, "angle": -38.03 }, + { "time": 2.0333, "angle": -42.51 }, + { "time": 2.1333, "angle": -57.39 }, + { "time": 2.2333, "angle": -64.16 }, + { "time": 2.3333, "angle": -95.73 } + ], + "translate": [ + { "time": 0.9667, "x": -74.77, "y": -328.23 }, + { "time": 1.0667, "x": -51.46, "y": -211.26 }, + { "time": 1.2667, "x": 18.4, "y": -44.77 }, + { "time": 1.4667, "x": 53.31, "y": -5.22 }, + { "time": 1.6333, "x": 86.1, "y": 17.33 }, + { "time": 1.7333, "x": 109.91, "y": 26.73 }, + { "time": 1.9333, "x": 163.36, "y": 18.49 }, + { "time": 2.0333, "x": 188.63, "y": 4.83 }, + { "time": 2.1333, "x": 208.78, "y": -14.21 }, + { "time": 2.2333, "x": 227.87, "y": -41.2 }, + { "time": 2.3333, "x": 241.3, "y": -65.76 } + ], + "scale": [ + { "time": 0.9667, "x": 1.825, "y": 0.482 }, + { "time": 1.2667, "x": 0.849, "y": 0.266 }, + { "time": 1.7333, "x": 0.767, "y": 0.319 }, + { "time": 2.0333, "x": 0.645, "y": 0.384 }, + { "time": 2.3333, "x": 0.359, "y": 0.158 } + ] + }, + "guang10": { + "rotate": [ + { "time": 1, "angle": 67.95 }, + { "time": 1.1333, "angle": -148.22 }, + { "time": 1.2333, "angle": -149.36 }, + { "time": 1.5667, "angle": 152.68 }, + { "time": 1.9, "angle": 123.6 }, + { "time": 2.2333, "angle": 113.31 } + ], + "translate": [ + { "time": 1, "x": -61.73, "y": -5.97 }, + { "time": 1.1333, "x": -12.2, "y": 67.65 }, + { "time": 1.2333, "x": 5.32, "y": 80.31 }, + { "time": 1.3333, "x": 41.13, "y": 99.06 }, + { "time": 1.4667, "x": 73.9, "y": 107.15 }, + { "time": 1.5667, "x": 111.62, "y": 107.99 }, + { "time": 1.6667, "x": 168.43, "y": 82.98 }, + { "time": 1.8, "x": 189.06, "y": 69.4 }, + { "time": 1.9, "x": 243.21, "y": 14.68 }, + { "time": 2.2333, "x": 331.46, "y": -130.94 } + ], + "scale": [ + { "time": 1, "x": 1.5, "y": 0.5 }, + { "time": 1.1333, "y": 0.5, "curve": "stepped" }, + { "time": 1.5667, "y": 0.5 }, + { "time": 2.2333, "x": 0.3, "y": 0.15 } + ] + }, + "guang11": { + "rotate": [ + { "time": 0.9, "angle": 67.95 }, + { "time": 1.1333, "angle": 58.61 }, + { "time": 1.2333, "angle": 49.05 }, + { "time": 1.4667, "angle": 27.8 }, + { "time": 1.6667, "angle": -7.38 }, + { "time": 2.3333, "angle": -95.73 } + ], + "translate": [ + { "time": 0.9, "x": -62.69, "y": -418.43 }, + { "time": 1.2333, "x": 24.43, "y": -277.9 }, + { "time": 1.4667, "x": 82.51, "y": -198.82 }, + { "time": 1.5667, "x": 111.54, "y": -175.16 }, + { "time": 1.6667, "x": 139.8, "y": -180.27 }, + { "time": 2, "x": 218.59, "y": -206.01 }, + { "time": 2.3333, "x": 279.5, "y": -272.35 } + ], + "scale": [ + { "time": 0.9, "x": 1.825, "y": 0.482 }, + { "time": 2, "x": 0.359, "y": 0.158 } + ] + }, + "guang12": { + "rotate": [ + { "time": 1.1667 }, + { "time": 1.3667, "angle": -32.58 }, + { "time": 1.6333, "angle": -60.11 }, + { "time": 1.8333, "angle": -94.34 }, + { "time": 2.0333, "angle": -121.34 }, + { "time": 2.2333, "angle": -128.84 }, + { "time": 2.4333, "angle": -142.84 } + ], + "translate": [ + { "time": 1.1667, "x": -61.54, "y": 343.29 }, + { "time": 1.2667, "x": -26.19, "y": 374.78 }, + { "time": 1.3667, "x": 2.51, "y": 426.24 }, + { "time": 1.6333, "x": 71.7, "y": 515.41 }, + { "time": 1.8333, "x": 131.27, "y": 550.56 }, + { "time": 2.0333, "x": 176.78, "y": 549.82 }, + { "time": 2.2333, "x": 222.29, "y": 524.66 }, + { "time": 2.4333, "x": 231.54, "y": 511.34 } + ], + "scale": [ + { "time": 1.1667, "x": 0.284, "y": 0.732 }, + { "time": 1.6333, "x": 0.211, "y": 0.689 }, + { "time": 1.8333, "x": 0.211, "y": 0.505 }, + { "time": 2.4333, "x": 0.1, "y": 0.25 } + ] + }, + "guang13": { + "rotate": [ + { "time": 1.3667 }, + { "time": 1.7333, "angle": -17.62 }, + { "time": 1.8333, "angle": -71.56 }, + { "time": 2.1333, "angle": -106.8 }, + { "time": 2.4333, "angle": -124.96 } + ], + "translate": [ + { "time": 1.3667, "x": -66.79, "y": 22.02 }, + { "time": 1.7333, "x": -1.07, "y": 129.58 }, + { "time": 1.8333, "x": 21.33, "y": 140.72 }, + { "time": 1.9333, "x": 48.12, "y": 138.15 }, + { "time": 2.0333, "x": 86.65, "y": 110.63 }, + { "time": 2.3333, "x": 154.92, "y": 2.73 }, + { "time": 2.5333, "x": 204.09, "y": -125.72 } + ], + "scale": [ + { "time": 1.3667, "x": 0.445 } + ] + }, + "guang14": { + "rotate": [ + { "time": 1.2333 }, + { "time": 1.4667, "angle": -32.58 }, + { "time": 1.6667, "angle": -60.11 }, + { "time": 1.9, "angle": -94.34 }, + { "time": 2.1, "angle": -121.34 }, + { "time": 2.3333, "angle": -128.84 }, + { "time": 2.5667, "angle": -142.84 } + ], + "translate": [ + { "time": 1.2333, "x": -61.54, "y": 343.29 }, + { "time": 1.3333, "x": -26.19, "y": 374.78 }, + { "time": 1.4667, "x": 2.51, "y": 426.24 }, + { "time": 1.6667, "x": 71.7, "y": 515.41 }, + { "time": 1.9, "x": 131.27, "y": 550.56 }, + { "time": 2.1, "x": 176.78, "y": 549.82 }, + { "time": 2.3333, "x": 222.29, "y": 524.66 }, + { "time": 2.5667, "x": 231.54, "y": 511.34 } + ], + "scale": [ + { "time": 1.2333, "x": 0.284, "y": 0.732 }, + { "time": 1.6667, "x": 0.211, "y": 0.689 }, + { "time": 1.9, "x": 0.211, "y": 0.505 }, + { "time": 2.5667, "x": 0.1, "y": 0.25 } + ] + }, + "guang15": { + "rotate": [ + { "time": 1.4667 }, + { "time": 1.9333, "angle": -17.62 }, + { "time": 2.0333, "angle": -71.56 }, + { "time": 2.3333, "angle": -106.8 }, + { "time": 2.6667, "angle": -124.96 } + ], + "translate": [ + { "time": 1.4667, "x": -66.79, "y": 22.02 }, + { "time": 1.9333, "x": -1.07, "y": 129.58 }, + { "time": 2.0333, "x": 21.33, "y": 140.72 }, + { "time": 2.1333, "x": 48.12, "y": 138.15 }, + { "time": 2.2333, "x": 86.65, "y": 110.63 }, + { "time": 2.5333, "x": 154.92, "y": 2.73 }, + { "time": 2.7667, "x": 204.09, "y": -125.72 } + ], + "scale": [ + { "time": 1.4667, "x": 0.445 } + ] + }, + "guang16": { + "rotate": [ + { "time": 1.6333 }, + { "time": 2.1333, "angle": -17.62 }, + { "time": 2.2333, "angle": -71.56 }, + { "time": 2.5333, "angle": -106.8 }, + { "time": 3, "angle": -124.96 } + ], + "translate": [ + { "time": 1.6333, "x": -66.79, "y": 22.02 }, + { "time": 2.1333, "x": -1.07, "y": 129.58 }, + { "time": 2.2333, "x": 21.33, "y": 140.72 }, + { "time": 2.3333, "x": 48.12, "y": 138.15 }, + { "time": 2.4333, "x": 86.65, "y": 110.63 }, + { "time": 2.9, "x": 154.92, "y": 2.73 }, + { "time": 3.1, "x": 204.09, "y": -125.72 } + ], + "scale": [ + { "time": 1.6333, "x": 0.445 } + ] + }, + "guang17": { + "translate": [ + { "x": 50.17, "y": 0.13 } + ] + }, + "guang18": { + "rotate": [ + { "time": 1.4667 }, + { "time": 1.8, "angle": -17.62 }, + { "time": 1.9, "angle": -71.56 }, + { "time": 2.2333, "angle": -106.8 }, + { "time": 2.5667, "angle": -124.96 } + ], + "translate": [ + { "time": 1.4667, "x": -66.79, "y": 22.02 }, + { "time": 1.8, "x": -1.07, "y": 129.58 }, + { "time": 1.9, "x": 21.33, "y": 140.72 }, + { "time": 2, "x": 48.12, "y": 138.15 }, + { "time": 2.1, "x": 86.65, "y": 110.63 }, + { "time": 2.4333, "x": 154.92, "y": 2.73 }, + { "time": 2.6667, "x": 204.09, "y": -125.72 } + ], + "scale": [ + { "time": 1.4667, "x": 0.445 } + ] + }, + "guang19": { + "rotate": [ + { "time": 1.5667 }, + { "time": 2, "angle": -17.62 }, + { "time": 2.1, "angle": -71.56 }, + { "time": 2.4333, "angle": -106.8 }, + { "time": 2.7667, "angle": -124.96 } + ], + "translate": [ + { "time": 1.5667, "x": -66.79, "y": 22.02 }, + { "time": 2, "x": -1.07, "y": 129.58 }, + { "time": 2.1, "x": 21.33, "y": 140.72 }, + { "time": 2.2333, "x": 48.12, "y": 138.15 }, + { "time": 2.3333, "x": 86.65, "y": 110.63 }, + { "time": 2.6667, "x": 154.92, "y": 2.73 }, + { "time": 2.9, "x": 204.09, "y": -125.72 } + ], + "scale": [ + { "time": 1.5667, "x": 0.445 } + ] + }, + "guang20": { + "rotate": [ + { "time": 1.4667 }, + { "time": 2, "angle": -17.62 }, + { "time": 2.1, "angle": -71.56 }, + { "time": 2.4333, "angle": -106.8 }, + { "time": 2.9, "angle": -124.96 } + ], + "translate": [ + { "time": 1.4667, "x": -66.79, "y": 22.02 }, + { "time": 2, "x": -1.07, "y": 129.58 }, + { "time": 2.1, "x": 21.33, "y": 140.72 }, + { "time": 2.2333, "x": 48.12, "y": 138.15 }, + { "time": 2.3333, "x": 86.65, "y": 110.63 }, + { "time": 2.7667, "x": 154.92, "y": 2.73 }, + { "time": 3, "x": 204.09, "y": -125.72 } + ], + "scale": [ + { "time": 1.4667, "x": 0.445 } + ] + }, + "guang21": { + "rotate": [ + { "time": 1.1667, "angle": 67.95 }, + { "time": 1.3333, "angle": 65.99 }, + { "time": 1.5667, "angle": 42.39 }, + { "time": 2.1, "angle": 6.96 }, + { "time": 2.2333, "angle": -4.73 }, + { "time": 2.5, "angle": -38.03 }, + { "time": 2.6667, "angle": -42.51 }, + { "time": 2.8, "angle": -57.39 }, + { "time": 2.9, "angle": -64.16 }, + { "time": 3.0667, "angle": -95.73 } + ], + "translate": [ + { "time": 1.1667, "x": -74.77, "y": -328.23 }, + { "time": 1.3333, "x": -51.46, "y": -211.26 }, + { "time": 1.5667, "x": 18.4, "y": -44.77 }, + { "time": 1.9333, "x": 53.31, "y": -5.22 }, + { "time": 2.1, "x": 86.1, "y": 17.33 }, + { "time": 2.2333, "x": 109.91, "y": 26.73 }, + { "time": 2.5, "x": 163.36, "y": 18.49 }, + { "time": 2.6667, "x": 188.63, "y": 4.83 }, + { "time": 2.8, "x": 208.78, "y": -14.21 }, + { "time": 2.9, "x": 227.87, "y": -41.2 }, + { "time": 3.0667, "x": 241.3, "y": -65.76 } + ], + "scale": [ + { "time": 1.1667, "x": 1.825, "y": 0.482 }, + { "time": 1.5667, "x": 0.849, "y": 0.266 }, + { "time": 2.2333, "x": 0.767, "y": 0.319 }, + { "time": 2.6667, "x": 0.645, "y": 0.384 }, + { "time": 3.0667, "x": 0.359, "y": 0.158 } + ] + }, + "guang22": { + "rotate": [ + { "time": 1.1667, "angle": 67.95 }, + { "time": 1.3333, "angle": 65.99 }, + { "time": 1.5667, "angle": 42.39 }, + { "time": 2.1, "angle": 6.96 }, + { "time": 2.2333, "angle": -4.73 }, + { "time": 2.5, "angle": -38.03 }, + { "time": 2.6667, "angle": -42.51 }, + { "time": 2.8, "angle": -57.39 }, + { "time": 2.9, "angle": -64.16 }, + { "time": 3.0667, "angle": -95.73 } + ], + "translate": [ + { "time": 1.1667, "x": -74.77, "y": -328.23 }, + { "time": 1.3333, "x": -51.46, "y": -211.26 }, + { "time": 1.5667, "x": 18.4, "y": -44.77 }, + { "time": 1.9333, "x": 53.31, "y": -5.22 }, + { "time": 2.1, "x": 86.1, "y": 17.33 }, + { "time": 2.2333, "x": 109.91, "y": 26.73 }, + { "time": 2.5, "x": 163.36, "y": 18.49 }, + { "time": 2.6667, "x": 188.63, "y": 4.83 }, + { "time": 2.8, "x": 208.78, "y": -14.21 }, + { "time": 2.9, "x": 227.87, "y": -41.2 }, + { "time": 3.0667, "x": 241.3, "y": -65.76 } + ], + "scale": [ + { "time": 1.1667, "x": 1.825, "y": 0.482 }, + { "time": 1.5667, "x": 0.849, "y": 0.266 }, + { "time": 2.2333, "x": 0.767, "y": 0.319 }, + { "time": 2.6667, "x": 0.645, "y": 0.384 }, + { "time": 3.0667, "x": 0.359, "y": 0.158 } + ] + }, + "guang23": { + "rotate": [ + { "time": 1, "angle": 67.95 }, + { "time": 1.1333, "angle": -148.22 }, + { "time": 1.2333, "angle": -149.36 }, + { "time": 1.5667, "angle": 152.68 }, + { "time": 1.9, "angle": 123.6 }, + { "time": 2.2333, "angle": 113.31 } + ], + "translate": [ + { "time": 1, "x": -61.73, "y": -5.97 }, + { "time": 1.1333, "x": -12.2, "y": 67.65 }, + { "time": 1.2333, "x": 5.32, "y": 80.31 }, + { "time": 1.3333, "x": 41.13, "y": 99.06 }, + { "time": 1.4667, "x": 73.9, "y": 107.15 }, + { "time": 1.5667, "x": 111.62, "y": 107.99 }, + { "time": 1.6667, "x": 168.43, "y": 82.98 }, + { "time": 1.8, "x": 189.06, "y": 69.4 }, + { "time": 1.9, "x": 243.21, "y": 14.68 }, + { "time": 2.2333, "x": 331.46, "y": -130.94 } + ], + "scale": [ + { "time": 1, "x": 1.5, "y": 0.5 }, + { "time": 1.1333, "y": 0.5, "curve": "stepped" }, + { "time": 1.5667, "y": 0.5 }, + { "time": 2.2333, "x": 0.3, "y": 0.15 } + ] + }, + "guang24": { + "rotate": [ + { "time": 1.2333 }, + { "time": 1.8, "angle": -17.62 }, + { "time": 1.9, "angle": -71.56 }, + { "time": 2.2333, "angle": -106.8 }, + { "time": 2.6667, "angle": -124.96 } + ], + "translate": [ + { "time": 1.2333, "x": -66.79, "y": 22.02 }, + { "time": 1.8, "x": -1.07, "y": 129.58 }, + { "time": 1.9, "x": 21.33, "y": 140.72 }, + { "time": 2, "x": 48.12, "y": 138.15 }, + { "time": 2.1, "x": 86.65, "y": 110.63 }, + { "time": 2.5667, "x": 154.92, "y": 2.73 }, + { "time": 2.7667, "x": 204.09, "y": -125.72 } + ], + "scale": [ + { "time": 1.2333, "x": 0.445 } + ] + }, + "guang25": { + "rotate": [ + { "time": 1, "angle": 67.95 }, + { "time": 1.1333, "angle": 65.99 }, + { "time": 1.3333, "angle": 42.39 }, + { "time": 1.6667, "angle": 6.96 }, + { "time": 1.8, "angle": -4.73 }, + { "time": 2, "angle": -38.03 }, + { "time": 2.1, "angle": -42.51 }, + { "time": 2.2333, "angle": -57.39 }, + { "time": 2.3333, "angle": -64.16 }, + { "time": 2.4333, "angle": -95.73 } + ], + "translate": [ + { "time": 1, "x": -74.77, "y": -328.23 }, + { "time": 1.1333, "x": -51.46, "y": -211.26 }, + { "time": 1.3333, "x": 18.4, "y": -44.77 }, + { "time": 1.5667, "x": 53.31, "y": -5.22 }, + { "time": 1.6667, "x": 86.1, "y": 17.33 }, + { "time": 1.8, "x": 109.91, "y": 26.73 }, + { "time": 2, "x": 163.36, "y": 18.49 }, + { "time": 2.1, "x": 188.63, "y": 4.83 }, + { "time": 2.2333, "x": 208.78, "y": -14.21 }, + { "time": 2.3333, "x": 227.87, "y": -41.2 }, + { "time": 2.4333, "x": 241.3, "y": -65.76 } + ], + "scale": [ + { "time": 1, "x": 1.825, "y": 0.482 }, + { "time": 1.3333, "x": 0.849, "y": 0.266 }, + { "time": 1.8, "x": 0.767, "y": 0.319 }, + { "time": 2.1, "x": 0.645, "y": 0.384 }, + { "time": 2.4333, "x": 0.359, "y": 0.158 } + ] + }, + "guang26": { + "translate": [ + { "x": 48.31, "y": -0.13 } + ] + }, + "guang27": { + "rotate": [ + { "time": 1.1667, "angle": 67.95 }, + { "time": 1.3333, "angle": 65.99 }, + { "time": 1.5667, "angle": 42.39 }, + { "time": 2.1, "angle": 6.96 }, + { "time": 2.2333, "angle": -4.73 }, + { "time": 2.5, "angle": -38.03 }, + { "time": 2.6667, "angle": -42.51 }, + { "time": 2.8, "angle": -57.39 }, + { "time": 2.9, "angle": -64.16 }, + { "time": 3.0667, "angle": -95.73 } + ], + "translate": [ + { "time": 1.1667, "x": -74.77, "y": -328.23 }, + { "time": 1.3333, "x": -51.46, "y": -211.26 }, + { "time": 1.5667, "x": 18.4, "y": -44.77 }, + { "time": 1.9333, "x": 53.31, "y": -5.22 }, + { "time": 2.1, "x": 86.1, "y": 17.33 }, + { "time": 2.2333, "x": 109.91, "y": 26.73 }, + { "time": 2.5, "x": 163.36, "y": 18.49 }, + { "time": 2.6667, "x": 188.63, "y": 4.83 }, + { "time": 2.8, "x": 208.78, "y": -14.21 }, + { "time": 2.9, "x": 227.87, "y": -41.2 }, + { "time": 3.0667, "x": 241.3, "y": -65.76 } + ], + "scale": [ + { "time": 1.1667, "x": 1.825, "y": 0.482 }, + { "time": 1.5667, "x": 0.849, "y": 0.266 }, + { "time": 2.2333, "x": 0.176, "y": 0.204 }, + { "time": 2.6667, "x": 0.206, "y": 0.315 }, + { "time": 3.0667, "x": 0.359, "y": 0.158 } + ] + }, + "guang28": { + "rotate": [ + { "time": 1, "angle": 67.95 }, + { "time": 1.1333, "angle": 65.99 }, + { "time": 1.3333, "angle": 42.39 }, + { "time": 1.6667, "angle": 6.96 }, + { "time": 1.8, "angle": -4.73 }, + { "time": 2, "angle": -38.03 }, + { "time": 2.1, "angle": -42.51 }, + { "time": 2.2333, "angle": -57.39 }, + { "time": 2.3333, "angle": -64.16 }, + { "time": 2.4333, "angle": -95.73 } + ], + "translate": [ + { "time": 1, "x": -74.77, "y": -328.23 }, + { "time": 1.1333, "x": -51.46, "y": -211.26 }, + { "time": 1.3333, "x": 18.4, "y": -44.77 }, + { "time": 1.5667, "x": 53.31, "y": -5.22 }, + { "time": 1.6667, "x": 86.1, "y": 17.33 }, + { "time": 1.8, "x": 109.91, "y": 26.73 }, + { "time": 2, "x": 163.36, "y": 18.49 }, + { "time": 2.1, "x": 188.63, "y": 4.83 }, + { "time": 2.2333, "x": 208.78, "y": -14.21 }, + { "time": 2.3333, "x": 227.87, "y": -41.2 }, + { "time": 2.4333, "x": 241.3, "y": -65.76 } + ], + "scale": [ + { "time": 1, "x": 1.825, "y": 0.482 }, + { "time": 1.3333, "x": 0.849, "y": 0.266 }, + { "time": 1.8, "x": 0.767, "y": 0.319 }, + { "time": 2.1, "x": 0.645, "y": 0.384 }, + { "time": 2.4333, "x": 0.359, "y": 0.158 } + ] + }, + "light_line1": { + "scale": [ + { "x": 0.781, "y": 0.781, "curve": 0.25, "c3": 0.75 }, + { "time": 1.6667, "x": 1.355, "y": 1.355 } + ] + }, + "light_line2": { + "scale": [ + { "x": 0.84, "y": 0.84, "curve": 0.25, "c3": 0.75 }, + { "time": 1.6667, "x": 1.461, "y": 1.461 } + ] + }, + "light_line3": { + "rotate": [ + { "angle": 90.41 }, + { "time": 1.6333, "angle": 1.56, "curve": "stepped" }, + { "time": 1.6667 } + ], + "scale": [ + { "x": 1.461, "y": 1.461, "curve": 0.25, "c3": 0.75 }, + { "time": 1.6667, "x": 0.84, "y": 0.84 } + ] + }, + "star3": { + "rotate": [ + { "angle": -85.69 } + ], + "translate": [ + { "x": -271.53, "y": -659.87, "curve": "stepped" }, + { "time": 0.1667, "x": -271.53, "y": -659.87, "curve": 0.387, "c3": 0.635 }, + { "time": 1.2667, "x": -271.52, "y": -671.75 } + ], + "scale": [ + { "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.1667, "x": 0, "y": 0, "curve": 0.25, "c3": 0.75 }, + { "time": 0.3333, "x": 0.876, "y": 0.876, "curve": 0.25, "c3": 0.75 }, + { "time": 0.9, "x": 0.9, "y": 0.9 } + ] + }, + "star4": { + "rotate": [ + { "angle": -85.69 } + ], + "translate": [ + { "x": 138.54, "y": -650.28, "curve": "stepped" }, + { + "time": 0.1667, + "x": 138.54, + "y": -650.28, + "curve": 0, + "c2": 0.33, + "c3": 0.344, + "c4": 0.66 + }, + { "time": 1.2667, "x": 138.56, "y": -660.87 } + ], + "scale": [ + { "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.1667, "x": 0, "y": 0, "curve": 0.25, "c3": 0.75 }, + { "time": 0.3333, "x": 0.791, "y": 0.791, "curve": 0.25, "c3": 0.75 }, + { "time": 0.9, "x": 0.991, "y": 0.991 } + ] + }, + "star5": { + "rotate": [ + { "angle": -85.69 } + ], + "translate": [ + { "x": -126.14, "y": -613.19 } + ], + "scale": [ + { "x": -0.242, "y": -0.242, "curve": "stepped" }, + { "time": 0.3333, "x": -0.242, "y": -0.242, "curve": 0.25, "c3": 0.75 }, + { "time": 0.5667, "x": 0.634, "y": 0.634, "curve": 0.284, "c3": 0.625, "c4": 0.38 }, + { "time": 1.0667, "x": 0.658, "y": 0.658 } + ] + }, + "star6": { + "rotate": [ + { "angle": -85.69 } + ], + "translate": [ + { "x": -906.36, "y": -614.23 } + ], + "scale": [ + { "x": -0.242, "y": -0.242, "curve": "stepped" }, + { "time": 0.3333, "x": -0.242, "y": -0.242, "curve": 0.25, "c3": 0.75 }, + { "time": 0.5667, "x": 0.634, "y": 0.634, "curve": 0.284, "c3": 0.625, "c4": 0.38 }, + { "time": 1.0667, "x": 0.658, "y": 0.658 } + ] + }, + "gd4": { + "scale": [ + { "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.2, "x": 0, "y": 0, "curve": 0.25, "c3": 0.75 }, + { "time": 1.3667, "x": 1.12, "y": 1.12, "curve": 0.25, "c3": 0.75 }, + { "time": 1.5333 } + ] + }, + "yd_c1_light2": { + "translate": [ + { "curve": 0, "c2": 0.61, "c3": 0.802 }, + { "time": 1.6333, "x": 77.25, "y": -197.16, "curve": "stepped" }, + { "time": 1.6667 } + ], + "scale": [ + { "curve": 0.25, "c3": 0.75 }, + { "time": 1.6333, "x": 0.2, "y": 0.2, "curve": "stepped" }, + { "time": 1.6667 } + ] + }, + "yd_c1_light3": { + "translate": [ + { "curve": 0, "c2": 0.61, "c3": 0.802 }, + { "time": 0.8, "x": -35.99, "y": 265.62, "curve": "stepped" }, + { "time": 2.4667, "x": -174.06, "y": -155.36, "curve": "stepped" }, + { "time": 2.5 } + ], + "scale": [ + { "curve": 0.25, "c3": 0.75 }, + { "time": 0.8, "x": 0.2, "y": 0.2, "curve": "stepped" }, + { "time": 2.4667, "x": 0.2, "y": 0.2, "curve": "stepped" }, + { "time": 2.5 } + ] + }, + "yd_c1_light4": { + "translate": [ + { "curve": 0, "c2": 0.61, "c3": 0.802 }, + { "time": 0.8, "x": -96.23, "y": -289.9, "curve": "stepped" }, + { "time": 2.4667, "x": -96.23, "y": -289.9, "curve": "stepped" }, + { "time": 2.5 } + ], + "scale": [ + { "curve": 0.25, "c3": 0.75 }, + { "time": 0.8, "x": 0.2, "y": 0.2, "curve": "stepped" }, + { "time": 2.4667, "x": 0.2, "y": 0.2, "curve": "stepped" }, + { "time": 2.5 } + ] + }, + "yd_light2": { + "translate": [ + { "curve": 0, "c2": 0.61, "c3": 0.802 }, + { "time": 1.6333, "x": 126.7, "y": 141.36, "curve": "stepped" }, + { "time": 1.6667 } + ], + "scale": [ + { "curve": 0.25, "c3": 0.75 }, + { "time": 1.6333, "x": 0.2, "y": 0.2, "curve": "stepped" }, + { "time": 1.6667 } + ] + }, + "yd_light3": { + "translate": [ + { "curve": 0, "c2": 0.61, "c3": 0.802 }, + { "time": 0.8, "x": -217.45, "y": -192.76, "curve": "stepped" }, + { "time": 2.4667, "x": -249.07, "y": 58.57, "curve": "stepped" }, + { "time": 2.5 } + ], + "scale": [ + { "curve": 0.25, "c3": 0.75 }, + { "time": 0.8, "x": 0.2, "y": 0.2, "curve": "stepped" }, + { "time": 2.4667, "x": 0.2, "y": 0.2, "curve": "stepped" }, + { "time": 2.5 } + ] + }, + "gx_z": { + "translate": [ + { "y": 210.43 } + ], + "scale": [ + { "time": 0.8 }, + { "time": 1.3333, "x": 0.823, "y": 0.823 } + ] + }, + "cdz4": { + "rotate": [ + { "angle": -18.75 } + ], + "translate": [ + { "y": 115.98 } + ], + "scale": [ + { "x": 0.527, "y": 0.527 } + ] + }, + "caidai8": { + "rotate": [ + { "angle": 0.53 } + ] + }, + "bone2": { + "translate": [ + { "x": -0.38, "y": 286.94 } + ] + }, + "bone": { + "translate": [ + { "x": -0.38, "y": 286.94 } + ] + }, + "R": { + "translate": [ + { "x": 32.04, "y": 0.04 }, + { "time": 1.7333, "x": -53.77, "y": -0.07 } + ] + }, + "L": { + "translate": [ + { "x": -38.45, "y": -0.05 }, + { "time": 1.1333, "x": -23.8, "y": -0.03 } + ] + }, + "cdz2": { + "rotate": [ + { "angle": -18.75 } + ], + "translate": [ + { "y": 115.98 } + ], + "scale": [ + { "x": 0.527, "y": 0.527 } + ] + }, + "zhu": { + "scale": [ + { "x": 0, "y": 0, "curve": 0.25, "c3": 0.75 }, + { "time": 0.0667 } + ] + }, + "star_z": { + "scale": [ + { "x": 1.179, "y": 1.179 } + ] + } + } + } +} +} \ No newline at end of file diff --git a/assets/resources/spine/prize_fx.json.meta b/assets/resources/spine/prize_fx.json.meta new file mode 100644 index 0000000..e69af64 --- /dev/null +++ b/assets/resources/spine/prize_fx.json.meta @@ -0,0 +1,13 @@ +{ + "ver": "1.2.7", + "importer": "spine-data", + "imported": true, + "uuid": "fff92c24-e843-4fca-b0aa-6e4e4f2caef5", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": { + "atlasUuid": "4b5c9209-f28d-4e6a-9eae-905c0e9dbbb7" + } +} diff --git a/assets/resources/spine/prize_fx.png b/assets/resources/spine/prize_fx.png new file mode 100644 index 0000000..d5ff924 Binary files /dev/null and b/assets/resources/spine/prize_fx.png differ diff --git a/assets/resources/spine/prize_fx.png.meta b/assets/resources/spine/prize_fx.png.meta new file mode 100644 index 0000000..7f52bde --- /dev/null +++ b/assets/resources/spine/prize_fx.png.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "4d9aae14-3f9b-44b6-96a9-3535d097fed4", + "files": [ + ".json", + ".png" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "4d9aae14-3f9b-44b6-96a9-3535d097fed4@6c48a", + "displayName": "prize_fx", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "4d9aae14-3f9b-44b6-96a9-3535d097fed4", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "4d9aae14-3f9b-44b6-96a9-3535d097fed4@f9941", + "displayName": "prize_fx", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 2, + "trimY": 2, + "width": 664, + "height": 521, + "rawWidth": 668, + "rawHeight": 525, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -332, + -260.5, + 0, + 332, + -260.5, + 0, + -332, + 260.5, + 0, + 332, + 260.5, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 2, + 523, + 666, + 523, + 2, + 2, + 666, + 2 + ], + "nuv": [ + 0.0029940119760479044, + 0.0038095238095238095, + 0.9970059880239521, + 0.0038095238095238095, + 0.0029940119760479044, + 0.9961904761904762, + 0.9970059880239521, + 0.9961904761904762 + ], + "minPos": [ + -332, + -260.5, + 0 + ], + "maxPos": [ + 332, + 260.5, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "4d9aae14-3f9b-44b6-96a9-3535d097fed4@6c48a", + "atlasUuid": "", + "trimType": "auto" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "fixAlphaTransparencyArtifacts": false, + "hasAlpha": true, + "redirect": "4d9aae14-3f9b-44b6-96a9-3535d097fed4@6c48a" + } +} diff --git a/assets/scripts/utils/AchievementTitleAnimator.ts b/assets/scripts/utils/AchievementTitleAnimator.ts new file mode 100644 index 0000000..17aae72 --- /dev/null +++ b/assets/scripts/utils/AchievementTitleAnimator.ts @@ -0,0 +1,252 @@ +import { Label, Node, ProgressBar, tween, Tween } from 'cc'; + +/** + * 称号进度展示数据 + * 字段对应 AchievementTitleManager.getTitleInfo 的产物,但所有字段都是可选的, + * 调用方可以只更新需要的部分(例如分享模式只想清空文字)。 + */ +export interface TitleProgressData { + /** 当前称号文案(如「冷场小白1级」) */ + titleText?: string; + /** 进度提示文案(如「还差3题,解锁新成就等级」) */ + progressText?: string; + /** 当前称号到下一称号的进度,0-1 */ + nextTitleProgress?: number; +} + +/** + * 进度条 / 称号视图所需的节点引用集合 + */ +export interface TitleAnimatorBindings { + /** 称号文案 Label(如「冷场小白1级」),可空 */ + titleLabel?: Label | null; + /** 进度提示 Label(如「还差3题,解锁新成就等级」),可空 */ + progressLabel?: Label | null; + /** 进度条组件 */ + progressBar?: ProgressBar | null; + /** 进度条上跟随移动的 anchor 节点(若其下有 Label 子节点会自动写百分比) */ + progressAnchor?: Node | null; +} + +/** + * 进度条动画起始前的等待时长(秒)。让弹窗 / 弹起动画稳定后再开播 + */ +const PROGRESS_ANIM_START_DELAY = 0.4; +/** 单段进度条填充动画时长(秒) */ +const PROGRESS_ANIM_SEGMENT_DURATION = 0.6; +/** 跨称号切换时的等级信息刷新停顿(秒),让玩家看清称号变更 */ +const PROGRESS_ANIM_LEVELUP_PAUSE = 0.12; + +/** + * 九宫格 Bar Left+Right border = 240px、totalLength = 925px。 + * width < 240px 时圆角会畸变,因此 progress > 0 时强制最小值。 + */ +const MIN_PROGRESS_RATIO = 240 / 925; + +/** anchor 起点的视觉微调(与 PageHome 等其他页面保持一致) */ +const PROGRESS_ANCHOR_VISUAL_OFFSET = -30; + +/** + * 把称号文字、进度条、跟随气泡这三件事打包成一个可复用的动画/展示工具。 + * 没有引擎组件依赖(不是 cc.Component),可以被任何持有节点引用的对象 new 一个出来用。 + * + * 起源:原本只在 PassModal 内部实现。PassNode 替换 PassModal 后, + * PageLevel 也需要同一套行为,所以抽出来共用。 + */ +export class AchievementTitleAnimator { + private _bindings: TitleAnimatorBindings = {}; + /** anchor 起点 X(在 progressBar 父节点空间下),首次解析后缓存 */ + private _progressAnchorStartX: number | null = null; + /** Tween 共享的目标对象,方便 stopAllByTarget */ + private readonly _tweenTarget: { progress: number } = { progress: 0 }; + + /** 绑定 / 重新绑定节点引用。任何重新绑定都会清掉缓存的 anchor 起点 */ + bind(bindings: TitleAnimatorBindings): void { + this._bindings = bindings; + this._progressAnchorStartX = null; + } + + /** 直接展示终态,无动画 */ + setTarget(data: TitleProgressData): void { + this.stop(); + this._applyTitleText(data.titleText); + this._applyProgressText(data.progressText); + this._applyProgressValue(data.nextTitleProgress); + } + + /** + * 从 prev → current 播过渡动画 + * - prev 为空:直接展示 current 终态 + * - 同称号:单段 tween + * - 跨称号:先填满旧称号,再切到新称号 + 进度从 0 涨到 current + */ + playTransition(prev: TitleProgressData | null | undefined, current: TitleProgressData): void { + if (!prev) { + this.setTarget(current); + return; + } + + const startProgress = prev.nextTitleProgress; + const endProgress = current.nextTitleProgress; + if (startProgress === undefined || endProgress === undefined) { + this.setTarget(current); + return; + } + + const isSameTitle = prev.titleText === undefined + || current.titleText === undefined + || prev.titleText === current.titleText; + + // 同称号且起止相同,没必要播动画 + if (isSameTitle && Math.abs(startProgress - endProgress) < 1e-4) { + this.setTarget(current); + return; + } + + this.stop(); + + if (isSameTitle) { + // 先展示文字 + 起点进度,再 tween 到终点 + this._applyTitleText(current.titleText); + this._applyProgressText(current.progressText); + this._applyProgressValue(startProgress); + this._runSegmentTween(startProgress, endProgress, PROGRESS_ANIM_START_DELAY); + return; + } + + // 跨称号:先展示旧称号 + 起点进度 + this._applyTitleText(prev.titleText); + this._applyProgressText(prev.progressText); + this._applyProgressValue(startProgress); + + const target = this._tweenTarget; + target.progress = this._clamp(startProgress); + const onUpdate = () => this._applyAnimatedProgress(target.progress); + + tween(target) + .delay(PROGRESS_ANIM_START_DELAY) + .to(PROGRESS_ANIM_SEGMENT_DURATION, { progress: 1 }, { easing: 'sineOut', onUpdate }) + .call(() => { + this._applyTitleText(current.titleText); + this._applyProgressText(current.progressText); + target.progress = 0; + this._applyAnimatedProgress(0); + }) + .delay(PROGRESS_ANIM_LEVELUP_PAUSE) + .to( + PROGRESS_ANIM_SEGMENT_DURATION, + { progress: this._clamp(endProgress) }, + { easing: 'sineOut', onUpdate }, + ) + .start(); + } + + /** 停止当前动画(不影响已展示的进度值) */ + stop(): void { + Tween.stopAllByTarget(this._tweenTarget); + } + + private _runSegmentTween(from: number, to: number, delay: number): void { + const target = this._tweenTarget; + target.progress = this._clamp(from); + this._applyAnimatedProgress(from); + + const chain = tween(target); + if (delay > 0) { + chain.delay(delay); + } + + chain.to( + PROGRESS_ANIM_SEGMENT_DURATION, + { progress: this._clamp(to) }, + { + easing: 'sineOut', + onUpdate: () => this._applyAnimatedProgress(target.progress), + }, + ).start(); + } + + private _applyTitleText(text: string | undefined): void { + if (text === undefined) return; + const label = this._bindings.titleLabel; + if (label?.isValid) { + label.string = text; + } + } + + private _applyProgressText(text: string | undefined): void { + if (text === undefined) return; + const label = this._bindings.progressLabel; + if (label?.isValid) { + label.string = text; + } + } + + private _applyProgressValue(progress: number | undefined): void { + if (progress === undefined) return; + this._applyAnimatedProgress(progress); + } + + private _applyAnimatedProgress(progress: number): void { + const clamped = this._clamp(progress); + const bar = this._bindings.progressBar; + if (bar?.isValid) { + bar.progress = this._normalize(clamped); + } + this._updateProgressAnchor(clamped); + } + + private _updateProgressAnchor(progress: number): void { + const anchor = this._bindings.progressAnchor; + if (!anchor?.isValid) return; + + this._cacheProgressAnchorStartX(); + + const startX = this._progressAnchorStartX ?? anchor.position.x; + const travelWidth = this._getProgressAnchorTravelWidth(); + anchor.setPosition( + startX + travelWidth * progress, + anchor.position.y, + anchor.position.z, + ); + + const percentLabel = anchor.getChildByName('Label')?.getComponent(Label); + if (percentLabel) { + percentLabel.string = `${Math.round(progress * 100)}%`; + } + } + + private _getProgressAnchorTravelWidth(): number { + const bar = this._bindings.progressBar; + if (!bar) return 0; + return Math.abs(bar.totalLength * bar.node.scale.x); + } + + /** + * Bar 节点 anchor 为 (0, 0.5),其本地 position.x 即进度条可视左端。 + * ProgressBar 与 ProgressAnchor 共享同一父节点,因此把 Bar 的本地 X + * 按 ProgressBar 自身的位移与缩放映射到父节点空间,才是真正的「0% 起点」。 + * 直接拿 anchor.position.x 当起点会被 prefab 摆放偏移量带跑。 + */ + private _cacheProgressAnchorStartX(): void { + if (this._progressAnchorStartX !== null) return; + const bar = this._bindings.progressBar; + const barSprite = bar?.barSprite; + if (!bar || !barSprite) return; + + const barLocalX = barSprite.node.position.x; + this._progressAnchorStartX = bar.node.position.x + + barLocalX * bar.node.scale.x + + PROGRESS_ANCHOR_VISUAL_OFFSET; + } + + private _normalize(progress: number): number { + if (!Number.isFinite(progress) || progress <= 0) return 0; + return Math.max(MIN_PROGRESS_RATIO, Math.min(1, progress)); + } + + private _clamp(progress: number): number { + if (!Number.isFinite(progress) || progress <= 0) return 0; + return Math.min(1, progress); + } +} diff --git a/assets/scripts/utils/AchievementTitleAnimator.ts.meta b/assets/scripts/utils/AchievementTitleAnimator.ts.meta new file mode 100644 index 0000000..8063ecd --- /dev/null +++ b/assets/scripts/utils/AchievementTitleAnimator.ts.meta @@ -0,0 +1,9 @@ +{ + "ver": "4.0.24", + "importer": "typescript", + "imported": true, + "uuid": "54354f70-d976-4008-b1a9-40473c99e872", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/extensions/.DS_Store b/extensions/.DS_Store new file mode 100644 index 0000000..785c276 Binary files /dev/null and b/extensions/.DS_Store differ diff --git a/extensions/cocos-mcp-server b/extensions/cocos-mcp-server new file mode 160000 index 0000000..754adec --- /dev/null +++ b/extensions/cocos-mcp-server @@ -0,0 +1 @@ +Subproject commit 754adecdb8114a7aed70ef377fd01a454af415f6