Citrus 9 月之前
父節點
當前提交
fc04383619
共有 100 個文件被更改,包括 5192 次插入1020 次删除
  1. 二進制
      Arts/a_策划文档/~$跳一跳文档-界面规则 .docx
  2. 二進制
      Arts/a_策划文档/向上跳一跳文档-关卡规则.docx
  3. 二進制
      Arts/a_策划文档/向上跳一跳文档-基础规则.docx
  4. 二進制
      Arts/a_策划文档/向上跳一跳文档-界面规则 .docx
  5. 二進制
      Arts/a_策划文档/策划文档.zip
  6. 二進制
      Arts/金币/add.png
  7. 二進制
      Arts/金币/background.jpg
  8. 二進制
      Arts/金币/brand.png
  9. 二進制
      Arts/金币/dark.png
  10. 二進制
      Arts/金币/forest.png
  11. 二進制
      Arts/金币/frame.png
  12. 二進制
      Arts/金币/gold.png
  13. 二進制
      Arts/金币/goldcoin.png
  14. 二進制
      Arts/金币/line.png
  15. 二進制
      Arts/金币/linethrough.png
  16. 二進制
      Arts/金币/金币/金币/beimian.png
  17. 二進制
      Arts/金币/金币/金币/cemian.png
  18. 二進制
      Arts/金币/金币/金币/zhengmian.png
  19. 3 9
      assets/Editer/bgscroll.ts
  20. 22 12
      assets/Editer/edLayout.ts
  21. 224 497
      assets/Scene/Editer.fire
  22. 1232 155
      assets/Scene/Game.fire
  23. 391 241
      assets/Scene/Hall.fire
  24. 94 0
      assets/Script/AudioManager.ts
  25. 10 0
      assets/Script/AudioManager.ts.meta
  26. 18 2
      assets/Script/Canmera/CanmeraScrpts.ts
  27. 169 10
      assets/Script/Character/Character.ts
  28. 31 7
      assets/Script/Character/GameTips.ts
  29. 59 28
      assets/Script/Character/YaoGan.ts
  30. 13 0
      assets/Script/CommonUI.meta
  31. 65 0
      assets/Script/CommonUI/Gold.ts
  32. 10 0
      assets/Script/CommonUI/Gold.ts.meta
  33. 10 0
      assets/Script/EventName/EventName.ts
  34. 24 0
      assets/Script/Game.ts
  35. 10 0
      assets/Script/Game.ts.meta
  36. 13 0
      assets/Script/GameProp.meta
  37. 56 0
      assets/Script/GameProp/GameProp1000.ts
  38. 10 0
      assets/Script/GameProp/GameProp1000.ts.meta
  39. 72 0
      assets/Script/GameProp/GameProp1001.ts
  40. 10 0
      assets/Script/GameProp/GameProp1001.ts.meta
  41. 3 0
      assets/Script/Global.ts
  42. 43 20
      assets/Script/Hall.ts
  43. 22 0
      assets/Script/LoadManager.ts
  44. 10 0
      assets/Script/LoadManager.ts.meta
  45. 23 0
      assets/Script/LocalData.ts
  46. 37 35
      assets/Script/Map/MyMap.ts
  47. 13 0
      assets/Script/Pop.meta
  48. 57 0
      assets/Script/Pop/Set.ts
  49. 10 0
      assets/Script/Pop/Set.ts.meta
  50. 38 0
      assets/Script/Pop/Tips.ts
  51. 10 0
      assets/Script/Pop/Tips.ts.meta
  52. 10 0
      assets/Script/Template/MyComponent.ts
  53. 72 0
      assets/Script/Template/RewardMnr.ts
  54. 10 0
      assets/Script/Template/RewardMnr.ts.meta
  55. 13 0
      assets/Texture/GameProp.meta
  56. 二進制
      assets/Texture/Pop/FX.png
  57. 38 0
      assets/Texture/Pop/FX.png.meta
  58. 二進制
      assets/Texture/Pop/click.png
  59. 38 0
      assets/Texture/Pop/click.png.meta
  60. 二進制
      assets/Texture/Pop/music.png
  61. 38 0
      assets/Texture/Pop/music.png.meta
  62. 二進制
      assets/Texture/Pop/开关 关@2x.png
  63. 38 0
      assets/Texture/Pop/开关 关@2x.png.meta
  64. 二進制
      assets/Texture/Pop/开关 开@2x.png
  65. 38 0
      assets/Texture/Pop/开关 开@2x.png.meta
  66. 13 0
      assets/Texture/Prefab.meta
  67. 579 0
      assets/Texture/Prefab/Gold.prefab
  68. 9 0
      assets/Texture/Prefab/Gold.prefab.meta
  69. 13 0
      assets/Texture/Sign.meta
  70. 二進制
      assets/Texture/Sign/Greenstripe.png
  71. 38 0
      assets/Texture/Sign/Greenstripe.png.meta
  72. 二進制
      assets/Texture/Sign/frame.png
  73. 38 0
      assets/Texture/Sign/frame.png.meta
  74. 二進制
      assets/Texture/Sign/signin.png
  75. 38 0
      assets/Texture/Sign/signin.png.meta
  76. 13 0
      assets/Texture/Spine.meta
  77. 13 0
      assets/Texture/Spine/Role.meta
  78. 13 0
      assets/Texture/Spine/Role/Role1.meta
  79. 69 0
      assets/Texture/Spine/Role/Role1/猫猫头动画.atlas
  80. 6 0
      assets/Texture/Spine/Role/Role1/猫猫头动画.atlas.meta
  81. 360 0
      assets/Texture/Spine/Role/Role1/猫猫头动画.json
  82. 10 0
      assets/Texture/Spine/Role/Role1/猫猫头动画.json.meta
  83. 二進制
      assets/Texture/Spine/Role/Role1/猫猫头动画.png
  84. 38 0
      assets/Texture/Spine/Role/Role1/猫猫头动画.png.meta
  85. 13 0
      assets/Texture/Spine/Role/Role测试.meta
  86. 55 0
      assets/Texture/Spine/Role/Role测试/spine_112_01.atlas
  87. 6 0
      assets/Texture/Spine/Role/Role测试/spine_112_01.atlas.meta
  88. 534 0
      assets/Texture/Spine/Role/Role测试/spine_112_01.json
  89. 10 0
      assets/Texture/Spine/Role/Role测试/spine_112_01.json.meta
  90. 二進制
      assets/Texture/Spine/Role/Role测试/spine_112_01.png
  91. 38 0
      assets/Texture/Spine/Role/Role测试/spine_112_01.png.meta
  92. 13 0
      assets/Texture/Spine/金币.meta
  93. 27 0
      assets/Texture/Spine/金币/skeleton.atlas
  94. 6 0
      assets/Texture/Spine/金币/skeleton.atlas.meta
  95. 81 0
      assets/Texture/Spine/金币/skeleton.json
  96. 10 0
      assets/Texture/Spine/金币/skeleton.json.meta
  97. 二進制
      assets/Texture/Spine/金币/skeleton.png
  98. 38 0
      assets/Texture/Spine/金币/skeleton.png.meta
  99. 二進制
      assets/Texture/UI/brand.png
  100. 4 4
      assets/Texture/UI/brand.png.meta

二進制
Arts/a_策划文档/~$跳一跳文档-界面规则 .docx


二進制
Arts/a_策划文档/向上跳一跳文档-关卡规则.docx


二進制
Arts/a_策划文档/向上跳一跳文档-基础规则.docx


二進制
Arts/a_策划文档/向上跳一跳文档-界面规则 .docx


二進制
Arts/a_策划文档/策划文档.zip


二進制
Arts/金币/add.png


二進制
Arts/金币/background.jpg


二進制
Arts/金币/brand.png


二進制
Arts/金币/dark.png


二進制
Arts/金币/forest.png


二進制
Arts/金币/frame.png


二進制
Arts/金币/gold.png


二進制
Arts/金币/goldcoin.png


二進制
Arts/金币/line.png


二進制
Arts/金币/linethrough.png


二進制
Arts/金币/金币/金币/beimian.png


二進制
Arts/金币/金币/金币/cemian.png


二進制
Arts/金币/金币/金币/zhengmian.png


+ 3 - 9
assets/Editer/bgscroll.ts

@@ -33,27 +33,19 @@ export default class NewClass extends cc.Component {
         let content = this.node.getChildByName("view").getChildByName("content")
         let bgprefabs = this.node.getChildByName("view").getChildByName("bg1")
 
-
-
         for (let index = 1; index < 444; index++) {
             const url = "bg/bg" + index
             cc.resources.load(url, cc.SpriteFrame, (err, spriteframe) => {
                 if (err) {
                     return
                 }
-
                 let a = cc.instantiate(bgprefabs);
                 let sprite = a.getComponent(cc.Sprite);
-
                 a.parent = content
                 a.active = true
-
                 sprite.spriteFrame = spriteframe;
 
 
-
-
-
                 a.on('touchstart', () => {
                     if (window['selectNode']) {
                         let tempSprite = window['selectNode'].getComponent(cc.Sprite) as cc.Sprite
@@ -67,7 +59,7 @@ export default class NewClass extends cc.Component {
 
         let footstepcontent = footstep.getChildByName("view").getChildByName("content")
 
-        for (let index = 0; index < 444; index++) {
+        for (let index = 0; index < 3000; index++) {
             const url = "footstep/footstep" + index
             cc.resources.load(url, cc.Prefab, (err, Prefab) => {
                 if (err) {
@@ -81,6 +73,8 @@ export default class NewClass extends cc.Component {
 
                 a.on('touchstart', () => {
 
+                    console.log(1);
+                    
                     if (window['selectNode']) {
                         let temppp = cc.instantiate(Prefab)
                         temppp.parent = window['selectNode']

+ 22 - 12
assets/Editer/edLayout.ts

@@ -22,6 +22,8 @@
 // "BronX": 55,
 // "BronY": 55
 
+import footstepmove from "./footstepmove";
+
 const { ccclass, property } = cc._decorator;
 type ddddtype = {
     map: maptype[]
@@ -39,8 +41,7 @@ type maptype = {
 @ccclass
 export default class edLayout extends cc.Component {
 
-    @property(cc.EditBox)
-    daoruEditBox: cc.EditBox = null;
+ 
 
     Click: cc.Node = null;
 
@@ -190,8 +191,12 @@ export default class edLayout extends cc.Component {
             if (index == 0) {
                 background.on('touchstart', (event) => {
                     console.log(index);
-                    window['selectNode'] && (window['selectNode'].opacity = 255)
-
+                    if (window['selectNode']) {
+                        (window['selectNode'].opacity = 255)
+                        window['selectNode'].children.forEach(e => {
+                            e.color = cc.Color.WHITE
+                        })
+                    }
 
                     background.opacity = 180
                     window['selectNode'] = background
@@ -209,9 +214,19 @@ export default class edLayout extends cc.Component {
                 Label.getComponent(cc.Label).string = index.toString()
                 temp.on('touchstart', (event) => {
                     console.log(index);
-                    window['selectNode'] && (window['selectNode'].opacity = 255)
+
+
+                    if (window['selectNode']) {
+                        (window['selectNode'].opacity = 255)
+                        window['selectNode'].children.forEach(e => {
+                            e.color = cc.Color.WHITE
+                        })
+                    }
                     window['selectNode'] = temp
                     temp.opacity = 180
+                    temp.children.forEach(e => {
+                        e.color = cc.Color.RED
+                    })
                 })
             }
         }
@@ -319,17 +334,12 @@ export default class edLayout extends cc.Component {
                     a.setPosition(element['x'], element['y'])
                     a.setRotation(element['ro'])
                     a.setScale(element['sc'])
+                    a.addComponent(footstepmove)
 
-                });
 
+                });
             }
-
         }
-
- 
-
-
-
     }
 
 

File diff suppressed because it is too large
+ 224 - 497
assets/Scene/Editer.fire


File diff suppressed because it is too large
+ 1232 - 155
assets/Scene/Game.fire


File diff suppressed because it is too large
+ 391 - 241
assets/Scene/Hall.fire


+ 94 - 0
assets/Script/AudioManager.ts

@@ -0,0 +1,94 @@
+
+// import LocalData from "../Template/LocalData";
+
+import LocalData from "./LocalData";
+
+export default class AudioManager {
+    public static readonly instance: AudioManager = new AudioManager();
+    public static HALL_BG_MUSIC = "Audio/通用bgm";
+    public static Game_BG_MUSIC = "Audio/通用bgm";
+    public static BUTTON_EFFECT1 = "Audio/btn1";
+
+    public static eatJinbi = "Audio/吃金币音效";
+    public static 预发射音效 = "Audio/预发射音效";
+
+
+
+    public bgPath = null;
+    public playOnlyOnceAudioRecord: object = null;
+
+
+    constructor() {
+        this.UpdateVolume()
+    }
+    public UpdateVolume() {
+        if (LocalData.getInstance().getMusic()) {
+            cc.audioEngine.setMusicVolume(1)
+        } else {
+            cc.audioEngine.setMusicVolume(0)
+        }
+
+        if (LocalData.getInstance().getEffects()) {
+            cc.audioEngine.setEffectsVolume(1)
+        } else {
+            cc.audioEngine.setEffectsVolume(0)
+        }
+    }
+
+
+    public getSoundUrl(path: string): Promise<cc.AudioClip> {
+        return new Promise<cc.AudioClip>((re, rj) => {
+            cc.loader.loadRes(path, cc.AudioClip, (error: Error, resource: cc.AudioClip) => {
+                if (!error) {
+                    re(resource);
+                } else {
+                    re(null);
+                }
+            });
+        })
+    }
+    public playBg(path: string) {
+        cc.audioEngine.stopMusic();
+        (async () => {
+            let au = await this.getSoundUrl(path);
+            if (cc.isValid(au)) {
+                let audioId = cc.audioEngine.playMusic(au, true);
+            }
+        })();
+    }
+    public playEffect(effectName: string) {
+        (async () => {
+            let au = await this.getSoundUrl(effectName);
+            if (cc.isValid(au)) {
+                let audioId = cc.audioEngine.playEffect(au, false);
+            }
+        })();
+    }
+
+    public playGameBg() {
+        this.playBg(AudioManager.Game_BG_MUSIC);
+    }
+    public playHallBg() {
+        this.playBg(AudioManager.HALL_BG_MUSIC);
+    }
+
+    public playBtnEffect(effectType: number = 0) {
+        switch (effectType) {
+            case 0:
+                this.playEffect(AudioManager.BUTTON_EFFECT1);
+                break;
+            case 1:
+                break;
+            case 2:
+                break;
+            default:
+                break;
+        }
+    }
+
+
+    public static stopBg() {
+        cc.audioEngine.stopMusic();
+    }
+
+}

+ 10 - 0
assets/Script/AudioManager.ts.meta

@@ -0,0 +1,10 @@
+{
+  "ver": "1.1.0",
+  "uuid": "a636d4d3-74be-411d-8eac-d2b28551841c",
+  "importer": "typescript",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

+ 18 - 2
assets/Script/Canmera/CanmeraScrpts.ts

@@ -12,16 +12,32 @@ const { ccclass, property } = cc._decorator;
 export default class CanmeraScrpts extends cc.Component {
 
 
-    @property(cc.Node)
+
     Character: cc.Node = null;//人物节点
 
 
+    protected onLoad(): void {
+        let Mask = this.node.getChildByName("Mask")
+        Mask.active=true
+    }
+
 
 
     protected lateUpdate(dt: number): void {
-        this.node.setPosition(this.Character.position.x, this.Character.position.y + 400)
+        this?.node?.setPosition(this?.Character?.position.x, this?.Character?.position.y + 567)
     }
 
 
 
+    BronAni() {
+        let Mask = this.node.getChildByName("Mask")
+        cc.tween(Mask)
+            .to(0, { opacity: 255 })
+            .to(2, { opacity: 0 }, { easing: 'fadeOut' })
+            .call(() => {
+                Mask.destroy()
+            })
+            .start()
+    }
+
 }

+ 169 - 10
assets/Script/Character/Character.ts

@@ -5,24 +5,35 @@
 // Learn life-cycle callbacks:
 //  - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html
 
+import CanmeraScrpts from "../Canmera/CanmeraScrpts";
 import EventName from "../EventName/EventName";
 import { Global } from "../Global";
 import MyComponent from "../Template/MyComponent";
+import RewardMnr from "../Template/RewardMnr";
 import Parabola from "./Parabola";
 
+export enum SpineAnimationState {
+    Null = 'Null',
+    Idle = 'idle',
+    Xuli = 'ready',
+    Fly = 'jump',
+    Round = 'dowm'
+}
+
 const { ccclass, property } = cc._decorator;
 
 @ccclass
 export default class Character extends MyComponent {
 
 
-    //最高纪录
+
     @property(cc.RigidBody)
     CharacterRigidBody: cc.RigidBody = null;
-    @property(cc.Graphics)
-    graphic_line: cc.Graphics = null;
 
-    @property(Parabola)
+    @property(sp.Skeleton)
+    Spine: sp.Skeleton = null;
+
+
     Parabola: Parabola = null;
 
     //临时物理值============================================
@@ -40,9 +51,13 @@ export default class Character extends MyComponent {
     Jump_before_Data: cc.Vec2 = null;
     Jump_late_Data: cc.Vec2 = null;
 
+    FirstBornRoundFlag: boolean = true;
+
+
     onLoad() {
         super.onLoad()
         cc.director.getPhysicsManager().enabled = true;
+        cc.director.getCollisionManager().enabled = true;
     }
     onDestroy(): void {
         super.onDestroy()
@@ -50,11 +65,19 @@ export default class Character extends MyComponent {
     start() {
         this.regEvent(EventName.YaoGanMove, this.onTouchMove, this)
         this.regEvent(EventName.YaoGanEnd, this.onTouchEnd, this)
+        this.regEvent(EventName.YaoGanCancel, this.YaoGanCancel, this)
+        this.regEvent(EventName.ChangeRoleState, this.ChangeRoleState, this)
 
 
+        // cc.director.getPhysicsManager().debugDrawFlags = cc.PhysicsManager.DrawBits.e_aabbBit |
+        //     cc.PhysicsManager.DrawBits.e_jointBit |
+        //     cc.PhysicsManager.DrawBits.e_shapeBit
+        //     ;
 
 
 
+        //开启碰撞监听
+        this.CharacterRigidBody.enabledContactListener = true;
         this.UpPower = Global.UpPower
         this.Xscale = Global.Xscale
         this.Yscale = Global.Yscale
@@ -65,8 +88,30 @@ export default class Character extends MyComponent {
         this.JumpConstX = this.UpPower * this.Xscale
         this.JumpConstY = this.UpPower * this.Yscale
 
+
+        let ParabolaCom = cc.Canvas.instance.node.getChildByName("Parabola").getComponent(Parabola)
+        this.Parabola = ParabolaCom
+
     }
 
+    onBeginContact(contact, selfCollider: cc.PhysicsBoxCollider, otherCollider) {
+        if (selfCollider.tag == 1) {
+            cc.systemEvent.emit(EventName.ChangeRoleState, SpineAnimationState.Round);
+
+            if (this.FirstBornRoundFlag) {
+                this.FirstBornRoundFlag = false
+
+                cc.Camera.main.node.getComponent(CanmeraScrpts).BronAni()
+            }
+        }
+    }
+
+
+
+
+    YaoGanCancel() {
+        this.Parabola.clear()
+    }
     onTouchMove(dir: cc.Vec3, power: number) {
 
         // this.CharacterRigidBody.linearVelocity = cc.v2(dir.x * 0.3 * this.JumpConstX, dir.y * 0.3 * this.JumpConstY)
@@ -76,6 +121,17 @@ export default class Character extends MyComponent {
         }
 
 
+        //抛物线点是从人物的锚点开始的
+
+
+        let TempCount = 0
+
+        if (RewardMnr.getInstance().ParabolaCount > 0) {
+            TempCount = 15
+        } else {
+            TempCount = 5
+        }
+
         this.Parabola.clear()
 
         let Temp = cc.v2(dir.x * power * this.JumpConstX, dir.y * power * this.JumpConstY)
@@ -84,7 +140,8 @@ export default class Character extends MyComponent {
 
         const dt = 0.2;
 
-        for (let count = 1; count < 5/*5*/; count++) {
+
+        for (let count = 1; count < TempCount/*5*/; count++) {
             const time = dt * count;
             // s = v_x * t
             const dx = Temp.x * time;
@@ -97,24 +154,27 @@ export default class Character extends MyComponent {
             // if (targetY < START_POS.y) break;
             this.Parabola.circle(targetX, targetY);
         }
-        // this.graphic_line.fill()
-        // this.graphic_line.stroke()
-
     }
     onTouchEnd(dir: cc.Vec3, power: number) {
         // console.log('onTouchEnd-dir', dir);
         // console.log('onTouchEnd-power', power);
-
         if (!this.JumpOk()) {
             return
         }
 
         this.Parabola.clear()
 
-
+        RewardMnr.getInstance().useOnceParabola()
 
         this.schedule(this.sendHight.bind(this), 0.1, 9999999, 0.1)
 
+
+
+        if (dir.x >= 0) {
+            this.node.scaleX = Math.abs(this.node.scaleX)
+        } else {
+            this.node.scaleX = -Math.abs(this.node.scaleX)
+        }
         //跳跃
         this.CharacterRigidBody.linearVelocity = cc.v2(dir.x * power * this.JumpConstX, dir.y * power * this.JumpConstY)
     }
@@ -141,4 +201,103 @@ export default class Character extends MyComponent {
 
 
 
+    currentState: SpineAnimationState = SpineAnimationState.Idle;
+    changeState: SpineAnimationState;
+
+    ChangeRoleState(changeState: SpineAnimationState) {
+        this.changeState = changeState
+
+        switch (this.currentState) {
+            case SpineAnimationState.Idle:
+                switch (this.changeState) {
+                    case SpineAnimationState.Idle:
+                        break;
+                    case SpineAnimationState.Xuli:
+                        this.currentState = SpineAnimationState.Xuli;
+                        this.changeState = SpineAnimationState.Null;
+                        this.Spine.setAnimation(0, SpineAnimationState.Xuli, false);
+                        break;
+                    case SpineAnimationState.Fly:
+                        //cc.error('不可以 从站立直接转向空中');
+                        break;
+                    case SpineAnimationState.Round:
+                        //cc.error('不可以 从站立直接转向落地');
+                        break;
+                    default:
+                        break;
+                }
+                break;
+            case SpineAnimationState.Xuli:
+                switch (this.changeState) {
+                    case SpineAnimationState.Idle:
+                        this.currentState = SpineAnimationState.Idle;
+                        this.changeState = SpineAnimationState.Null;
+                        this.Spine.setAnimation(0, SpineAnimationState.Idle, true);
+                        break;
+                    case SpineAnimationState.Xuli:
+                        //cc.error('蓄力->蓄力');
+                        break;
+                    case SpineAnimationState.Fly:
+                        this.currentState = SpineAnimationState.Fly;
+                        this.changeState = SpineAnimationState.Null;
+                        this.Spine.setAnimation(0, SpineAnimationState.Fly, false);
+                        break;
+                    case SpineAnimationState.Round:
+                        //cc.error('不可以 从站立直接转向落地');
+                        break;
+                    default:
+                        break;
+                }
+                break;
+            case SpineAnimationState.Fly:
+                switch (this.changeState) {
+                    case SpineAnimationState.Idle:
+                        //cc.error('飞翔->站立');
+                        break;
+                    case SpineAnimationState.Xuli:
+                        //cc.error('飞翔->蓄力');
+                        break;
+                    case SpineAnimationState.Fly:
+                        //cc.error('飞翔->飞翔');
+                        break;
+                    case SpineAnimationState.Round:
+                        this.currentState = SpineAnimationState.Round;
+                        this.changeState = SpineAnimationState.Null;
+                        let RoundState = this.Spine.setAnimation(0, SpineAnimationState.Round, false);
+                        this.scheduleOnce(() => {
+                            cc.systemEvent.emit(EventName.ChangeRoleState, SpineAnimationState.Idle);
+                        }, RoundState.animationEnd)
+                        break;
+                    default:
+                        break;
+                }
+                break;
+            case SpineAnimationState.Round:
+                switch (this.changeState) {
+                    case SpineAnimationState.Idle:
+                        this.currentState = SpineAnimationState.Idle;
+                        this.changeState = SpineAnimationState.Null;
+                        this.Spine.setAnimation(0, SpineAnimationState.Idle, true);
+                        break;
+                    case SpineAnimationState.Xuli:
+                        //cc.error('落地->蓄力');
+                        break;
+                    case SpineAnimationState.Fly:
+                        //cc.error('落地->飞翔');
+                        break;
+                    case SpineAnimationState.Round:
+                        //cc.error('落地->落地');
+                        break;
+                    default:
+                        break;
+                }
+                break;
+
+            default:
+                break;
+        }
+
+    }
+
+
 }

+ 31 - 7
assets/Script/Character/GameTips.ts

@@ -16,8 +16,9 @@ export default class GameTips extends MyComponent {
     @property(cc.Label)
     Hight: cc.Label = null;
     @property(cc.Label)
-    Now: cc.Label = null;
-
+    Left: cc.Label = null;
+    @property(cc.Label)
+    Right: cc.Label = null;
 
     // LIFE-CYCLE CALLBACKS:
 
@@ -27,12 +28,14 @@ export default class GameTips extends MyComponent {
 
     start() {
         this.regEvent(EventName.Update_CurrentHight, this.Update_CurrentHight, this)
-        // this.regEvent(EventName.YaoGanEnd, this.YaoGanEnd, this)
+
         this.regEvent(EventName.YaoGanMove, this.YaoGanMove, this)
+
+
     }
 
     Update_CurrentHight(hightNum: number) {
-        this.Hight.string = `当前高度 ${hightNum.toString()} M`
+        this.Hight.string = `当   度 ${hightNum.toString()} M`
     }
     // YaoGanEnd(dir: cc.Vec3, power: number) {
     //     // const result = parseFloat((power * 100).toFixed(2));
@@ -40,8 +43,12 @@ export default class GameTips extends MyComponent {
     // }
     YaoGanMove(dir: cc.Vec3, power: number) {
 
-        const result = parseFloat((power * 100).toFixed(2));
-        this.Now.string = `${this.GetAngle(dir)}° , ${result}%`
+        const result = parseFloat((power * 100).toFixed(0));
+        this.Left.string = `角度 ${this.GetAngle(dir)}°`
+        this.Right.string = `力量 ${this.FixLength(result)}%`
+
+
+
     }
 
 
@@ -50,7 +57,24 @@ export default class GameTips extends MyComponent {
         var angle = dir.signAngle(cc.v2(0, 1));
 
         //将弧度转换为欧拉角
-        return (angle / Math.PI * 180).toFixed(0);
+        // (angle / Math.PI * 180).toFixed(0);
+        return this.FixLength((angle / Math.PI * 180).toFixed(0).toString())
+        // let numStr = (angle / Math.PI * 180).toFixed(0).toString();
+        // let spacesToAdd = 3 - numStr.length;
+        // let paddedStr = "";
+        // for (let i = 0; i < spacesToAdd; i++) {
+        //     paddedStr += " ";
+        // }
+        // return paddedStr + numStr;
+    }
+
+    FixLength(numStr) {
+        let spacesToAdd = 4 - numStr.length;
+        let paddedStr = "";
+        for (let i = 0; i < spacesToAdd; i++) {
+            paddedStr += " ";
+        }
+        return paddedStr + numStr;
     }
 
     onDestroy(): void {

+ 59 - 28
assets/Script/Character/YaoGan.ts

@@ -1,4 +1,7 @@
+import AudioManager from "../AudioManager";
 import EventName from "../EventName/EventName";
+import { Global } from "../Global";
+import { SpineAnimationState } from "./Character";
 
 const { ccclass, property } = cc._decorator;
 
@@ -16,7 +19,7 @@ export default class YaoGan extends cc.Component {
 
 
 
-    max_R: number = 92//25;//摇杆移动的最大半径
+    max_R: number = 112//25;//摇杆移动的最大半径
 
 
 
@@ -31,6 +34,10 @@ export default class YaoGan extends cc.Component {
     CurrentPower: number = null
 
 
+    //当前摇杆状态 false为摇杆取消 true为摇杆中
+    CurrentYaoGanState: boolean = false
+
+
 
     onLoad() {
         //绑定事件
@@ -41,29 +48,13 @@ export default class YaoGan extends cc.Component {
 
 
 
-        // this.scheduleOnce(() => {
-        //     cc.Camera.main.node.on(cc.Node.EventType.TOUCH_START, this.CameraMove, this);//当手指在背景上移动时触发move事件
-        //     cc.Camera.main.node.on(cc.Node.EventType.TOUCH_MOVE, this.CameraMove, this);//当手指在背景上移动时触发move事件
-        //     cc.Camera.main.node.on(cc.Node.EventType.TOUCH_END, this.CameraEnd, this);//当手指在背景上移动时触发move事件
-        //     cc.Camera.main.node.on(cc.Node.EventType.TOUCH_CANCEL, this.CameraEnd, this);//当手指在背景上移动时触发move事件
-        // }, 0.2)
-
-        setTimeout(() => {
-            cc.Camera.main.node.on(cc.Node.EventType.TOUCH_START, this.CameraMove, this);//当手指在背景上移动时触发move事件
-        }, 200);
     }
 
-    update(dt: number): void {
-        // let pp = cc.Camera.main.getScreenToWorldPoint(this.posss)
-        // let pp1 = this.node.parent.convertToNodeSpaceAR(pp)
-        // this.node.setPosition(pp1)
+    protected start(): void {
+        cc.Camera.main.node.on(cc.Node.EventType.TOUCH_START, this.CameraMove, this);//当手指在背景上移动时触发move事件
+        cc.Camera.main.node.on(cc.Node.EventType.TOUCH_END, this.resetYaogan, this);//当手指在背景上移动时触发move事件
     }
 
-    CameraEnd(event: cc.Event.EventTouch) {
-        // this.node.active = false
-    }
-
-
     posss: cc.Vec2
 
     CameraMove(event: cc.Event.EventTouch) {
@@ -72,12 +63,9 @@ export default class YaoGan extends cc.Component {
         let pp1 = this.node.parent.convertToNodeSpaceAR(pp)
         this.node.setPosition(pp1)
         this.node.opacity = 255
-
-
     }
 
     move(event: cc.Event.EventTouch) {//负责移动摇杆 手指移动时调用
-        console.log('2');
         if (this.is_forbidden == false) {//如果没有禁用摇杆
 
             // event.stopPropagation()
@@ -86,6 +74,9 @@ export default class YaoGan extends cc.Component {
             let pos = cc.v2(event.getLocationX() + Camera.x, event.getLocationY() + Camera.y);//获取触点的坐标
             let pos_0 = this.parent.convertToNodeSpaceAR(pos);//将一个点转换到节点 (局部) 空间坐标系,这个坐标系以锚点为原点。
 
+            pos_0.x = pos_0.x / Global.YaoGanSpeed
+            pos_0.y = pos_0.y / Global.YaoGanSpeed
+
             if (pos_0.mag() < this.max_R) {//如果触点长度小于我们规定好的最大半径
                 this.joystick.x = pos_0.x;//摇杆的坐标为触点坐标
                 this.joystick.y = pos_0.y;
@@ -100,18 +91,58 @@ export default class YaoGan extends cc.Component {
                 this.joystick.y = y;
             }
 
-            this.CurrentDir = pos_0.normalizeSelf()
-            this.CurrentPower = (cc.v2(this.joystick.x, this.joystick.y).mag() / this.max_R)
-            cc.systemEvent.emit(EventName.YaoGanMove, this.CurrentDir, this.CurrentPower);
+
+            if (pos_0.y > 0) {
+                this.bg.color = cc.Color.RED
+                cc.systemEvent.emit(EventName.YaoGanCancel);
+                this.CurrentYaoGanState = false
+
+                cc.systemEvent.emit(EventName.ChangeRoleState, SpineAnimationState.Idle);
+            } else {
+
+
+                if (this.PlayEffectOnce) {
+                    this.PlayEffectOnce = false
+                    AudioManager.instance.playEffect(AudioManager.预发射音效)
+                }
+
+
+                this.bg.color = cc.Color.WHITE
+                this.CurrentYaoGanState = true
+                //方向取反
+                this.CurrentDir = pos_0.normalizeSelf()
+                this.CurrentDir.x = -this.CurrentDir.x
+                this.CurrentDir.y = -this.CurrentDir.y
+                this.CurrentPower = (cc.v2(this.joystick.x, this.joystick.y).mag() / this.max_R)
+                cc.systemEvent.emit(EventName.YaoGanMove, this.CurrentDir, this.CurrentPower);
+
+                cc.systemEvent.emit(EventName.ChangeRoleState, SpineAnimationState.Xuli);
+            }
         }
     }
 
+    PlayEffectOnce: boolean = true
+
     finish() {//摇杆弹回原位置
-        cc.systemEvent.emit(EventName.YaoGanEnd, this.CurrentDir, this.CurrentPower);
+
+        if (this.CurrentYaoGanState) {
+            cc.systemEvent.emit(EventName.YaoGanEnd, this.CurrentDir, this.CurrentPower);
+            cc.systemEvent.emit(EventName.ChangeRoleState, SpineAnimationState.Fly);
+        }
+        this.resetYaogan()
+    }
+
+    resetYaogan() {
+
+        //恢复蓄力音效
+        this.PlayEffectOnce = true
+
+
+
         //摇杆坐标和移动向量都为(0,0)
         this.joystick.position = cc.v3(0, 0);
         this.node.opacity = 0
-        // this.node.setPosition(999, 0)
+
     }
 
 }

+ 13 - 0
assets/Script/CommonUI.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.3",
+  "uuid": "5876792f-ff32-4c37-a6de-9f99fedb4daa",
+  "importer": "folder",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

+ 65 - 0
assets/Script/CommonUI/Gold.ts

@@ -0,0 +1,65 @@
+// Learn TypeScript:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/typescript.html
+// Learn Attribute:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/reference/attributes.html
+// Learn life-cycle callbacks:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html
+
+import EventName, { PopType } from "../EventName/EventName";
+import LocalData from "../LocalData";
+import MyComponent from "../Template/MyComponent";
+
+const { ccclass, property } = cc._decorator;
+
+@ccclass
+export default class Gold extends MyComponent {
+
+    Label: cc.Label = null
+
+    onLoad(): void {
+        this.regEvent(EventName.changeGold, this.UpdataGold, this)
+    }
+    start() {
+        let add = this.node.getChildByName("add")
+        this.Label = this.node.getChildByName("Label").getComponent(cc.Label)
+
+
+        switch (cc.director.getScene().name) {
+            case 'Game':
+                add.active = false
+                break;
+            case 'Hall':
+                add.active = true
+                break;
+            default:
+                break;
+        }
+        this.Label.string = LocalData.getInstance().getGold().toString()
+    }
+
+    UpdataGold() {
+        this.Label.string = LocalData.getInstance().getGold().toString()
+    }
+
+
+    ClickGold() {
+        cc.log('ClickGold')
+
+
+        //提示看广告拿金币
+        let temp: PopType = new PopType()
+        temp.string = '看广告拿金币'
+        temp.Title = '提示'
+        temp.OK = () => {
+            this.OpenAD()
+        }
+        temp.Fail = () => {
+
+        }
+
+        this.Pop(temp)
+
+
+    }
+    // update (dt) {}
+}

+ 10 - 0
assets/Script/CommonUI/Gold.ts.meta

@@ -0,0 +1,10 @@
+{
+  "ver": "1.1.0",
+  "uuid": "83960f7b-4fec-46e8-a0db-1a468f478a0e",
+  "importer": "typescript",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

+ 10 - 0
assets/Script/EventName/EventName.ts

@@ -1,11 +1,16 @@
 
 export default class EventName {
 
+    //提示
+    static Tips: string = 'Tips'
+
 
     //遥感移动
     static YaoGanMove: string = 'YaoGanMove'
     //遥感结束
     static YaoGanEnd: string = 'YaoGanEnd'
+    //遥感取消
+    static YaoGanCancel: string = 'YaoGanCancel'
 
 
     //当前高度
@@ -16,6 +21,11 @@ export default class EventName {
     //修改最高纪录
     static changeMaxRecord: string = 'changeMaxRecord'
 
+
+
+    //修改人物状态
+    static ChangeRoleState: string = 'ChangeRoleState'
+
 }
 
 

+ 24 - 0
assets/Script/Game.ts

@@ -0,0 +1,24 @@
+// Learn TypeScript:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/typescript.html
+// Learn Attribute:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/reference/attributes.html
+// Learn life-cycle callbacks:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html
+
+import AudioManager from "./AudioManager";
+
+const {ccclass, property} = cc._decorator;
+
+@ccclass
+export default class Game extends cc.Component {
+
+ 
+
+    // onLoad () {}
+
+    start () {
+        AudioManager.instance.playGameBg()
+    }
+
+    // update (dt) {}
+}

+ 10 - 0
assets/Script/Game.ts.meta

@@ -0,0 +1,10 @@
+{
+  "ver": "1.1.0",
+  "uuid": "57e1e3d9-1a4a-4a1b-ab11-51bdca5c088e",
+  "importer": "typescript",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

+ 13 - 0
assets/Script/GameProp.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.3",
+  "uuid": "d5a31d7a-7935-4f40-82d4-611caf39ef87",
+  "importer": "folder",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

+ 56 - 0
assets/Script/GameProp/GameProp1000.ts

@@ -0,0 +1,56 @@
+// Learn TypeScript:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/typescript.html
+// Learn Attribute:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/reference/attributes.html
+// Learn life-cycle callbacks:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html
+
+import Character from "../Character/Character";
+import EventName from "../EventName/EventName";
+import RewardMnr from "../Template/RewardMnr";
+
+const { ccclass, property } = cc._decorator;
+
+@ccclass
+export default class GameProp1000 extends cc.Component {
+
+    // onLoad () {}
+    //触发几次获得奖励
+    triggerCount = 3
+
+    //完事之后自己是否消失
+    IsDeleteMe = true
+
+
+    protected onEnable(): void {
+        this.node.active = RewardMnr.getInstance().isEnable(this.getName())
+    }
+
+
+    onCollisionEnter(other: cc.CircleCollider, self: cc.BoxCollider) {
+        if (this.triggerCount <= 0) {
+            console.error('失效了');
+            this.getComponent(cc.BoxCollider).enabled = false
+            return
+        }
+
+
+        //如果碰撞了玩家
+        if (other.node.getComponent(Character)) {
+            this.triggerCount--
+            if (this.triggerCount <= 0 && this.IsDeleteMe) {
+                this.Reaward()
+            }
+        }
+    }
+
+    getName(): string {
+        return this.node.parent.name + this.name + this.node.getPosition().x + this.node.getPosition().y
+    }
+
+    //奖励的方法
+    Reaward() {
+        RewardMnr.getInstance().addParabola(this.getName(), 3)
+        this.node.destroy()
+    }
+} 

+ 10 - 0
assets/Script/GameProp/GameProp1000.ts.meta

@@ -0,0 +1,10 @@
+{
+  "ver": "1.1.0",
+  "uuid": "e2791ceb-afbe-40db-90f5-3b53770bd82b",
+  "importer": "typescript",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

+ 72 - 0
assets/Script/GameProp/GameProp1001.ts

@@ -0,0 +1,72 @@
+// Learn TypeScript:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/typescript.html
+// Learn Attribute:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/reference/attributes.html
+// Learn life-cycle callbacks:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html
+
+import AudioManager from "../AudioManager";
+import Character from "../Character/Character";
+import EventName from "../EventName/EventName";
+import RewardMnr from "../Template/RewardMnr";
+
+const { ccclass, property } = cc._decorator;
+
+@ccclass
+export default class GameProp1001 extends cc.Component {
+
+    // onLoad () {}
+    //触发几次获得奖励
+    triggerCount = 1
+
+    //完事之后自己是否消失
+    IsDeleteMe = true
+
+    protected onEnable(): void {
+        this.node.active = RewardMnr.getInstance().isEnable(this.getName())
+    }
+
+    onCollisionEnter(other: cc.CircleCollider, self: cc.BoxCollider) {
+       
+        if (this.triggerCount <= 0) {
+            console.error('失效了');
+            this.getComponent(cc.BoxCollider).enabled = false
+            return
+        }
+
+        //如果碰撞了玩家
+        if (other.node.getComponent(Character)) {
+            this.triggerCount--
+            if (this.triggerCount <= 0 && this.IsDeleteMe) {
+                this.Reaward()
+            }
+        }
+    }
+
+    getName(): string {
+        return this.node.parent.name + this.name + this.node.getPosition().x + this.node.getPosition().y
+    }
+
+    //奖励的方法
+    Reaward() {
+
+        AudioManager.instance.playEffect(AudioManager.eatJinbi)
+
+        let Gold = cc.Camera.main.node.getChildByName("Gold")
+
+        let WordPos = Gold.convertToWorldSpaceAR(cc.v3(0, 0, 0))
+
+        let NodePos = this.node.parent.convertToNodeSpaceAR(WordPos)
+
+        cc.tween(this.node)
+            .to(0.4, { position: cc.v3(NodePos, 0) })
+            .call(() => {
+                RewardMnr.getInstance().addGold(this.getName(), 1)
+                this.node.destroy()
+            })
+            .start()
+
+
+
+    }
+} 

+ 10 - 0
assets/Script/GameProp/GameProp1001.ts.meta

@@ -0,0 +1,10 @@
+{
+  "ver": "1.1.0",
+  "uuid": "3855bcf4-b390-4647-a349-b9cd74070a57",
+  "importer": "typescript",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

+ 3 - 0
assets/Script/Global.ts

@@ -46,5 +46,8 @@ export class Global {
     static G: number = -320;
 
 
+    //摇杆灵敏度缩放
+    static YaoGanSpeed: number = 2;
+
     //障碍物的碰撞盒的摩檫力 基础定为 0.5
 }

+ 43 - 20
assets/Script/Hall.ts

@@ -1,3 +1,5 @@
+import AudioManager from "./AudioManager";
+import LoadManager from "./LoadManager";
 import LocalData from "./LocalData";
 
 const { ccclass, property } = cc._decorator;
@@ -8,53 +10,74 @@ export default class Hall extends cc.Component {
     //最高纪录
     @property(cc.Label)
     MaxRecordLabel: cc.Label = null;
-    //金币
-    @property(cc.Label)
-    GoldLabel: cc.Label = null;
+    // //金币
+    // @property(cc.Label)
+    // GoldLabel: cc.Label = null;
+
+    @property(cc.Node)
+    UIParentNode: cc.Node = null;
 
 
     start() {
         this.init()
+
+        AudioManager.instance.playHallBg()
     }
 
     init() {
 
         // LocalData.getInstance().setGold(99, '+')
         // LocalData.getInstance().setMaxRecord(99, '=')
-        this.GoldLabel.string = LocalData.getInstance().getGold().toString()
+        // this.GoldLabel.string = LocalData.getInstance().getGold().toString()
         this.MaxRecordLabel.string = LocalData.getInstance().getMaxRecord().toString()
     }
 
     ClickSet() {
-        cc.log('ClickSet')
+        cc.log('ClickSet');
+
+        (async () => {
+            const url = "Pop/Set"
+            let Prefab = await LoadManager.instance.LoadAssets<cc.Prefab>(url);
+            if (cc.isValid(Prefab)) {
+                let a = cc.instantiate(Prefab);
+                // a.setPosition(0,0)
+                this.UIParentNode.addChild(a)
+
+                this.scheduleOnce(() => { a.setPosition(cc.v2(0, 0)) }, 0)
+
+            }
+        })();
+
+
     }
     ClickFuLi() {
-        cc.log('ClickFuLi')
+        cc.log('ClickFuLi');
     }
     ClickMeiRiJiangLi() {
-        cc.log('ClickMeiRiJiangLi')
+        cc.log('ClickMeiRiJiangLi');
     }
     ClickRank() {
-        cc.log('ClickRank')
+        cc.log('ClickRank');
     }
     ClickShop() {
-        cc.log('ClickShop')
-        const url = "Pop/Shop"
-        cc.resources.load(url, cc.Prefab, (err, Prefab) => {
-            if (err) {
-                return
+        cc.log('ClickShop');
+        (async () => {
+            const url = "Pop/Shop"
+            let Prefab = await LoadManager.instance.LoadAssets<cc.Prefab>(url);
+            if (cc.isValid(Prefab)) {
+                let a = cc.instantiate(Prefab);
+                this.UIParentNode.addChild(a)
+                this.scheduleOnce(() => { a.setPosition(cc.v2(0, 0)) }, 0)
             }
-            let a = cc.instantiate(Prefab);
-            this.node.addChild(a)
-        });
+        })();
     }
     ClickStart() {
-        cc.log('ClickStart')
-
+        cc.log('ClickStart');
         cc.director.loadScene("Game")
     }
-    ClickGold() {
-        cc.log('ClickGold')
+
+    ClickBjq() {
+        cc.log('ClickGold');
         cc.director.loadScene("Editer")
     }
 }

+ 22 - 0
assets/Script/LoadManager.ts

@@ -0,0 +1,22 @@
+
+// import LocalData from "../Template/LocalData";
+
+ 
+
+export default class LoadManager {
+    public static readonly instance: LoadManager = new LoadManager();
+
+ 
+    LoadAssets<T extends cc.Asset>(path: string): Promise<T> {
+        return new Promise((resolve, reject) => {
+            cc.resources.load(path, (err, Asset: T) => {
+                if (err) {
+                    cc.error(`加载${path}失败`)
+                    reject(err)
+                    return
+                }
+                resolve(Asset)
+            })
+        })
+    }
+}

+ 10 - 0
assets/Script/LoadManager.ts.meta

@@ -0,0 +1,10 @@
+{
+  "ver": "1.1.0",
+  "uuid": "1acef294-a5ae-40a1-b366-2ebc495a48da",
+  "importer": "typescript",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

+ 23 - 0
assets/Script/LocalData.ts

@@ -88,6 +88,29 @@ export default class LocalData {
         return this.$useParabolaSkin;
     }
 
+
+    /////////////////////////////////////////////设置
+
+    private $Music: boolean = true;
+
+    private $Effects: boolean = true;
+
+    public setMusic(Temp: boolean) {
+        this.$Music = Temp
+        this.save();
+    }
+    public getMusic() {
+        return this.$Music;
+    }
+    public setEffects(Temp: boolean) {
+        this.$Effects = Temp
+        this.save();
+    }
+    public getEffects() {
+        return this.$Effects;
+    }
+
+
     //保存玩家本地数据
     public save() {
         let data: any = {};

+ 37 - 35
assets/Script/Map/MyMap.ts

@@ -5,6 +5,11 @@
 // Learn life-cycle callbacks:
 //  - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html
 
+import CanmeraScrpts from "../Canmera/CanmeraScrpts";
+import LoadManager from "../LoadManager";
+import LocalData from "../LocalData";
+import RewardMnr from "../Template/RewardMnr";
+
 
 
 const { ccclass, property } = cc._decorator;
@@ -71,18 +76,11 @@ export default class MyMap extends cc.Component {
 
     protected start(): void {
         this.Load('3')
+        RewardMnr.getInstance().Reset()
     }
 
     public Load(level: string) {
         cc.resources.load("json/map" + level, cc.JsonAsset, this.LoadDone.bind(this));
-        this.schedule(() => {
-            let wordPos = this.CharacterNode.parent.convertToWorldSpaceAR(this.CharacterNode.position)
-            let mapPos = this.node.convertToNodeSpaceAR(wordPos)
-
-            // console.log(mapPos);
-
-            this.Myindex(mapPos)
-        }, this.UpMyindexInterval)
     }
 
     private LoadDone(error: Error, resource: cc.JsonAsset) {
@@ -160,23 +158,45 @@ export default class MyMap extends cc.Component {
         }
 
 
+            
+        this.InitCharacterPrefab()
 
-        let wordpos = this.node.getChildByName('bg' + this.MapjsonData['BronID']).convertToWorldSpaceAR(
-            cc.v2(this.MapjsonData['BronX'], this.MapjsonData['BronY']))
+        return
+        console.log(this.MapPosData);
+    }
 
-        // []}],"mapX":3,"mapY":3,"BronID":0,"BronX":55,"BronY":55}
 
-        this.CharacterNode.setPosition(this.CharacterNode.parent.convertToNodeSpaceAR(wordpos))
+    //初始化人物的预制体
+    InitCharacterPrefab() {
+        (async () => {
+            let RoleSkin = LocalData.getInstance().getCurrentCharacterSkin();
+            let Prefab = await LoadManager.instance.LoadAssets<cc.Prefab>('Role/Role' + RoleSkin);
+            if (cc.isValid(Prefab)) {
+                let PrefabNode = cc.instantiate(Prefab)
 
+                cc.Canvas.instance.node.addChild(PrefabNode)
+                let zindex = cc.Canvas.instance.node.getChildByName("Parabola").getSiblingIndex()
 
+                PrefabNode.setSiblingIndex(zindex + 1)
 
-        return
+                cc.Camera.main.node.getComponent(CanmeraScrpts).Character = PrefabNode
 
+                this.CharacterNode = PrefabNode
 
-        console.log(this.MapPosData);
-    }
+                let wordpos = this.node.getChildByName('bg' + this.MapjsonData['BronID']).convertToWorldSpaceAR(
+                    cc.v2(this.MapjsonData['BronX'], this.MapjsonData['BronY']))
+                this.CharacterNode.setPosition(this.CharacterNode.parent.convertToNodeSpaceAR(wordpos))
+                this.schedule(() => {
+                    let wordPos = this.CharacterNode.parent.convertToWorldSpaceAR(this.CharacterNode.position)
+                    let mapPos = this.node.convertToNodeSpaceAR(wordPos)
+                    this.Myindex(mapPos)
+                }, this.UpMyindexInterval)
+            }
+        })();
 
 
+    }
+
     Myindex(target: cc.Vec3) {
         let SceneSize = cc.v2(750, 1334)
         let halfX = SceneSize.x / 2
@@ -194,7 +214,7 @@ export default class MyMap extends cc.Component {
 
                 this.CurrentMapPosData = e
 
-                console.log('ID  x  y', e.Id, e.index_x, e.index_y);
+                // console.log('ID  x  y', e.Id, e.index_x, e.index_y);
                 iscross = false
                 break;
             }
@@ -210,12 +230,6 @@ export default class MyMap extends cc.Component {
     总共生成的地图数组 = []
 
     UpdateMap() {
-        // for (let index = 0; index < this.NeedUpdataIndexData.length; index++) {
-        //     const element = this.NeedUpdataIndexData[index];
-        //     if (element.x == this.CurrentMapPosData.index_x && element.y == this.CurrentMapPosData.index_y) {
-        //     }
-        // }
-
         //当前我在的地图下标
         this.CurrentMapPosData.index_x
         this.CurrentMapPosData.index_y
@@ -280,18 +294,6 @@ export default class MyMap extends cc.Component {
         }
 
 
-
-        // const array1 = [1, 2, 3, 4];
-        // const array2 = [3, 4, 5, 6];
-
-        // const differentElements = array1.filter(item => !array2.includes(item)).concat(
-        //     array2.filter(item => !array1.includes(item))
-        // );
-
-        // console.log(differentElements);
-
-
-
         for (let index = 0; index < this.总共生成的地图数组.length; index++) {
             const MapId = this.总共生成的地图数组[index];
             const SubMap = this.getSubMapDataByID(MapId)
@@ -353,7 +355,7 @@ export default class MyMap extends cc.Component {
                 }
                 let SubPrefab = cc.instantiate(Prefab)
                 SubPrefab.setPosition(fs.x, fs.y)
-                SubPrefab.angle = fs.ro
+                SubPrefab.angle = -fs.ro
                 SubPrefab.setScale(fs.sc)
                 SubPrefab.active = true
                 this.node.getChildByName('bg' + SubMap.Id).addChild(SubPrefab)

+ 13 - 0
assets/Script/Pop.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.3",
+  "uuid": "011515d8-8bba-4c39-bef4-a9b3ae61e577",
+  "importer": "folder",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

+ 57 - 0
assets/Script/Pop/Set.ts

@@ -0,0 +1,57 @@
+// Learn TypeScript:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/typescript.html
+// Learn Attribute:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/reference/attributes.html
+// Learn life-cycle callbacks:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html
+
+import AudioManager from "../AudioManager";
+import EventName from "../EventName/EventName";
+import LocalData from "../LocalData";
+import MyComponent from "../Template/MyComponent";
+
+const { ccclass, property } = cc._decorator;
+
+@ccclass
+export default class Set extends MyComponent {
+
+    @property(cc.Sprite)
+    Ms: cc.Sprite = null;
+    @property(cc.Sprite)
+    Ef: cc.Sprite = null;
+
+    @property(cc.SpriteFrame)
+    Open: cc.SpriteFrame = null
+
+    @property(cc.SpriteFrame)
+    Close: cc.SpriteFrame = null
+
+    onEnable(): void {
+        this.initBtn()
+    }
+
+
+    ClickMusic() {
+        //音乐
+        LocalData.getInstance().setMusic(!LocalData.getInstance().getMusic())
+        this.initBtn()
+    }
+    ClickSoundEffects() {
+        //音效
+        LocalData.getInstance().setEffects(!LocalData.getInstance().getEffects())
+        this.initBtn()
+    }
+
+    problemBtn() {
+        console.log('问题反馈');
+    }
+
+
+    initBtn() {
+        this.Ms.getComponent(cc.Sprite).spriteFrame = LocalData.getInstance().getMusic() ? this.Open : this.Close
+        this.Ef.getComponent(cc.Sprite).spriteFrame = LocalData.getInstance().getEffects() ? this.Open : this.Close
+        AudioManager.instance.UpdateVolume()
+    }
+
+
+}

+ 10 - 0
assets/Script/Pop/Set.ts.meta

@@ -0,0 +1,10 @@
+{
+  "ver": "1.1.0",
+  "uuid": "7f394ece-32e2-48d9-a206-db47bfb18057",
+  "importer": "typescript",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

+ 38 - 0
assets/Script/Pop/Tips.ts

@@ -0,0 +1,38 @@
+// Learn TypeScript:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/typescript.html
+// Learn Attribute:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/reference/attributes.html
+// Learn life-cycle callbacks:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html
+
+import EventName from "../EventName/EventName";
+import MyComponent from "../Template/MyComponent";
+
+const { ccclass, property } = cc._decorator;
+
+@ccclass
+export default class Tips extends MyComponent {
+
+    @property(cc.Label)
+    label: cc.Label = null;
+
+
+    onLoad(): void {
+        this.node.opacity = 0
+        this.regEvent(EventName.Tips, this.Tips, this)
+    }
+
+    Tips(str: string) {
+        this.runAnima()
+        this.label.string = str
+    }
+
+    runAnima() {
+        this.node.opacity = 255
+        cc.tween(this.node)
+            .to(0.5, { opacity: 255 })
+            .delay(1)
+            .to(0.5, { opacity: 0 })
+            .start()
+    }
+}

+ 10 - 0
assets/Script/Pop/Tips.ts.meta

@@ -0,0 +1,10 @@
+{
+  "ver": "1.1.0",
+  "uuid": "ef8b3985-82a5-4f6a-9d38-47bed6ab529d",
+  "importer": "typescript",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

+ 10 - 0
assets/Script/Template/MyComponent.ts

@@ -16,6 +16,7 @@ export default class MyComponent extends cc.Component {
     onLoad() {
         // super.onLoad();
         this.devicesFit();
+        this.ClickAnyClose()
     }
     //注册事件
     regEvent(type, callback, target = null, once = null) {
@@ -85,4 +86,13 @@ export default class MyComponent extends cc.Component {
             })
         });
     }
+
+
+    ClickAnyClose() {
+        let Mask = this.node.getChildByName("Mask")
+
+        Mask?.on('touchstart', () => {
+            this.node.destroy()
+        })
+    }
 }

+ 72 - 0
assets/Script/Template/RewardMnr.ts

@@ -0,0 +1,72 @@
+// Learn TypeScript:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/typescript.html
+// Learn Attribute:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/reference/attributes.html
+// Learn life-cycle callbacks:
+//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html
+
+import EventName from "../EventName/EventName";
+import LocalData from "../LocalData";
+
+
+export default class RewardMnr {
+    private static _instance: RewardMnr = null;
+    public static getInstance() {
+        if (!this._instance) {
+            this._instance = new RewardMnr();
+        }
+        return this._instance;
+    }
+
+
+
+    //还原
+    Reset() {
+        this.HasPropName = []
+    }
+
+    HasPropName: string[] = []
+
+
+    ParabolaCount = 0
+
+
+    //添加辅助线次数
+    addParabola(name: string, Count: number) {
+        if (!this.HasPropName.includes(name)) {
+            this.HasPropName.push(name)
+            this.ParabolaCount += Count
+            cc.systemEvent.emit(EventName.Tips, `您获得了 ${Count} 次完整辅助线机会`)
+        }
+    }
+
+
+    addGold(name: string, Count: number) {
+        if (!this.HasPropName.includes(name)) {
+            this.HasPropName.push(name)
+
+            LocalData.getInstance().setGold(Count, '+')
+
+            cc.systemEvent.emit(EventName.Tips, `您获得了 ${Count} 枚金币`)
+        }
+    }
+
+
+
+    isEnable(name: string) {
+        if (!this.HasPropName.includes(name)) {
+            return true
+        }
+        return false
+    }
+
+
+    useOnceParabola() {
+        if (this.ParabolaCount > 0) {
+            this.ParabolaCount--
+        }
+    }
+
+
+    // update (dt) {}
+}

+ 10 - 0
assets/Script/Template/RewardMnr.ts.meta

@@ -0,0 +1,10 @@
+{
+  "ver": "1.1.0",
+  "uuid": "34845946-5339-44a9-812d-814d537b91f4",
+  "importer": "typescript",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

+ 13 - 0
assets/Texture/GameProp.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.3",
+  "uuid": "5ab7ce4e-c573-404e-9d79-0bdaf8bf389c",
+  "importer": "folder",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

二進制
assets/Texture/Pop/FX.png


+ 38 - 0
assets/Texture/Pop/FX.png.meta

@@ -0,0 +1,38 @@
+{
+  "ver": "2.3.7",
+  "uuid": "72275b09-c105-4e70-b0b4-f896f28b2d5f",
+  "importer": "texture",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 164,
+  "height": 40,
+  "platformSettings": {},
+  "subMetas": {
+    "FX": {
+      "ver": "1.0.6",
+      "uuid": "9a39962d-30af-48b1-ab74-a43f2f17f190",
+      "importer": "sprite-frame",
+      "rawTextureUuid": "72275b09-c105-4e70-b0b4-f896f28b2d5f",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 164,
+      "height": 40,
+      "rawWidth": 164,
+      "rawHeight": 40,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

二進制
assets/Texture/Pop/click.png


+ 38 - 0
assets/Texture/Pop/click.png.meta

@@ -0,0 +1,38 @@
+{
+  "ver": "2.3.7",
+  "uuid": "64367430-6308-4561-975a-b7559462659d",
+  "importer": "texture",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 338,
+  "height": 59,
+  "platformSettings": {},
+  "subMetas": {
+    "click": {
+      "ver": "1.0.6",
+      "uuid": "800dbd0e-70e9-4c04-b88f-c0b965afa09a",
+      "importer": "sprite-frame",
+      "rawTextureUuid": "64367430-6308-4561-975a-b7559462659d",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 338,
+      "height": 59,
+      "rawWidth": 338,
+      "rawHeight": 59,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

二進制
assets/Texture/Pop/music.png


+ 38 - 0
assets/Texture/Pop/music.png.meta

@@ -0,0 +1,38 @@
+{
+  "ver": "2.3.7",
+  "uuid": "82db4269-3c41-49f6-9eb9-bab24213f199",
+  "importer": "texture",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 164,
+  "height": 40,
+  "platformSettings": {},
+  "subMetas": {
+    "music": {
+      "ver": "1.0.6",
+      "uuid": "3381f50d-effe-4d27-9012-6de79023be2d",
+      "importer": "sprite-frame",
+      "rawTextureUuid": "82db4269-3c41-49f6-9eb9-bab24213f199",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 164,
+      "height": 40,
+      "rawWidth": 164,
+      "rawHeight": 40,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

二進制
assets/Texture/Pop/开关 关@2x.png


+ 38 - 0
assets/Texture/Pop/开关 关@2x.png.meta

@@ -0,0 +1,38 @@
+{
+  "ver": "2.3.7",
+  "uuid": "736cd040-b46a-4605-a53b-af1d20cb5d8e",
+  "importer": "texture",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 182,
+  "height": 68,
+  "platformSettings": {},
+  "subMetas": {
+    "开关 关@2x": {
+      "ver": "1.0.6",
+      "uuid": "22c862db-a939-475c-9554-e58b24a68f6b",
+      "importer": "sprite-frame",
+      "rawTextureUuid": "736cd040-b46a-4605-a53b-af1d20cb5d8e",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 2,
+      "trimY": 2,
+      "width": 178,
+      "height": 64,
+      "rawWidth": 182,
+      "rawHeight": 68,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

二進制
assets/Texture/Pop/开关 开@2x.png


+ 38 - 0
assets/Texture/Pop/开关 开@2x.png.meta

@@ -0,0 +1,38 @@
+{
+  "ver": "2.3.7",
+  "uuid": "ca1618f5-bda8-4c59-895a-146f52112220",
+  "importer": "texture",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 180,
+  "height": 68,
+  "platformSettings": {},
+  "subMetas": {
+    "开关 开@2x": {
+      "ver": "1.0.6",
+      "uuid": "5703762c-8710-40a1-8806-d47ac7584245",
+      "importer": "sprite-frame",
+      "rawTextureUuid": "ca1618f5-bda8-4c59-895a-146f52112220",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 2,
+      "trimY": 2,
+      "width": 176,
+      "height": 64,
+      "rawWidth": 180,
+      "rawHeight": 68,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

+ 13 - 0
assets/Texture/Prefab.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.3",
+  "uuid": "23bb3bad-c2f1-4af4-8900-edf6ce30b630",
+  "importer": "folder",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

+ 579 - 0
assets/Texture/Prefab/Gold.prefab

@@ -0,0 +1,579 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "",
+    "_objFlags": 0,
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "asyncLoadAssets": false,
+    "readonly": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Gold",
+    "_objFlags": 0,
+    "_parent": null,
+    "_children": [
+      {
+        "__id__": 2
+      },
+      {
+        "__id__": 5
+      },
+      {
+        "__id__": 8
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 11
+      },
+      {
+        "__id__": 12
+      },
+      {
+        "__id__": 13
+      },
+      {
+        "__id__": 15
+      }
+    ],
+    "_prefab": {
+      "__id__": 16
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 198,
+      "height": 65
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        99,
+        1247.016,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "goldcoin",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 3
+      }
+    ],
+    "_prefab": {
+      "__id__": 4
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 52,
+      "height": 52
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        -69.222,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "ccc57710-eaef-4bf9-bb53-8188e102e5f2"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "21pRkZiutLe7s4RSnqgl1i",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Label",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 6
+      }
+    ],
+    "_prefab": {
+      "__id__": 7
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 135,
+      "g": 114,
+      "b": 62,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 66.74,
+      "height": 50.4
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 5
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_string": "840",
+    "_N$string": "840",
+    "_fontSize": 40,
+    "_lineHeight": 40,
+    "_enableWrapText": true,
+    "_N$file": null,
+    "_isSystemFontUsed": true,
+    "_spacingX": 0,
+    "_batchAsBitmap": false,
+    "_styleFlags": 0,
+    "_underlineHeight": 0,
+    "_N$horizontalAlign": 1,
+    "_N$verticalAlign": 1,
+    "_N$fontFamily": "Arial",
+    "_N$overflow": 0,
+    "_N$cacheMode": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "11b2N69vpOTYnyvNMcgYXz",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "add",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 9
+      }
+    ],
+    "_prefab": {
+      "__id__": 10
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 33,
+      "height": 32
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        76.021,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 8
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "7e1cc539-976f-4e81-ac89-4d1941529b8a"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "cdew97kIZM0rw6lMNtddbd",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "df1d18e5-a735-42bc-905d-7ed8a1b397c2"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Widget",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "alignMode": 1,
+    "_target": null,
+    "_alignFlags": 9,
+    "_left": 0,
+    "_right": 0,
+    "_top": 54.48400000000004,
+    "_bottom": 0,
+    "_verticalCenter": 0,
+    "_horizontalCenter": 0,
+    "_isAbsLeft": true,
+    "_isAbsRight": true,
+    "_isAbsTop": true,
+    "_isAbsBottom": true,
+    "_isAbsHorizontalCenter": true,
+    "_isAbsVerticalCenter": true,
+    "_originalWidth": 0,
+    "_originalHeight": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Button",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_normalMaterial": null,
+    "_grayMaterial": null,
+    "duration": 0.1,
+    "zoomScale": 1.2,
+    "clickEvents": [
+      {
+        "__id__": 14
+      }
+    ],
+    "_N$interactable": true,
+    "_N$enableAutoGrayEffect": false,
+    "_N$transition": 0,
+    "transition": 0,
+    "_N$normalColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_N$pressedColor": {
+      "__type__": "cc.Color",
+      "r": 211,
+      "g": 211,
+      "b": 211,
+      "a": 255
+    },
+    "pressedColor": {
+      "__type__": "cc.Color",
+      "r": 211,
+      "g": 211,
+      "b": 211,
+      "a": 255
+    },
+    "_N$hoverColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "hoverColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_N$disabledColor": {
+      "__type__": "cc.Color",
+      "r": 124,
+      "g": 124,
+      "b": 124,
+      "a": 255
+    },
+    "_N$normalSprite": null,
+    "_N$pressedSprite": null,
+    "pressedSprite": null,
+    "_N$hoverSprite": null,
+    "hoverSprite": null,
+    "_N$disabledSprite": null,
+    "_N$target": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.ClickEvent",
+    "target": {
+      "__id__": 1
+    },
+    "component": "",
+    "_componentId": "8396097T+xG6KDbGkaPR4oO",
+    "handler": "ClickGold",
+    "customEventData": ""
+  },
+  {
+    "__type__": "8396097T+xG6KDbGkaPR4oO",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "",
+    "sync": false
+  }
+]

+ 9 - 0
assets/Texture/Prefab/Gold.prefab.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.3.2",
+  "uuid": "3b5292cd-7ad7-4de8-adf9-12a19aff8517",
+  "importer": "prefab",
+  "optimizationPolicy": "AUTO",
+  "asyncLoadAssets": false,
+  "readonly": false,
+  "subMetas": {}
+}

+ 13 - 0
assets/Texture/Sign.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.3",
+  "uuid": "f79cbcd9-c9ad-4b5d-8796-1eab7078e1fe",
+  "importer": "folder",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

二進制
assets/Texture/Sign/Greenstripe.png


+ 38 - 0
assets/Texture/Sign/Greenstripe.png.meta

@@ -0,0 +1,38 @@
+{
+  "ver": "2.3.7",
+  "uuid": "22e9d29b-8151-4aba-8609-08557cc574f2",
+  "importer": "texture",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 336,
+  "height": 29,
+  "platformSettings": {},
+  "subMetas": {
+    "Greenstripe": {
+      "ver": "1.0.6",
+      "uuid": "d772838a-4c3f-49af-b4e9-ff55bbe10e62",
+      "importer": "sprite-frame",
+      "rawTextureUuid": "22e9d29b-8151-4aba-8609-08557cc574f2",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 336,
+      "height": 29,
+      "rawWidth": 336,
+      "rawHeight": 29,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

二進制
assets/Texture/Sign/frame.png


+ 38 - 0
assets/Texture/Sign/frame.png.meta

@@ -0,0 +1,38 @@
+{
+  "ver": "2.3.7",
+  "uuid": "085eae94-6c03-4080-9a82-003b0f44620a",
+  "importer": "texture",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 544,
+  "height": 267,
+  "platformSettings": {},
+  "subMetas": {
+    "frame": {
+      "ver": "1.0.6",
+      "uuid": "359a540d-2f7a-45f6-b2a1-12252d88eb7e",
+      "importer": "sprite-frame",
+      "rawTextureUuid": "085eae94-6c03-4080-9a82-003b0f44620a",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 544,
+      "height": 267,
+      "rawWidth": 544,
+      "rawHeight": 267,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

二進制
assets/Texture/Sign/signin.png


+ 38 - 0
assets/Texture/Sign/signin.png.meta

@@ -0,0 +1,38 @@
+{
+  "ver": "2.3.7",
+  "uuid": "b4e69e02-8c9f-40a4-994a-d283497c5b30",
+  "importer": "texture",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 635,
+  "height": 851,
+  "platformSettings": {},
+  "subMetas": {
+    "signin": {
+      "ver": "1.0.6",
+      "uuid": "b0bfb7c8-7d40-4fc2-8a23-23d7edfbb04c",
+      "importer": "sprite-frame",
+      "rawTextureUuid": "b4e69e02-8c9f-40a4-994a-d283497c5b30",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 635,
+      "height": 851,
+      "rawWidth": 635,
+      "rawHeight": 851,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

+ 13 - 0
assets/Texture/Spine.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.3",
+  "uuid": "168551ec-cb77-471d-83da-51aa9fb212a0",
+  "importer": "folder",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

+ 13 - 0
assets/Texture/Spine/Role.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.3",
+  "uuid": "c299b2ae-bde5-4d84-9b3a-ddbc29d2e81f",
+  "importer": "folder",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

+ 13 - 0
assets/Texture/Spine/Role/Role1.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.3",
+  "uuid": "7d29c813-5992-4330-bed6-3da21cba9cc3",
+  "importer": "folder",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

+ 69 - 0
assets/Texture/Spine/Role/Role1/猫猫头动画.atlas

@@ -0,0 +1,69 @@
+
+猫猫头动画.png
+size: 229,110
+format: RGBA8888
+filter: Linear,Linear
+repeat: none
+右眼1
+  rotate: false
+  xy: 138, 2
+  size: 8, 15
+  orig: 10, 17
+  offset: 1, 1
+  index: -1
+左眼1
+  rotate: false
+  xy: 138, 2
+  size: 8, 15
+  orig: 10, 17
+  offset: 1, 1
+  index: -1
+右眼2
+  rotate: false
+  xy: 148, 8
+  size: 6, 9
+  orig: 8, 11
+  offset: 1, 1
+  index: -1
+左眼2
+  rotate: false
+  xy: 148, 8
+  size: 6, 9
+  orig: 8, 11
+  offset: 1, 1
+  index: -1
+右耳
+  rotate: true
+  xy: 185, 23
+  size: 40, 38
+  orig: 42, 40
+  offset: 1, 1
+  index: -1
+嘴
+  rotate: false
+  xy: 108, 2
+  size: 28, 15
+  orig: 30, 17
+  offset: 1, 1
+  index: -1
+头
+  rotate: false
+  xy: 2, 2
+  size: 104, 106
+  orig: 107, 108
+  offset: 1, 1
+  index: -1
+尾巴
+  rotate: false
+  xy: 108, 19
+  size: 75, 89
+  orig: 75, 89
+  offset: 0, 0
+  index: -1
+左耳
+  rotate: true
+  xy: 185, 65
+  size: 43, 42
+  orig: 45, 44
+  offset: 1, 1
+  index: -1

+ 6 - 0
assets/Texture/Spine/Role/Role1/猫猫头动画.atlas.meta

@@ -0,0 +1,6 @@
+{
+  "ver": "1.0.3",
+  "uuid": "5e72ee05-7a69-4164-af03-67765940aa35",
+  "importer": "asset",
+  "subMetas": {}
+}

+ 360 - 0
assets/Texture/Spine/Role/Role1/猫猫头动画.json

@@ -0,0 +1,360 @@
+{
+"skeleton": {
+	"hash": "M4bItclutn8pMLxu+NgFZNaAmuM",
+	"spine": "3.8.75",
+	"x": -56.19,
+	"y": -1,
+	"width": 164.25,
+	"height": 109.09,
+	"images": "../../images/",
+	"audio": "C:/Users/Jason.L/Desktop"
+},
+"bones": [
+	{ "name": "root" },
+	{ "name": "bone", "parent": "root", "length": 85.88, "rotation": 89.69, "x": -0.36, "y": 13.92 },
+	{ "name": "bone2", "parent": "bone", "x": 43.74, "y": 0.46 },
+	{ "name": "bone3", "parent": "bone2", "length": 13.94, "rotation": -47.36, "x": 32.01, "y": -33.95 },
+	{ "name": "bone4", "parent": "bone2", "length": 17.8, "rotation": 58.62, "x": 25.9, "y": 34.42 },
+	{ "name": "bone5", "parent": "bone", "length": 48.11, "rotation": -59.73, "x": 12.98, "y": -47.81 },
+	{ "name": "bone6", "parent": "bone5", "length": 42.33, "rotation": 71.45, "x": 48.11 },
+	{ "name": "bone7", "parent": "bone", "x": 2.72, "y": -86.44 },
+	{ "name": "右眼", "parent": "bone7", "x": 50.97, "y": 65.39 },
+	{ "name": "左眼", "parent": "bone7", "x": 49.14, "y": 106.02 },
+	{ "name": "嘴", "parent": "bone7", "x": 21.69, "y": 82.54 }
+],
+"slots": [
+	{ "name": "尾巴", "bone": "bone5", "attachment": "尾巴" },
+	{ "name": "右耳", "bone": "bone3", "attachment": "右耳" },
+	{ "name": "左耳", "bone": "bone4", "attachment": "左耳" },
+	{ "name": "头", "bone": "bone", "attachment": "头" },
+	{ "name": "嘴", "bone": "嘴", "attachment": "嘴" },
+	{ "name": "左眼", "bone": "左眼", "attachment": "左眼1" },
+	{ "name": "右眼", "bone": "右眼", "attachment": "右眼1" }
+],
+"skins": [
+	{
+		"name": "default",
+		"attachments": {
+			"左耳": {
+				"左耳": { "x": -1.91, "y": 0.84, "rotation": -148.31, "width": 45, "height": 44 }
+			},
+			"左眼": {
+				"左眼1": { "x": -0.37, "y": -0.67, "rotation": -89.69, "width": 10, "height": 17 },
+				"左眼2": { "x": -1.37, "y": -0.68, "rotation": -89.69, "width": 8, "height": 11 }
+			},
+			"嘴": {
+				"嘴": { "x": 1.19, "y": 1.67, "rotation": -89.69, "width": 30, "height": 17 }
+			},
+			"右耳": {
+				"右耳": { "x": -1.34, "y": -0.67, "rotation": -42.34, "width": 42, "height": 40 }
+			},
+			"右眼": {
+				"右眼1": { "x": -0.99, "y": -0.03, "rotation": -89.69, "width": 10, "height": 17 },
+				"右眼2": { "x": -1.99, "y": -0.03, "rotation": -89.69, "width": 8, "height": 11 }
+			},
+			"头": {
+				"头": { "x": 39.09, "y": -1.65, "rotation": -89.69, "width": 107, "height": 108 }
+			},
+			"尾巴": {
+				"尾巴": {
+					"type": "mesh",
+					"uvs": [ 0.17174, 0.57389, 0.34378, 0.54965, 0.49234, 0.45828, 0.51151, 0.32817, 0.41694, 0.22641, 0.42957, 0.08262, 0.57061, 1.0E-5, 0.81072, 8.8E-4, 0.99084, 0.23971, 0.99898, 0.39352, 0.98237, 0.55819, 0.95451, 0.6197, 0.88899, 0.70629, 0.724, 0.81298, 0.60301, 0.87778, 0.38254, 0.96742, 0.26793, 1, 0.03944, 0.99998, 1.0E-5, 0.94854, 0.01052, 0.75928, 0.0695, 0.63622 ],
+					"triangles": [ 12, 2, 11, 11, 2, 10, 10, 2, 9, 2, 3, 9, 3, 8, 9, 3, 7, 8, 3, 6, 7, 3, 4, 6, 6, 4, 5, 16, 0, 15, 16, 17, 18, 16, 18, 19, 0, 16, 19, 19, 20, 0, 0, 1, 15, 15, 1, 14, 14, 1, 13, 1, 2, 13, 13, 2, 12 ],
+					"vertices": [ 1, 5, 9.87, 20.26, 1, 2, 5, 22.1, 15.64, 0.96888, 6, 6.55, 29.62, 0.03112, 2, 5, 35.82, 17.06, 0.53009, 6, 12.27, 17.07, 0.46991, 2, 5, 42.89, 26.35, 0.06706, 6, 23.32, 13.33, 0.93294, 2, 5, 41.31, 37.74, 0.00114, 6, 33.62, 18.45, 0.99886, 1, 6, 45.96, 14.94, 1, 1, 6, 51.03, 3.1, 1, 1, 6, 47.33, -14.52, 1, 1, 6, 23.78, -23.47, 1, 1, 6, 10.25, -21.31, 1, 2, 5, 63.12, -9.1, 0.15913, 6, -3.85, -17.13, 0.84087, 2, 5, 58.56, -12.78, 0.22703, 6, -8.79, -13.98, 0.77297, 2, 5, 50.44, -16.98, 0.54658, 6, -15.35, -7.61, 0.45342, 2, 5, 34.97, -18.96, 0.9971, 6, -22.16, 6.42, 0.0029, 2, 5, 24.23, -19.38, 0.99835, 6, -25.97, 16.47, 0.00165, 1, 5, 5.92, -17.97, 1, 1, 5, -2.97, -16.15, 1, 1, 5, -17.78, -7.53, 1, 1, 5, -18.03, -2.09, 1, 1, 5, -8.88, 12.08, 1, 1, 5, 0.45, 19.32, 1 ],
+					"hull": 21,
+					"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 34, 36, 0, 40, 4, 22, 14, 16, 16, 18, 6, 16, 22, 24, 24, 26, 4, 24, 18, 20, 20, 22, 4, 20, 26, 28, 28, 30, 2, 28, 30, 32, 32, 34, 0, 32, 36, 38, 38, 40 ],
+					"width": 75,
+					"height": 89
+				}
+			}
+		}
+	}
+],
+"animations": {
+	"1总览": {
+		"bones": {
+			"root": {
+				"translate": [
+					{ "curve": "stepped" },
+					{ "time": 0.1667 },
+					{ "time": 0.6, "y": 140 },
+					{ "time": 0.6667, "y": 212.54 },
+					{ "time": 0.7, "y": 248.27 },
+					{ "time": 0.7667, "y": 280 },
+					{ "time": 0.9667, "y": 270 },
+					{ "time": 1.2333, "y": 140 },
+					{ "time": 1.2667, "y": 60.65 },
+					{ "time": 1.3, "y": 25.68 },
+					{ "time": 1.3667, "curve": "stepped" },
+					{ "time": 1.5333, "curve": "stepped" },
+					{ "time": 1.6333 }
+				],
+				"scale": [
+					{ "time": 0.0667, "y": 0.8 },
+					{ "time": 0.1333, "y": 0.7 },
+					{ "time": 0.1667, "y": 0.6 },
+					{ "time": 0.4333, "y": 0.85 },
+					{ "time": 0.7667, "curve": "stepped" },
+					{ "time": 0.9667 },
+					{ "time": 1.1, "y": 1.001 },
+					{ "time": 1.2333, "y": 0.925 },
+					{ "time": 1.2667, "curve": "stepped" },
+					{ "time": 1.3 },
+					{ "time": 1.3667, "y": 0.6 },
+					{ "time": 1.4, "y": 0.7 },
+					{ "time": 1.4667, "y": 0.8 },
+					{ "time": 1.5333, "curve": "stepped" },
+					{ "time": 1.6333 }
+				]
+			},
+			"bone": {
+				"scale": [
+					{ "time": 0.2667, "x": 1.107 },
+					{ "time": 0.6, "x": 1.157 },
+					{ "time": 0.7667 },
+					{ "time": 1.2, "x": 1.157 },
+					{ "time": 1.6333 }
+				]
+			},
+			"bone7": {
+				"translate": [
+					{ "time": 0.1667, "x": -6.24 },
+					{ "time": 0.6667, "x": 6.46 },
+					{ "time": 0.7333, "x": -1.73 },
+					{ "time": 0.7667 },
+					{ "time": 1.2, "x": -8.67 },
+					{ "time": 1.3667, "x": -6.24 },
+					{ "time": 1.5333 }
+				]
+			},
+			"右眼": {
+				"rotate": [
+					{ "time": 0.1667, "angle": -0.06 }
+				]
+			},
+			"bone5": {
+				"rotate": [
+					{ "time": 0.1333, "angle": 5.99 },
+					{ "time": 0.1667, "angle": 10.43 },
+					{ "time": 0.7667, "angle": -29.01 },
+					{ "time": 1.3667, "angle": 10.43 },
+					{ "time": 1.4, "angle": 5.99 }
+				]
+			},
+			"bone6": {
+				"rotate": [
+					{ "time": 0.1333, "angle": 3.83 },
+					{ "time": 0.1667, "angle": 7.28 },
+					{ "time": 0.7667, "angle": 4.88 },
+					{ "time": 1.3667, "angle": 7.28 },
+					{ "time": 1.4, "angle": 3.83 }
+				]
+			},
+			"bone3": {
+				"rotate": [
+					{ "time": 0.1333, "angle": 6.15 },
+					{ "time": 0.1667, "angle": 9.66 },
+					{ "time": 0.7333, "angle": -12.65 },
+					{ "time": 0.7667, "angle": -15.98 },
+					{ "time": 1.3667, "angle": 9.66 },
+					{ "time": 1.4, "angle": 6.15 }
+				]
+			},
+			"bone4": {
+				"rotate": [
+					{ "time": 0.1333, "angle": -3.83 },
+					{ "time": 0.1667, "angle": -8.94 },
+					{ "time": 0.7333, "angle": 9.6 },
+					{ "time": 0.7667, "angle": 14.53 },
+					{ "time": 1.3333, "angle": -8.94 },
+					{ "time": 1.3667, "angle": -3.83 }
+				]
+			}
+		}
+	},
+	"2预备": {
+		"bones": {
+			"root": {
+				"translate": [
+					{ "curve": "stepped" },
+					{ "time": 0.1667 }
+				],
+				"scale": [
+					{ "time": 0.0667, "y": 0.8 },
+					{ "time": 0.1333, "y": 0.7 },
+					{ "time": 0.1667, "y": 0.6 }
+				]
+			},
+			"bone3": {
+				"rotate": [
+					{ "time": 0.1333, "angle": 6.15 },
+					{ "time": 0.1667, "angle": 9.66 }
+				]
+			},
+			"bone5": {
+				"rotate": [
+					{ "time": 0.1333, "angle": 5.99 },
+					{ "time": 0.1667, "angle": 10.43 }
+				]
+			},
+			"bone6": {
+				"rotate": [
+					{ "time": 0.1333, "angle": 3.83 },
+					{ "time": 0.1667, "angle": 7.28 }
+				]
+			},
+			"bone4": {
+				"rotate": [
+					{ "time": 0.1333, "angle": -3.83 },
+					{ "time": 0.1667, "angle": -8.94 }
+				]
+			},
+			"bone7": {
+				"translate": [
+					{ "time": 0.1667, "x": -6.24 }
+				]
+			},
+			"右眼": {
+				"rotate": [
+					{ "time": 0.1667, "angle": -0.06 }
+				]
+			}
+		}
+	},
+	"3起跳": {
+		"bones": {
+			"右眼": {
+				"rotate": [
+					{ "angle": -0.06 }
+				]
+			},
+			"bone5": {
+				"rotate": [
+					{ "angle": 10.43 },
+					{ "time": 0.6, "angle": -29.01 },
+					{ "time": 1.2, "angle": 10.43 }
+				]
+			},
+			"bone6": {
+				"rotate": [
+					{ "angle": 7.28 },
+					{ "time": 0.6, "angle": 4.88 },
+					{ "time": 1.2, "angle": 7.28 }
+				]
+			},
+			"bone3": {
+				"rotate": [
+					{ "angle": 9.66 },
+					{ "time": 0.5667, "angle": -12.65 },
+					{ "time": 0.6, "angle": -15.98 },
+					{ "time": 1.2, "angle": 9.66 }
+				]
+			},
+			"root": {
+				"translate": [
+					{},
+					{ "time": 0.4333, "y": 140 },
+					{ "time": 0.5, "y": 212.54 },
+					{ "time": 0.5333, "y": 248.27 },
+					{ "time": 0.6, "y": 280 },
+					{ "time": 0.8, "y": 270 },
+					{ "time": 1.0667, "y": 140 },
+					{ "time": 1.1, "y": 60.65 },
+					{ "time": 1.1333, "y": 25.68 },
+					{ "time": 1.2 }
+				],
+				"scale": [
+					{ "y": 0.6 },
+					{ "time": 0.2667, "y": 0.85 },
+					{ "time": 0.6, "curve": "stepped" },
+					{ "time": 0.8 },
+					{ "time": 0.9333, "y": 1.001 },
+					{ "time": 1.0667, "y": 0.925 },
+					{ "time": 1.1, "curve": "stepped" },
+					{ "time": 1.1333 },
+					{ "time": 1.2, "y": 0.6 }
+				]
+			},
+			"bone7": {
+				"translate": [
+					{ "x": -6.24 },
+					{ "time": 0.5, "x": 6.46 },
+					{ "time": 0.5667, "x": -1.73 },
+					{ "time": 0.6 },
+					{ "time": 1.0333, "x": -8.67 },
+					{ "time": 1.2, "x": -6.24 }
+				]
+			},
+			"bone4": {
+				"rotate": [
+					{ "angle": -8.94 },
+					{ "time": 0.5667, "angle": 9.6 },
+					{ "time": 0.6, "angle": 14.53 },
+					{ "time": 1.1667, "angle": -8.94 },
+					{ "time": 1.2, "angle": -3.83 }
+				]
+			},
+			"bone": {
+				"scale": [
+					{ "time": 0.1, "x": 1.107 },
+					{ "time": 0.4333, "x": 1.157 },
+					{ "time": 0.6 },
+					{ "time": 1.0333, "x": 1.157 }
+				]
+			}
+		}
+	},
+	"4回正": {
+		"bones": {
+			"root": {
+				"translate": [
+					{ "curve": "stepped" },
+					{ "time": 0.1667, "curve": "stepped" },
+					{ "time": 0.2667 }
+				],
+				"scale": [
+					{ "y": 0.6 },
+					{ "time": 0.0333, "y": 0.7 },
+					{ "time": 0.1, "y": 0.8 },
+					{ "time": 0.1667, "curve": "stepped" },
+					{ "time": 0.2667 }
+				]
+			},
+			"bone7": {
+				"translate": [
+					{ "x": -6.24 },
+					{ "time": 0.1667 }
+				]
+			},
+			"bone5": {
+				"rotate": [
+					{ "angle": 10.43 },
+					{ "time": 0.0333, "angle": 5.99 }
+				]
+			},
+			"bone6": {
+				"rotate": [
+					{ "angle": 7.28 },
+					{ "time": 0.0333, "angle": 3.83 }
+				]
+			},
+			"bone3": {
+				"rotate": [
+					{ "angle": 9.66 },
+					{ "time": 0.0333, "angle": 6.15 }
+				]
+			},
+			"bone4": {
+				"rotate": [
+					{ "angle": -3.83 }
+				]
+			},
+			"bone": {
+				"scale": [
+					{ "time": 0.2667 }
+				]
+			}
+		}
+	}
+}
+}

+ 10 - 0
assets/Texture/Spine/Role/Role1/猫猫头动画.json.meta

@@ -0,0 +1,10 @@
+{
+  "ver": "1.2.5",
+  "uuid": "a9e2800c-77a3-4d36-9215-01594f26f397",
+  "importer": "spine",
+  "textures": [
+    "c3044da2-ca62-406a-bc48-eb90f7837764"
+  ],
+  "scale": 1,
+  "subMetas": {}
+}

二進制
assets/Texture/Spine/Role/Role1/猫猫头动画.png


+ 38 - 0
assets/Texture/Spine/Role/Role1/猫猫头动画.png.meta

@@ -0,0 +1,38 @@
+{
+  "ver": "2.3.7",
+  "uuid": "c3044da2-ca62-406a-bc48-eb90f7837764",
+  "importer": "texture",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 229,
+  "height": 110,
+  "platformSettings": {},
+  "subMetas": {
+    "猫猫头动画": {
+      "ver": "1.0.6",
+      "uuid": "e02730cf-25cf-469c-b489-61d0ee4ecc2c",
+      "importer": "sprite-frame",
+      "rawTextureUuid": "c3044da2-ca62-406a-bc48-eb90f7837764",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 2,
+      "trimY": 2,
+      "width": 225,
+      "height": 106,
+      "rawWidth": 229,
+      "rawHeight": 110,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

+ 13 - 0
assets/Texture/Spine/Role/Role测试.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.3",
+  "uuid": "5917b5f3-1b71-4d4d-ae65-7af93f1112e0",
+  "importer": "folder",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

+ 55 - 0
assets/Texture/Spine/Role/Role测试/spine_112_01.atlas

@@ -0,0 +1,55 @@
+
+spine_112_01.png
+size: 189,94
+format: RGBA8888
+filter: Linear,Linear
+repeat: none
+1
+  rotate: false
+  xy: 2, 5
+  size: 115, 87
+  orig: 115, 87
+  offset: 0, 0
+  index: -1
+2
+  rotate: true
+  xy: 157, 2
+  size: 11, 9
+  orig: 11, 9
+  offset: 0, 0
+  index: -1
+3
+  rotate: true
+  xy: 178, 37
+  size: 10, 8
+  orig: 10, 8
+  offset: 0, 0
+  index: -1
+4
+  rotate: true
+  xy: 171, 30
+  size: 17, 5
+  orig: 17, 5
+  offset: 0, 0
+  index: -1
+5
+  rotate: false
+  xy: 119, 49
+  size: 68, 43
+  orig: 68, 43
+  offset: 0, 0
+  index: -1
+6
+  rotate: false
+  xy: 119, 7
+  size: 36, 40
+  orig: 36, 40
+  offset: 0, 0
+  index: -1
+shadow
+  rotate: true
+  xy: 157, 15
+  size: 32, 12
+  orig: 32, 12
+  offset: 0, 0
+  index: -1

+ 6 - 0
assets/Texture/Spine/Role/Role测试/spine_112_01.atlas.meta

@@ -0,0 +1,6 @@
+{
+  "ver": "1.0.3",
+  "uuid": "b08ce6b4-ea58-4125-a616-ff83484aa433",
+  "importer": "asset",
+  "subMetas": {}
+}

+ 534 - 0
assets/Texture/Spine/Role/Role测试/spine_112_01.json

@@ -0,0 +1,534 @@
+{
+"skeleton": {
+	"hash": "e2+YpNMsLWOu7/CYFholddf92lo",
+	"spine": "3.8.75",
+	"x": -23.53,
+	"y": -3.75,
+	"width": 47.07,
+	"height": 41.86,
+	"images": "./images/",
+	"audio": ""
+},
+"bones": [
+	{ "name": "root", "scaleX": 0.41, "scaleY": 0.41 },
+	{ "name": "bone", "parent": "root", "x": 12.71, "y": -6.15 },
+	{ "name": "bone2", "parent": "bone", "length": 9.13, "rotation": 90.66, "x": -0.52, "y": 4.42 },
+	{ "name": "bone3", "parent": "bone2", "length": 13.02, "rotation": 0.27, "x": 9.13 },
+	{ "name": "bone4", "parent": "bone3", "length": 15.22, "rotation": 0.66, "x": 13.02 },
+	{ "name": "bone5", "parent": "bone4", "length": 51.06, "rotation": 9.08, "x": 14.48, "y": 3.03 },
+	{ "name": "bone6", "parent": "bone5", "length": 34.49, "rotation": 21.37, "x": 25.94, "y": 13.62 },
+	{ "name": "bone7", "parent": "bone2", "x": 7.28, "y": -3.33 },
+	{ "name": "bone8", "parent": "bone3", "length": 9.61, "rotation": 122.28, "x": 7.76, "y": 7.61 },
+	{ "name": "bone9", "parent": "bone3", "length": 8.95, "rotation": -126.14, "x": 8.24, "y": -11 },
+	{ "name": "bone10", "parent": "bone", "x": -9.65, "y": 11.85, "scaleX": 3.07, "scaleY": 2.473 },
+	{ "name": "bone13", "parent": "bone4", "length": 27.45, "rotation": 68.21, "x": 7.37, "y": 42.54 },
+	{ "name": "bone14", "parent": "bone4", "length": 28.73, "rotation": -34.57, "x": 23.49, "y": -15.53 }
+],
+"slots": [
+	{ "name": "shadow", "bone": "bone10", "attachment": "shadow" },
+	{ "name": "6", "bone": "bone6", "attachment": "6" },
+	{ "name": "5", "bone": "bone2", "attachment": "5" },
+	{ "name": "4", "bone": "bone7", "attachment": "4" },
+	{ "name": "3", "bone": "bone9", "attachment": "3" },
+	{ "name": "2", "bone": "bone8", "attachment": "2" },
+	{ "name": "1", "bone": "bone5", "attachment": "1" }
+],
+"skins": [
+	{
+		"name": "default",
+		"attachments": {
+			"shadow": {
+				"shadow": { "width": 32, "height": 12 }
+			},
+			"1": {
+				"1": {
+					"type": "mesh",
+					"uvs": [ 0.67472, 0.18055, 0.90992, 0.16704, 0.99913, 0.55904, 0.99912, 0.92476, 0.86167, 0.99953, 0.76331, 0.73205, 0.57887, 0.72044, 0.37687, 0.79474, 0.32066, 0.99953, 0.17312, 0.99954, 0.14852, 0.93172, 8.7E-4, 0.9294, 8.7E-4, 0.50159, 0.10717, 0.46104, 0.12251, 0.16704, 0.35004, 0.20759, 0.43696, 4.6E-4, 0.5878, 4.6E-4, 0.63637, 0.58945, 0.47531, 0.59621, 0.31902, 0.69504, 0.23811, 0.84814, 0.77034, 0.60203, 0.87397, 0.66471 ],
+					"triangles": [ 8, 9, 21, 9, 10, 21, 8, 21, 7, 10, 11, 21, 11, 12, 21, 21, 12, 20, 21, 20, 7, 20, 12, 13, 7, 20, 19, 20, 13, 19, 13, 14, 15, 4, 5, 3, 5, 23, 3, 3, 23, 2, 5, 22, 23, 5, 18, 22, 23, 22, 2, 1, 2, 22, 22, 18, 0, 22, 0, 1, 7, 19, 6, 6, 18, 5, 6, 19, 18, 13, 15, 19, 19, 15, 0, 18, 19, 0, 16, 0, 15, 17, 0, 16 ],
+					"vertices": [ 2, 5, 33.63, -18.19, 0.59546, 12, 18.94, 20.22, 0.40454, 1, 12, 34.65, -1.83, 1, 1, 12, 11.63, -29, 1, 1, 12, -15.06, -46.33, 1, 1, 12, -29.12, -36.61, 1, 2, 5, -15.41, -19.33, 0.12915, 12, -15.76, -14.45, 0.87085, 3, 5, -10.49, 1.33, 0.89531, 12, -26.46, 3.89, 0.06597, 11, -38.3, -11.58, 0.03873, 2, 5, -12.55, 25.35, 0.27804, 11, -18.73, 2.51, 0.72196, 2, 5, -28.86, 35, 0.00885, 11, -18.82, 21.47, 0.99115, 1, 11, -2.89, 27.33, 1, 1, 11, 1.8, 22.77, 1, 1, 11, 17.8, 28.44, 1, 2, 5, 20.51, 63.13, 0.00422, 11, 30.66, -6.49, 0.99578, 2, 5, 21.72, 50.46, 0.11918, 11, 20.41, -14.02, 0.88082, 2, 5, 46.53, 44, 0.39896, 11, 27.58, -38.63, 0.60104, 2, 5, 38.22, 18.94, 0.77585, 11, 1.81, -44.36, 0.22415, 2, 5, 54.08, 5.78, 0.99752, 11, -1.34, -64.72, 0.00248, 2, 5, 50.88, -11.27, 0.98496, 12, 26.64, 37.13, 0.01504, 2, 5, -0.51, -7.28, 0.69534, 12, -13.3, 4.55, 0.30466, 2, 5, 2.33, 11.03, 0.81925, 11, -23.39, -17.61, 0.18075, 2, 5, -2.79, 30.29, 0.21798, 11, -9.49, -3.33, 0.78202, 2, 5, -14.16, 41.89, 0.00921, 11, -5.36, 12.39, 0.99079, 2, 5, -4.44, -22.22, 0.07657, 12, -5.83, -8.97, 0.92343, 2, 5, -12, -32.92, 0.00694, 12, -3.92, -21.93, 0.99306 ],
+					"hull": 18,
+					"edges": [ 32, 30, 30, 28, 32, 34, 34, 0, 0, 2, 2, 4, 0, 36, 30, 38, 28, 26, 26, 24, 26, 40, 40, 42, 42, 20, 20, 18, 16, 18, 16, 14, 14, 12, 12, 10, 10, 8, 36, 44, 44, 46, 4, 6, 46, 6, 6, 8, 22, 24, 20, 22, 40, 38, 38, 36 ],
+					"width": 115,
+					"height": 87
+				}
+			},
+			"2": {
+				"2": {
+					"type": "mesh",
+					"uvs": [ 1, 0.15521, 0.91985, 0.24631, 0.9176, 0.53069, 0.8121, 0.77917, 0.63477, 0.92827, 0.47989, 0.97833, 0, 0.97833, 0, 0.51966, 0.19929, 0.24908, 0.48437, 0.08342, 0.76945, 0.08342, 0.88618, 0.02167, 1, 0.02167 ],
+					"triangles": [ 11, 12, 0, 1, 11, 0, 10, 11, 1, 1, 9, 10, 9, 1, 2, 9, 2, 8, 3, 4, 2, 4, 8, 2, 5, 7, 8, 5, 6, 7, 8, 4, 5 ],
+					"vertices": [ -1.79, 0.51, -0.6, 0.71, 0.82, 2.84, 3.03, 4.07, 5.4, 4.12, 7.08, 3.56, 11.53, 0.65, 9.27, -2.8, 6.09, -3.64, 2.63, -3.15, -0.01, -1.43, -1.39, -1.18, -2.45, -0.49 ],
+					"hull": 13,
+					"edges": [ 12, 14, 14, 16, 16, 18, 18, 20, 22, 24, 20, 22, 0, 24, 0, 2, 2, 4, 4, 6, 6, 8, 10, 12, 8, 10 ],
+					"width": 11,
+					"height": 9
+				}
+			},
+			"3": {
+				"3": {
+					"type": "mesh",
+					"uvs": [ 0.25725, 0.05621, 0.53119, 0.0653, 0.80271, 0.21378, 1, 0.46833, 1, 1, 0.55058, 1, 0.27664, 0.88045, 0.1118, 0.5956, 0.08271, 0.23196, 0, 0.13499, 0, 0, 0.18452, 0 ],
+					"triangles": [ 9, 10, 11, 8, 9, 11, 8, 11, 0, 1, 7, 8, 0, 1, 8, 2, 7, 1, 5, 6, 2, 2, 6, 7, 3, 5, 2, 5, 3, 4 ],
+					"vertices": [ -0.09, 1.06, 2.24, 2.62, 5.22, 3.23, 8.07, 2.69, 10.59, -0.87, 6.83, -3.53, 3.96, -4.34, 1.24, -3.41, -0.73, -1.14, -1.87, -0.98, -2.51, -0.08, -0.97, 1.01 ],
+					"hull": 12,
+					"edges": [ 20, 22, 22, 0, 0, 2, 2, 4, 8, 6, 4, 6, 16, 14, 14, 12, 8, 10, 12, 10, 18, 20, 18, 16 ],
+					"width": 10,
+					"height": 8
+				}
+			},
+			"4": {
+				"4": { "x": -1.29, "y": 0.07, "rotation": -90.66, "width": 17, "height": 5 }
+			},
+			"5": {
+				"5": {
+					"type": "mesh",
+					"uvs": [ 1, 0.42628, 1, 0.7253, 1, 0.99581, 0.5457, 0.99581, 0, 0.99581, 0, 0.78921, 0, 0.4628, 0, 0.00419, 0.5328, 0.00419, 1, 0.00419, 0.54175, 0.75459, 0.53918, 0.44311 ],
+					"triangles": [ 8, 9, 0, 11, 8, 0, 11, 6, 7, 11, 7, 8, 11, 0, 1, 6, 11, 10, 5, 6, 10, 10, 11, 1, 3, 4, 5, 2, 3, 10, 3, 5, 10, 2, 10, 1 ],
+					"vertices": [ 3, 2, 22.6, -31.44, 0.28897, 3, 13.32, -31.51, 0.09017, 4, -0.06, -31.51, 0.62086, 3, 2, 9.74, -31.3, 0.59264, 3, 0.46, -31.3, 0.11862, 4, -12.91, -31.15, 0.28873, 3, 2, -1.89, -31.16, 0.94, 3, -11.16, -31.11, 0.02172, 4, -24.54, -30.83, 0.03828, 3, 2, -1.53, -0.06, 0.99952, 3, -10.66, -0.01, 4.3E-4, 4, -23.68, 0.26, 5.0E-5, 3, 2, -1.1, 37.3, 0.94, 3, -10.06, 37.35, 0.03558, 4, -22.65, 37.61, 0.02442, 3, 2, 7.78, 37.2, 0.1028, 3, -1.18, 37.21, 0.49343, 4, -13.77, 37.37, 0.40376, 3, 2, 21.82, 37.04, 0.02771, 3, 12.85, 36.98, 0.35419, 4, 0.26, 36.98, 0.61809, 2, 3, 32.57, 36.66, 0.18382, 4, 19.98, 36.44, 0.81618, 2, 2, 41.11, 0.34, 6.0E-5, 4, 18.97, -0.03, 0.99994, 3, 2, 40.75, -31.65, 0.10049, 3, 31.47, -31.8, 0.00373, 4, 18.09, -32.01, 0.89579, 3, 2, 8.84, 0.09, 0.64406, 3, -0.29, 0.09, 0.35571, 4, -13.3, 0.25, 2.3E-4, 2, 3, 13.11, 0.05, 0.45384, 4, 0.09, 0.05, 0.54616 ],
+					"hull": 10,
+					"edges": [ 4, 6, 6, 8, 2, 20, 20, 10, 0, 22, 22, 12, 14, 16, 16, 18, 12, 14, 18, 0, 0, 2, 10, 12, 2, 4, 8, 10 ],
+					"width": 68,
+					"height": 43
+				}
+			},
+			"6": {
+				"6": { "x": 17.82, "y": -0.16, "rotation": -122.03, "width": 36, "height": 40 }
+			}
+		}
+	}
+],
+"animations": {
+	"dowm": {
+		"bones": {
+			"bone3": {
+				"translate": [
+					{ "x": -0.22, "curve": 0.375, "c2": 0.62, "c3": 0.716 },
+					{ "time": 0.0333, "x": -3.49, "y": 0.34, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.0667, "x": -4.89, "y": -0.52, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.1667, "x": 2.21, "y": -0.18, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.3333, "x": -1.34, "y": 0.02, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.6, "x": -0.22 }
+				]
+			},
+			"bone5": {
+				"rotate": [
+					{ "angle": -0.12, "curve": 0.303, "c2": 0.23, "c3": 0.646, "c4": 0.59 },
+					{ "time": 0.1, "angle": -0.25, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.1333, "angle": -1.26, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.2333, "angle": 0.58, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.4, "angle": -0.84, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.6, "angle": -0.12 }
+				],
+				"translate": [
+					{ "x": 0.34, "y": 0.11, "curve": 0.303, "c2": 0.23, "c3": 0.646, "c4": 0.59 },
+					{ "time": 0.1, "x": -2.59, "y": -0.59, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.1333, "x": -3.87, "y": -0.55, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.2333, "x": 1.31, "y": -0.19, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.4, "x": -2.38, "y": -0.06, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.6, "x": 0.34, "y": 0.11 }
+				],
+				"scale": [
+					{ "x": 0.964, "curve": 0.303, "c2": 0.23, "c3": 0.646, "c4": 0.59 },
+					{ "time": 0.1, "x": 0.884, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.1333, "x": 0.814, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.2333, "x": 0.987, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.4, "x": 0.935, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.6, "x": 0.964 }
+				]
+			},
+			"bone7": {
+				"translate": [
+					{ "x": -0.19, "curve": 0.375, "c2": 0.62, "c3": 0.716 },
+					{
+						"time": 0.0333,
+						"x": -3.04,
+						"y": 1.1,
+						"curve": 0.354,
+						"c2": 0.4,
+						"c3": 0.711,
+						"c4": 0.82
+					},
+					{
+						"time": 0.0667,
+						"x": -3.4,
+						"y": -0.42,
+						"curve": 0.354,
+						"c2": 0.4,
+						"c3": 0.711,
+						"c4": 0.82
+					},
+					{ "time": 0.1667, "x": 1.75, "y": 0.28, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.3333, "x": -1.45, "y": -0.44, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.6, "x": -0.19 }
+				],
+				"scale": [
+					{ "x": 0.986, "curve": "stepped" },
+					{ "time": 0.6, "x": 0.986 }
+				]
+			},
+			"bone14": {
+				"translate": [
+					{ "x": -0.89, "y": 0.04, "curve": 0.296, "c2": 0.15, "c3": 0.636, "c4": 0.52 },
+					{ "time": 0.1, "x": -2.82, "y": 1.5, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.1333, "x": -4.48, "y": 1.72, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.2333, "x": 1.29, "y": -1.57, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.4, "x": -1.37, "y": 1.23, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.6, "x": -0.89, "y": 0.04 }
+				]
+			},
+			"bone4": {
+				"translate": [
+					{ "x": -1.02, "y": 0.02, "curve": 0.381, "c2": 0.55, "c3": 0.742 },
+					{ "time": 0.0667, "x": -4.7, "y": 0.18, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.1, "x": -6.74, "y": -0.22, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.2, "x": 1.57, "y": 0.28, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.3667, "x": -1.89, "y": 0.03, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.6, "x": -1.02, "y": 0.02 }
+				]
+			},
+			"bone6": {
+				"rotate": [
+					{ "angle": 3.42, "curve": 0.32, "c2": 0.29, "c3": 0.757 },
+					{ "time": 0.1333, "angle": -3.1, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.1667, "angle": 14.88, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.2667, "angle": 10.84, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.4333, "angle": -2.61, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.6, "angle": 3.42 }
+				],
+				"translate": [
+					{ "x": -1.5, "y": 0.28, "curve": 0.32, "c2": 0.29, "c3": 0.757 },
+					{ "time": 0.1333, "x": -7.74, "y": -1.6, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.1667, "x": -6.54, "y": -1.09, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.2667, "x": -0.15, "y": 3.26, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.4333, "x": -4.77, "y": 0.8, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.6, "x": -1.5, "y": 0.28 }
+				]
+			},
+			"bone10": {
+				"translate": [
+					{ "curve": 0.318, "c3": 0.6, "c4": 0.84 },
+					{ "time": 0.0333, "x": -0.88, "curve": 0.318, "c3": 0.6, "c4": 0.84 },
+					{ "time": 0.0667, "curve": "stepped" },
+					{ "time": 0.6 }
+				],
+				"scale": [
+					{ "curve": 0.318, "c3": 0.6, "c4": 0.84 },
+					{ "time": 0.0333, "x": 1.093, "y": 1.093, "curve": 0.318, "c3": 0.6, "c4": 0.84 },
+					{ "time": 0.0667, "x": 1.158, "y": 1.158, "curve": 0.318, "c3": 0.6, "c4": 0.84 },
+					{ "time": 0.1667, "x": 0.973, "y": 0.973, "curve": 0.318, "c3": 0.6, "c4": 0.84 },
+					{ "time": 0.3333, "x": 1.024, "y": 1.024, "curve": 0.318, "c3": 0.6, "c4": 0.84 },
+					{ "time": 0.6 }
+				]
+			},
+			"bone2": {
+				"translate": [
+					{ "curve": "stepped" },
+					{ "time": 0.6 }
+				],
+				"scale": [
+					{ "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.0333, "x": 0.944, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.0667, "x": 0.923, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.1667, "x": 1.025, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.3333, "x": 0.975, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.6 }
+				]
+			},
+			"bone8": {
+				"translate": [
+					{ "x": -0.29, "curve": "stepped" },
+					{ "time": 0.6, "x": -0.29 }
+				]
+			},
+			"bone13": {
+				"translate": [
+					{ "x": -1, "y": -0.81, "curve": 0.296, "c2": 0.15, "c3": 0.636, "c4": 0.52 },
+					{ "time": 0.1, "x": -2.56, "y": -1.99, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.1333, "x": -4.07, "y": -3.14, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.2333, "x": 0.89, "y": 2.02, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.4, "x": -0.73, "y": -1.17, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.6, "x": -1, "y": -0.81 }
+				]
+			},
+			"bone9": {
+				"translate": [
+					{ "x": -0.29, "curve": "stepped" },
+					{ "time": 0.6, "x": -0.29 }
+				]
+			}
+		}
+	},
+	"idle": {
+		"bones": {
+			"bone7": {
+				"translate": [
+					{ "x": -0.19, "curve": 0.375, "c2": 0.62, "c3": 0.716 },
+					{ "time": 0.1333, "curve": 0.318, "c3": 0.6, "c4": 0.84 },
+					{ "time": 0.8, "x": -1.46, "y": 0.02, "curve": 0.243, "c3": 0.68, "c4": 0.71 },
+					{ "time": 1.3333, "x": -0.19 }
+				],
+				"scale": [
+					{ "x": 0.986, "curve": 0.375, "c2": 0.62, "c3": 0.716 },
+					{ "time": 0.1333, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.8, "x": 0.895, "curve": 0.243, "c3": 0.68, "c4": 0.71 },
+					{ "time": 1.3333, "x": 0.986 }
+				]
+			},
+			"bone6": {
+				"rotate": [
+					{ "angle": 3.42, "curve": 0.32, "c2": 0.29, "c3": 0.757 },
+					{ "time": 0.5333, "angle": -2.62, "curve": 0.25, "c3": 0.75 },
+					{ "time": 1.2, "angle": 4.33, "curve": 0.284, "c3": 0.625, "c4": 0.38 },
+					{ "time": 1.3333, "angle": 3.42 }
+				],
+				"translate": [
+					{ "x": -1.5, "y": 0.28, "curve": 0.32, "c2": 0.29, "c3": 0.757 },
+					{ "time": 0.5333, "x": 0.83, "y": -0.14, "curve": 0.318, "c3": 0.6, "c4": 0.84 },
+					{ "time": 1.2, "x": -1.85, "y": 0.34, "curve": 0.284, "c3": 0.625, "c4": 0.38 },
+					{ "time": 1.3333, "x": -1.5, "y": 0.28 }
+				]
+			},
+			"bone5": {
+				"rotate": [
+					{ "angle": -0.12, "curve": 0.303, "c2": 0.23, "c3": 0.646, "c4": 0.59 },
+					{ "time": 0.4, "angle": -1.42, "curve": 0.318, "c3": 0.6, "c4": 0.84 },
+					{ "time": 1.0667, "angle": 0.29, "curve": 0.292, "c3": 0.63, "c4": 0.37 },
+					{ "time": 1.3333, "angle": -0.12 }
+				],
+				"translate": [
+					{ "x": 0.34, "y": 0.11, "curve": 0.303, "c2": 0.23, "c3": 0.646, "c4": 0.59 },
+					{ "time": 0.4, "curve": 0.25, "c3": 0.75 },
+					{ "time": 1.0667, "x": 0.46, "y": 0.15, "curve": 0.292, "c3": 0.63, "c4": 0.37 },
+					{ "time": 1.3333, "x": 0.34, "y": 0.11 }
+				],
+				"scale": [
+					{ "x": 0.964, "curve": 0.303, "c2": 0.23, "c3": 0.646, "c4": 0.59 },
+					{ "time": 0.4, "curve": 0.318, "c3": 0.6, "c4": 0.84 },
+					{ "time": 1.0667, "x": 0.952, "curve": 0.292, "c3": 0.63, "c4": 0.37 },
+					{ "time": 1.3333, "x": 0.964 }
+				]
+			},
+			"bone2": {
+				"translate": [
+					{ "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.6667, "y": -0.15, "curve": 0.25, "c3": 0.75 },
+					{ "time": 1.3333 }
+				],
+				"scale": [
+					{ "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.6667, "x": 0.945, "curve": 0.25, "c3": 0.75 },
+					{ "time": 1.3333 }
+				]
+			},
+			"bone8": {
+				"translate": [
+					{ "x": -0.29, "curve": 0.381, "c2": 0.55, "c3": 0.742 },
+					{ "time": 0.2667, "x": 0.1, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.9333, "x": -0.96, "y": 0.02, "curve": 0.245, "c3": 0.637, "c4": 0.56 },
+					{ "time": 1.3333, "x": -0.29 }
+				]
+			},
+			"bone14": {
+				"translate": [
+					{ "x": -0.89, "y": 0.04, "curve": 0.296, "c2": 0.15, "c3": 0.636, "c4": 0.52 },
+					{ "time": 0.5, "curve": 0.318, "c3": 0.6, "c4": 0.84 },
+					{ "time": 1.1667, "x": -0.98, "y": 0.04, "curve": 0.314, "c3": 0.649, "c4": 0.35 },
+					{ "time": 1.3333, "x": -0.89, "y": 0.04 }
+				]
+			},
+			"bone10": {
+				"translate": [
+					{ "time": 1.3333 }
+				],
+				"scale": [
+					{ "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.6667, "x": 1.028, "y": 1.028, "curve": 0.25, "c3": 0.75 },
+					{ "time": 1.3333 }
+				]
+			},
+			"bone9": {
+				"translate": [
+					{ "x": -0.29, "curve": 0.381, "c2": 0.55, "c3": 0.742 },
+					{ "time": 0.2667, "x": 0.1, "curve": 0.339, "c3": 0.658, "c4": 0.48 },
+					{ "time": 0.9333, "x": -0.96, "y": 0.02, "curve": 0.245, "c3": 0.637, "c4": 0.56 },
+					{ "time": 1.3333, "x": -0.29 }
+				]
+			},
+			"bone3": {
+				"translate": [
+					{ "x": -0.22, "curve": 0.375, "c2": 0.62, "c3": 0.716 },
+					{ "time": 0.1333, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.8, "x": -1.68, "y": 0.02, "curve": 0.243, "c3": 0.68, "c4": 0.71 },
+					{ "time": 1.3333, "x": -0.22 }
+				]
+			},
+			"bone4": {
+				"translate": [
+					{ "x": -1.02, "y": 0.02, "curve": 0.381, "c2": 0.55, "c3": 0.742 },
+					{ "time": 0.2667, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.9333, "x": -2.76, "y": 0.04, "curve": 0.245, "c3": 0.637, "c4": 0.56 },
+					{ "time": 1.3333, "x": -1.02, "y": 0.02 }
+				]
+			},
+			"bone13": {
+				"translate": [
+					{ "x": -1, "y": -0.81, "curve": 0.296, "c2": 0.15, "c3": 0.636, "c4": 0.52 },
+					{ "time": 0.5, "curve": 0.25, "c3": 0.75 },
+					{ "time": 1.1667, "x": -1.11, "y": -0.89, "curve": 0.314, "c3": 0.649, "c4": 0.35 },
+					{ "time": 1.3333, "x": -1, "y": -0.81 }
+				]
+			}
+		},
+		"deform": {
+			"default": {
+				"2": {
+					"2": [
+						{ "time": 0.4, "curve": 0.25, "c3": 0.75 },
+						{
+							"time": 0.4667,
+							"offset": 2,
+							"vertices": [ 0.28407, -0.81871, 0.53405, -3.21514, 0.27367, -4.04925, -0.03537, -4.73982, 0.27611, -3.8276, 0, 0, 0.11382, 1.97208, 0.47701, 2.25509, -0.46702, 1.68304, 0.33704, 0.18853, 0.01704, 0.02606 ],
+							"curve": "stepped"
+						},
+						{
+							"time": 0.5333,
+							"offset": 2,
+							"vertices": [ 0.28407, -0.81871, 0.53405, -3.21514, 0.27367, -4.04925, -0.03537, -4.73982, 0.27611, -3.8276, 0, 0, 0.11382, 1.97208, 0.47701, 2.25509, -0.46702, 1.68304, 0.33704, 0.18853, 0.01704, 0.02606 ],
+							"curve": 0.25,
+							"c3": 0.75
+						},
+						{ "time": 0.6 }
+					]
+				},
+				"3": {
+					"3": [
+						{ "time": 0.4, "curve": 0.25, "c3": 0.75 },
+						{
+							"time": 0.4667,
+							"vertices": [ 0.27165, -0.05288, -0.27365, -1.55461, -0.37349, -2.21851, -0.4899, -2.19585, 0, 0, 0.30998, 3.25573, 0.29613, 4.57581, 0.45494, 3.56741, 0.26683, 0.71178, 0, 0, 0, 0, 0.06945, -0.33508 ],
+							"curve": "stepped"
+						},
+						{
+							"time": 0.5333,
+							"vertices": [ 0.27165, -0.05288, -0.27365, -1.55461, -0.37349, -2.21851, -0.4899, -2.19585, 0, 0, 0.30998, 3.25573, 0.29613, 4.57581, 0.45494, 3.56741, 0.26683, 0.71178, 0, 0, 0, 0, 0.06945, -0.33508 ],
+							"curve": 0.25,
+							"c3": 0.75
+						},
+						{ "time": 0.6 }
+					]
+				}
+			}
+		}
+	},
+	"jump": {
+		"bones": {
+			"bone7": {
+				"translate": [
+					{ "x": -3.04, "y": 1.1, "curve": 0.354, "c2": 0.4, "c3": 0.711, "c4": 0.82 },
+					{ "time": 0.1667, "x": 1.75, "y": 0.28, "curve": "stepped" },
+					{ "time": 0.3, "x": 1.75, "y": 0.28 }
+				]
+			},
+			"bone3": {
+				"translate": [
+					{ "x": -3.49, "y": 0.34, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.1667, "x": 2.21, "y": -0.18, "curve": "stepped" },
+					{ "time": 0.3, "x": 2.21, "y": -0.18 }
+				]
+			},
+			"bone10": {
+				"translate": [
+					{ "x": -0.88 }
+				],
+				"scale": [
+					{ "x": 1.093, "y": 1.093, "curve": 0.318, "c3": 0.6, "c4": 0.84 },
+					{ "time": 0.1667, "x": 0.973, "y": 0.973, "curve": "stepped" },
+					{ "time": 0.3, "x": 0.973, "y": 0.973 }
+				]
+			},
+			"bone2": {
+				"scale": [
+					{ "x": 0.944, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.1667, "x": 1.025, "curve": "stepped" },
+					{ "time": 0.3, "x": 1.025 }
+				]
+			},
+			"bone6": {
+				"rotate": [
+					{ "time": 0.1667, "angle": 14.88, "curve": "stepped" },
+					{ "time": 0.3, "angle": 14.88 }
+				],
+				"translate": [
+					{ "time": 0.1667, "x": -6.54, "y": -1.09, "curve": "stepped" },
+					{ "time": 0.3, "x": -6.54, "y": -1.09 }
+				]
+			}
+		}
+	},
+	"ready": {
+		"bones": {
+			"bone7": {
+				"translate": [
+					{ "x": -3.04, "y": 1.1, "curve": 0.354, "c2": 0.4, "c3": 0.711, "c4": 0.82 },
+					{ "time": 0.5, "x": -3.4, "y": -0.42, "curve": "stepped" },
+					{ "time": 1.5, "x": -3.4, "y": -0.42 }
+				]
+			},
+			"bone10": {
+				"translate": [
+					{ "x": -0.88, "curve": 0.318, "c3": 0.6, "c4": 0.84 },
+					{ "time": 0.5, "curve": "stepped" },
+					{ "time": 1.5 }
+				],
+				"scale": [
+					{ "x": 1.093, "y": 1.093, "curve": 0.318, "c3": 0.6, "c4": 0.84 },
+					{ "time": 0.5, "x": 1.158, "y": 1.158, "curve": "stepped" },
+					{ "time": 1.5, "x": 1.158, "y": 1.158 }
+				]
+			},
+			"bone3": {
+				"translate": [
+					{ "x": -3.49, "y": 0.34, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.5, "x": -4.89, "y": -0.52, "curve": "stepped" },
+					{ "time": 1.5, "x": -4.89, "y": -0.52 }
+				]
+			},
+			"bone2": {
+				"scale": [
+					{ "x": 0.944, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.5, "x": 0.923, "curve": "stepped" },
+					{ "time": 1.5, "x": 0.923 }
+				]
+			},
+			"bone4": {
+				"translate": [
+					{ "time": 0.5, "x": -4.7, "y": 0.18, "curve": 0.25, "c3": 0.75 },
+					{ "time": 1, "x": -6.74, "y": -0.22, "curve": 0.25, "c3": 0.75 },
+					{ "time": 1.5, "x": -4.7, "y": 0.18 }
+				]
+			},
+			"bone13": {
+				"translate": [
+					{ "time": 1, "x": -2.56, "y": -1.99 }
+				]
+			},
+			"bone5": {
+				"rotate": [
+					{ "time": 1, "angle": -0.25 }
+				],
+				"translate": [
+					{ "time": 1, "x": -2.59, "y": -0.59 }
+				],
+				"scale": [
+					{ "time": 1, "x": 0.884 }
+				]
+			},
+			"bone14": {
+				"translate": [
+					{ "time": 1, "x": -2.82, "y": 1.5 }
+				]
+			}
+		}
+	}
+}
+}

+ 10 - 0
assets/Texture/Spine/Role/Role测试/spine_112_01.json.meta

@@ -0,0 +1,10 @@
+{
+  "ver": "1.2.5",
+  "uuid": "071917e4-6b0f-4e94-841a-4df18a43ba99",
+  "importer": "spine",
+  "textures": [
+    "7791327b-4033-4d39-8e29-c44b2a3201e9"
+  ],
+  "scale": 1,
+  "subMetas": {}
+}

二進制
assets/Texture/Spine/Role/Role测试/spine_112_01.png


+ 38 - 0
assets/Texture/Spine/Role/Role测试/spine_112_01.png.meta

@@ -0,0 +1,38 @@
+{
+  "ver": "2.3.7",
+  "uuid": "7791327b-4033-4d39-8e29-c44b2a3201e9",
+  "importer": "texture",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 189,
+  "height": 94,
+  "platformSettings": {},
+  "subMetas": {
+    "spine_112_01": {
+      "ver": "1.0.6",
+      "uuid": "31fd167d-80fe-403f-ba0c-0a84d1a88bf2",
+      "importer": "sprite-frame",
+      "rawTextureUuid": "7791327b-4033-4d39-8e29-c44b2a3201e9",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 2,
+      "trimY": 2,
+      "width": 185,
+      "height": 90,
+      "rawWidth": 189,
+      "rawHeight": 94,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

+ 13 - 0
assets/Texture/Spine/金币.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.3",
+  "uuid": "76449396-c231-48f3-8748-5afd12d88caa",
+  "importer": "folder",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

+ 27 - 0
assets/Texture/Spine/金币/skeleton.atlas

@@ -0,0 +1,27 @@
+
+skeleton.png
+size: 98,55
+format: RGBA8888
+filter: Linear,Linear
+repeat: none
+金币/beimian
+  rotate: false
+  xy: 53, 2
+  size: 30, 51
+  orig: 30, 51
+  offset: 0, 0
+  index: -1
+金币/cemian
+  rotate: false
+  xy: 85, 2
+  size: 11, 51
+  orig: 13, 51
+  offset: 0, 0
+  index: -1
+金币/zhengmian
+  rotate: false
+  xy: 2, 4
+  size: 49, 49
+  orig: 49, 49
+  offset: 0, 0
+  index: -1

+ 6 - 0
assets/Texture/Spine/金币/skeleton.atlas.meta

@@ -0,0 +1,6 @@
+{
+  "ver": "1.0.3",
+  "uuid": "80ace4d7-5872-44aa-aa29-9768f282fab2",
+  "importer": "asset",
+  "subMetas": {}
+}

+ 81 - 0
assets/Texture/Spine/金币/skeleton.json

@@ -0,0 +1,81 @@
+{
+"skeleton": {
+	"hash": "HANVV344dddeKh6gBJpO5M39AZM",
+	"spine": "3.8.75",
+	"x": -24.88,
+	"y": -25.58,
+	"width": 49.38,
+	"height": 51.16,
+	"images": "H:/小游戏/跳一跳/美术资源/主界面、游玩界面/主界面、游玩界面/主界面/tinified/金币",
+	"audio": ""
+},
+"bones": [
+	{ "name": "root" },
+	{ "name": "金币/zhengmian", "parent": "root" },
+	{ "name": "金币/cemian", "parent": "root" },
+	{ "name": "金币/beimian", "parent": "root", "x": 0.25 }
+],
+"slots": [
+	{ "name": "金币/cemian", "bone": "金币/cemian", "attachment": "金币/cemian" },
+	{ "name": "金币/beimian", "bone": "金币/beimian", "attachment": "金币/beimian" },
+	{ "name": "金币/zhengmian", "bone": "金币/zhengmian", "attachment": "金币/zhengmian" }
+],
+"skins": [
+	{
+		"name": "default",
+		"attachments": {
+			"金币/cemian": {
+				"金币/cemian": { "width": 13, "height": 51 }
+			},
+			"金币/beimian": {
+				"金币/beimian": { "x": -10, "rotation": 0.31, "width": 30, "height": 51 }
+			},
+			"金币/zhengmian": {
+				"金币/zhengmian": { "width": 49, "height": 49 },
+				"金币/zhengmian": { "width": 49, "height": 49 }
+			}
+		}
+	}
+],
+"animations": {
+	"animation": {
+		"bones": {
+			"金币/zhengmian": {
+				"translate": [
+					{},
+					{ "time": 0.6333, "x": 1.73 },
+					{ "time": 0.6667, "x": -3.69 },
+					{ "time": 1.3333 }
+				],
+				"scale": [
+					{},
+					{ "time": 0.6667, "x": 0 },
+					{ "time": 1.3333 }
+				]
+			},
+			"金币/cemian": {
+				"scale": [
+					{ "x": 0.778, "curve": "stepped" },
+					{ "time": 1.3333, "x": 0.778 }
+				]
+			},
+			"金币/beimian": {
+				"translate": [
+					{ "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.6333, "x": -4.24, "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.6667, "x": -2.97 },
+					{ "time": 0.7, "x": 1.7, "curve": 0.25, "c3": 0.75 },
+					{ "time": 1.3333 }
+				],
+				"scale": [
+					{ "curve": 0.25, "c3": 0.75 },
+					{ "time": 0.3333, "x": 0.54 },
+					{ "time": 0.6667, "x": 0.001 },
+					{ "time": 1, "x": -0.555 },
+					{ "time": 1.3333, "x": -1 }
+				]
+			}
+		}
+	}
+}
+}

+ 10 - 0
assets/Texture/Spine/金币/skeleton.json.meta

@@ -0,0 +1,10 @@
+{
+  "ver": "1.2.5",
+  "uuid": "8dcd0d58-dbd9-4879-a9de-7108e2da6fd5",
+  "importer": "spine",
+  "textures": [
+    "61eef987-026b-4fc9-b224-9bb585816d6b"
+  ],
+  "scale": 1,
+  "subMetas": {}
+}

二進制
assets/Texture/Spine/金币/skeleton.png


+ 38 - 0
assets/Texture/Spine/金币/skeleton.png.meta

@@ -0,0 +1,38 @@
+{
+  "ver": "2.3.7",
+  "uuid": "61eef987-026b-4fc9-b224-9bb585816d6b",
+  "importer": "texture",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 98,
+  "height": 55,
+  "platformSettings": {},
+  "subMetas": {
+    "skeleton": {
+      "ver": "1.0.6",
+      "uuid": "a758bcce-bc93-44b3-8379-83abec00ceb5",
+      "importer": "sprite-frame",
+      "rawTextureUuid": "61eef987-026b-4fc9-b224-9bb585816d6b",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 2,
+      "trimY": 2,
+      "width": 94,
+      "height": 51,
+      "rawWidth": 98,
+      "rawHeight": 55,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

二進制
assets/Texture/UI/brand.png


+ 4 - 4
assets/Texture/UI/brand.png.meta

@@ -24,10 +24,10 @@
       "offsetY": 0,
       "trimX": 0,
       "trimY": 0,
-      "width": 359,
-      "height": 261,
-      "rawWidth": 359,
-      "rawHeight": 261,
+      "width": 344,
+      "height": 250,
+      "rawWidth": 344,
+      "rawHeight": 250,
       "borderTop": 0,
       "borderBottom": 0,
       "borderLeft": 0,

Some files were not shown because too many files changed in this diff