Quellcode durchsuchen

初级版本开发完毕

Citrus vor 3 Monaten
Ursprung
Commit
56b0de4425
95 geänderte Dateien mit 12238 neuen und 358 gelöschten Zeilen
  1. 2 6
      assets/Script/AutoBuild.ts
  2. 47 0
      assets/Script/DifficultyManager.ts
  3. 9 0
      assets/Script/DifficultyManager.ts.meta
  4. 4 2
      assets/Script/EventManager.ts
  5. 62 1
      assets/Script/Loading.ts
  6. 9 0
      assets/Script/MyFrame.meta
  7. 9 0
      assets/Script/MyFrame/AD.meta
  8. 60 0
      assets/Script/MyFrame/AD/AdManager.ts
  9. 9 0
      assets/Script/MyFrame/AD/AdManager.ts.meta
  10. 98 0
      assets/Script/MyFrame/AD/DouYinAdManager.ts
  11. 9 0
      assets/Script/MyFrame/AD/DouYinAdManager.ts.meta
  12. 97 0
      assets/Script/MyFrame/AD/KuaiShouAdManager.ts
  13. 9 0
      assets/Script/MyFrame/AD/KuaiShouAdManager.ts.meta
  14. 123 0
      assets/Script/MyFrame/AD/WeChatAdManager.ts
  15. 9 0
      assets/Script/MyFrame/AD/WeChatAdManager.ts.meta
  16. 133 0
      assets/Script/MyFrame/HTTPS.ts
  17. 9 0
      assets/Script/MyFrame/HTTPS.ts.meta
  18. 9 0
      assets/Script/MyFrame/SDK.meta
  19. 11 0
      assets/Script/MyFrame/SDK/DouYinSDKManager.ts
  20. 9 0
      assets/Script/MyFrame/SDK/DouYinSDKManager.ts.meta
  21. 12 0
      assets/Script/MyFrame/SDK/KuaiShouSDKManager.ts
  22. 9 0
      assets/Script/MyFrame/SDK/KuaiShouSDKManager.ts.meta
  23. 54 0
      assets/Script/MyFrame/SDK/SDKManager.ts
  24. 9 0
      assets/Script/MyFrame/SDK/SDKManager.ts.meta
  25. 123 0
      assets/Script/MyFrame/SDK/WeChatSDKManager.ts
  26. 9 0
      assets/Script/MyFrame/SDK/WeChatSDKManager.ts.meta
  27. 18 0
      assets/Script/MyFrame/global.d.ts
  28. 9 0
      assets/Script/MyFrame/global.d.ts.meta
  29. 34 3
      assets/Script/Prop/Base/PropBase.ts
  30. 9 1
      assets/Script/Prop/Role.ts
  31. 23 3
      assets/Script/Prop/Type/diban.ts
  32. 9 0
      assets/Script/Rank.meta
  33. 116 0
      assets/Script/Rank/Rank.ts
  34. 9 0
      assets/Script/Rank/Rank.ts.meta
  35. 16 8
      assets/Script/RoleControl.ts
  36. 9 0
      assets/Script/Set.meta
  37. 106 0
      assets/Script/Set/AudioManager.ts
  38. 9 0
      assets/Script/Set/AudioManager.ts.meta
  39. 67 0
      assets/Script/Set/Set.ts
  40. 9 0
      assets/Script/Set/Set.ts.meta
  41. 6 2
      assets/Script/Top.ts
  42. 13 0
      assets/Script/UI/UI.ts
  43. 9 0
      assets/image/Rank.meta
  44. 3 0
      assets/image/Rank/auto-atlas.pac
  45. 36 0
      assets/image/Rank/auto-atlas.pac.meta
  46. BIN
      assets/image/Rank/image.png
  47. 28 28
      assets/image/Rank/image.png.meta
  48. BIN
      assets/image/Rank/排行榜.png
  49. 28 28
      assets/image/Rank/排行榜.png.meta
  50. BIN
      assets/image/Rank/组 14.png
  51. 28 28
      assets/image/Rank/组 14.png.meta
  52. BIN
      assets/image/Rank/组 1413.png
  53. 134 0
      assets/image/Rank/组 1413.png.meta
  54. BIN
      assets/image/Rank/组 1414.png
  55. 134 0
      assets/image/Rank/组 1414.png.meta
  56. BIN
      assets/image/Rank/组 2.png
  57. 134 0
      assets/image/Rank/组 2.png.meta
  58. BIN
      assets/image/Rank/联集 6.png
  59. 134 0
      assets/image/Rank/联集 6.png.meta
  60. BIN
      assets/image/UI/组 1335.png
  61. 134 0
      assets/image/UI/组 1335.png.meta
  62. 9 0
      assets/image/set.meta
  63. BIN
      assets/image/set/容器(1).png
  64. 134 0
      assets/image/set/容器(1).png.meta
  65. BIN
      assets/image/set/容器.png
  66. 134 0
      assets/image/set/容器.png.meta
  67. BIN
      assets/image/set/组 1270.png
  68. 134 0
      assets/image/set/组 1270.png.meta
  69. BIN
      assets/image/set/组 1272.png
  70. 134 0
      assets/image/set/组 1272.png.meta
  71. BIN
      assets/image/set/组 14.png
  72. 134 0
      assets/image/set/组 14.png.meta
  73. BIN
      assets/image/set/组 2.png
  74. 134 0
      assets/image/set/组 2.png.meta
  75. BIN
      assets/image/set/联集 6.png
  76. 134 0
      assets/image/set/联集 6.png.meta
  77. BIN
      assets/image/set/设置.png
  78. 134 0
      assets/image/set/设置.png.meta
  79. BIN
      assets/image/游戏界面 (1).png
  80. BIN
      assets/image/游戏界面-失败.png
  81. BIN
      assets/image/游戏界面-成功.png
  82. 150 138
      assets/resources/Game.scene
  83. 225 15
      assets/resources/Prefabs/diban.prefab
  84. 3 3
      assets/resources/Prefabs/dici.prefab
  85. 9 0
      assets/resources/Sound.meta
  86. BIN
      assets/resources/Sound/anniu.mp3
  87. 14 0
      assets/resources/Sound/anniu.mp3.meta
  88. BIN
      assets/resources/Sound/dead.mp3
  89. 14 0
      assets/resources/Sound/dead.mp3.meta
  90. BIN
      assets/resources/Sound/gbg.mp3
  91. 14 0
      assets/resources/Sound/gbg.mp3.meta
  92. BIN
      assets/resources/Sound/heart.mp3
  93. 14 0
      assets/resources/Sound/heart.mp3.meta
  94. 8503 91
      assets/scene/loading.scene
  95. 4 1
      settings/v2/packages/project.json

+ 2 - 6
assets/Script/AutoBuild.ts

@@ -18,7 +18,6 @@ export class AutoBuild extends Component {
 
 
     protected onLoad(): void {
-
         ObjectPoolManager.getInstance().initializePools().then((ok) => {
             if (ok) {
                 console.log('初始化成功');
@@ -45,11 +44,8 @@ export class AutoBuild extends Component {
             return
         }
 
-        // 加一分
-        EventManager.instance.et.emit(EventManager.EventType.Add_Score);
-
-
-
+        // // 加一分
+        // EventManager.instance.et.emit(EventManager.EventType.Add_Score);
     }
 
     ClerarNode() {

+ 47 - 0
assets/Script/DifficultyManager.ts

@@ -0,0 +1,47 @@
+import { _decorator, Component, Label, macro, Node, NodeEventType } from 'cc';
+const { ccclass, property } = _decorator;
+
+@ccclass('DifficultyManager')
+export class DifficultyManager extends Component {
+
+
+    Difficulty: number = -1
+
+
+    static UpSpeed: number = 10;
+    static G: number = 20;
+
+    protected start(): void {
+
+        this.schedule(() => {
+            let num = parseInt(this.getComponent(Label).string)
+            if (num < 50) {
+                if (this.Difficulty != 0) {
+                    this.Difficulty = 0
+                    /////////////////////////
+                    DifficultyManager.UpSpeed = 10;
+                    DifficultyManager.G = 20;
+                }
+            } else if (num < 100) {
+                if (this.Difficulty != 1) {
+                    this.Difficulty = 1
+                    /////////////////////////
+                    DifficultyManager.UpSpeed = 15;
+                    DifficultyManager.G = 30;
+                }
+            } else if (num < 150) {
+                if (this.Difficulty != 2) {
+                    this.Difficulty = 2
+                    /////////////////////////
+                    DifficultyManager.UpSpeed = 20;
+                    DifficultyManager.G = 40;
+                }
+            }
+        }, 1, macro.REPEAT_FOREVER, 0)
+    }
+
+
+
+}
+
+

+ 9 - 0
assets/Script/DifficultyManager.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "e51c7c22-562d-4ae1-b0d0-010574499e2a",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 4 - 2
assets/Script/EventManager.ts

@@ -1,4 +1,5 @@
-import { _decorator, EventTarget } from 'cc';
+import { _decorator, Color, director, EventTarget, Label } from 'cc';
+import { DEBUG } from 'cc/env';
 const { ccclass, property } = _decorator;
 
 /**
@@ -17,7 +18,7 @@ export class EventManager {
 
     Die_Role: 'Die_Role',
 
- 
+
 
     OpenUIPnael: 'OpenUIPnael',
   }
@@ -39,3 +40,4 @@ export class EventManager {
   }
 }
 
+

+ 62 - 1
assets/Script/Loading.ts

@@ -1,5 +1,9 @@
-import { _decorator, Component, director, Node, resources, SceneAsset, Sprite } from 'cc';
+import { _decorator, Color, Component, director, Label, Node, resources, SceneAsset, Sprite } from 'cc';
 import { DEBUG } from 'cc/env';
+import { AdManager } from './MyFrame/AD/AdManager';
+import { SDKManager } from './MyFrame/SDK/SDKManager';
+import { AudioManager } from './Set/AudioManager';
+
 const { ccclass, property } = _decorator;
 
 @ccclass('Loading')
@@ -15,14 +19,41 @@ export class Loading extends Component {
     @property(Node)
     SliderNode: Node = null;
 
+
+    @property(Node)
+    SetNode: Node = null;
+
+
+    @property(Node)
+    TipsNode: Node = null;
+
+
+    @property(Node)
+    RankPanelNode: Node = null;
+    @property(Node)
+    SetPanelNode: Node = null;
+
     protected onLoad(): void {
         this.init()
         this.Startloading()
+
+
+        AudioManager.Instance.playBgm(AudioManager.BGM)
+
+
+
+        SDKManager.getInstance().login((res) => {
+
+        })
     }
 
     init() {
         this.RankNode.active = false;
+        this.SetNode.active = false;
         this.StartNode.active = false;
+        this.TipsNode.active = false;
+
+
 
         this.SliderNode.active = true;
         this.SliderNode.getComponentInChildren(Sprite).fillRange = 0;
@@ -55,6 +86,8 @@ export class Loading extends Component {
 
         this.StartNode.active = true;
         this.RankNode.active = true;
+        this.TipsNode.active = true;
+        this.SetNode.active = true;
     }
 
 
@@ -68,11 +101,39 @@ export class Loading extends Component {
             }
             console.log('加载场景成功');
         })
+        AudioManager.Instance.playEffict(AudioManager.anniu)
     }
 
 
     ClickRank() {
         console.log('点击排行榜');
+        this.RankPanelNode.active = true;
+        AudioManager.Instance.playEffict(AudioManager.anniu)
+    }
+
+
+
+    ClickSet() {
+        console.log('点击设置');
+        this.SetPanelNode.active = true;
+        AudioManager.Instance.playEffict(AudioManager.anniu)
+
+
+        
+    }
+    ///////////////////
+
+    banner() {
+        // AdManager.getInstance().showBannerAd()
+    }
+
+    chapinng() {
+        // AdManager.getInstance().showInterstitialAd()
+    }
+    jili() {
+        // AdManager.getInstance().showRewardVideoAd((res: boolean) => {
+        //     console.log(res);
+        // })
     }
 }
 

+ 9 - 0
assets/Script/MyFrame.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.0",
+  "importer": "directory",
+  "imported": true,
+  "uuid": "e6a7bfb7-9ec6-46ef-9484-c6b347d69bea",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 9 - 0
assets/Script/MyFrame/AD.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.0",
+  "importer": "directory",
+  "imported": true,
+  "uuid": "209a3842-b67e-4da3-b46f-3520c820b90c",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 60 - 0
assets/Script/MyFrame/AD/AdManager.ts

@@ -0,0 +1,60 @@
+import { sys } from "cc";
+import { WeChatAdManager } from "./WeChatAdManager";
+import { DouYinAdManager } from "./DouYinAdManager";
+import { KuaiShouAdManager } from "./KuaiShouAdManager";
+
+
+export class AdManager {
+    private static _instance: AdManager;
+    public static getInstance(): AdManager {
+        if (!AdManager._instance) {
+            if ((sys.platform == sys.Platform.WECHAT_GAME) && window.ks) {
+                AdManager._instance = new AdManager('kuaihsou');
+            } else if (sys.platform == sys.Platform.WECHAT_GAME) {
+                AdManager._instance = new AdManager('wechat');
+            } else if (sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
+                AdManager._instance = new AdManager('douyin');
+            } else {
+                AdManager._instance = new AdManager('wechat');
+            }
+        }
+        return AdManager._instance;
+    }
+
+    private currentAdManager: WeChatAdManager | DouYinAdManager | KuaiShouAdManager;
+
+    constructor(platform: string) {
+        sys.Platform.WECHAT_GAME
+        switch (platform) {
+            case 'wechat':
+                this.currentAdManager = new WeChatAdManager();
+                break;
+            case 'douyin':
+                this.currentAdManager = new DouYinAdManager();
+                break;
+            case 'kuaihsou':
+                this.currentAdManager = new KuaiShouAdManager();
+                break;
+            default:
+                console.log('Unsupported platform');
+        }
+    }
+
+    public showBannerAd() {
+        if (this.currentAdManager) {
+            this.currentAdManager.showBannerAd();
+        }
+    }
+
+    public showRewardVideoAd(successCallback: (res) => void) {
+        if (this.currentAdManager) {
+            this.currentAdManager.showRewardVideoAd(successCallback);
+        }
+    }
+
+    public showInterstitialAd() {
+        if (this.currentAdManager) {
+            this.currentAdManager.showInterstitialAd();
+        }
+    }
+}

+ 9 - 0
assets/Script/MyFrame/AD/AdManager.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "2415ffa4-d3cf-44d0-8725-fddb385230f7",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 98 - 0
assets/Script/MyFrame/AD/DouYinAdManager.ts

@@ -0,0 +1,98 @@
+export class DouYinAdManager {
+    private bannerAd: any;
+    private rewardVideoAd: any;
+    private interstitialAd: any;
+
+    constructor() {
+        this.initBannerAd();
+        this.initRewardVideoAd();
+        this.initInterstitialAd();
+    }
+
+    private initBannerAd() {
+        let tt = (window as any)["tt"];
+        if (tt.createBannerAd) {
+            this.bannerAd = tt.createBannerAd({
+                adUnitId: 'YOUR_BANNER_AD_ID',
+                style: {
+                    left: 0,
+                    top: 0,
+                    width: 300
+                }
+            });
+            this.bannerAd.onLoad(() => {
+                this.bannerAd.show();
+            });
+            this.bannerAd.onError((err) => {
+                console.log('bannerAd onError', err);
+            });
+            this.bannerAd.onClose(() => {
+                console.log('bannerAd onClose');
+            });
+        }
+    }
+
+    private initRewardVideoAd() {
+        let tt = (window as any)["tt"];
+        if (tt.createRewardedVideoAd) {
+            this.rewardVideoAd = tt.createRewardedVideoAd({
+                adUnitId: 'YOUR_REWARD_VIDEO_AD_ID'
+            });
+            this.rewardVideoAd.onLoad(() => {
+                console.log('rewardVideoAd onLoad');
+            });
+            this.rewardVideoAd.onError((err) => {
+                console.log('rewardVideoAd onError', err);
+            });
+            this.rewardVideoAd.onClose((res) => {
+                if (res && res.isEnded) {
+                    console.log('rewardVideoAd onClose, user finished video');
+                } else {
+                    console.log('rewardVideoAd onClose, user left video');
+                }
+            });
+        }
+    }
+
+    private initInterstitialAd() {
+        let tt = (window as any)["tt"];
+        if (tt.createInterstitialAd) {
+            this.interstitialAd = tt.createInterstitialAd({
+                adUnitId: 'YOUR_INTERSTITIAL_AD_ID'
+            });
+            this.interstitialAd.onLoad(() => {
+                console.log('interstitialAd onLoad');
+            });
+            this.interstitialAd.onError((err) => {
+                console.log('interstitialAd onError', err);
+            });
+            this.interstitialAd.onClose(() => {
+                console.log('interstitialAd onClose');
+            });
+        }
+    }
+
+    public showRewardVideoAd(callback: Function) {
+        if (this.rewardVideoAd) {
+            this.rewardVideoAd.show().then(() => {
+                console.log('rewardVideoAd shown successfully');
+                callback();
+            })
+        }
+    }
+
+    public showBannerAd() {
+        if (this.bannerAd) {
+            this.bannerAd.show().catch((err) => {
+                console.log('showBannerAd error', err);
+            });
+        }
+    }
+    public showInterstitialAd() {
+        if (this.interstitialAd) {
+            this.interstitialAd.show().catch((err) => {
+                console.log('showInterstitialAd error', err);
+            });
+        }
+    }
+}

+ 9 - 0
assets/Script/MyFrame/AD/DouYinAdManager.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "5fbaac03-45fb-45c3-998c-ffc1e24823cd",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 97 - 0
assets/Script/MyFrame/AD/KuaiShouAdManager.ts

@@ -0,0 +1,97 @@
+export class KuaiShouAdManager {
+    private bannerAd: any;
+    private rewardVideoAd: any;
+    private interstitialAd: any;
+
+    constructor() {
+        this.initBannerAd();
+        this.initRewardVideoAd();
+        this.initInterstitialAd();
+    }
+
+    private initBannerAd() {
+        let ks = (window as any)["ks"];
+        if (ks.createBannerAd) {
+            this.bannerAd = ks.createBannerAd({
+                adUnitId: 'YOUR_BANNER_AD_ID',
+                style: {
+                    left: 0,
+                    top: 0,
+                    width: 300
+                }
+            });
+            this.bannerAd.onLoad(() => {
+                this.bannerAd.show();
+            });
+            this.bannerAd.onError((err) => {
+                console.log('bannerAd onError', err);
+            });
+            this.bannerAd.onClose(() => {
+                console.log('bannerAd onClose');
+            });
+        }
+    }
+
+    private initRewardVideoAd() {
+        let ks = (window as any)["ks"];
+        if (ks.createRewardedVideoAd) {
+            this.rewardVideoAd = ks.createRewardedVideoAd({
+                adUnitId: 'YOUR_REWARD_VIDEO_AD_ID'
+            });
+            this.rewardVideoAd.onLoad(() => {
+                console.log('rewardVideoAd onLoad');
+            });
+            this.rewardVideoAd.onError((err) => {
+                console.log('rewardVideoAd onError', err);
+            });
+            this.rewardVideoAd.onClose((res) => {
+                if (res && res.isEnded) {
+                    console.log('rewardVideoAd onClose, user finished video');
+                } else {
+                    console.log('rewardVideoAd onClose, user left video');
+                }
+            });
+        }
+    }
+
+    private initInterstitialAd() {
+        let ks = (window as any)["ks"];
+        if (ks.createInterstitialAd) {
+            this.interstitialAd = ks.createInterstitialAd({
+                adUnitId: 'YOUR_INTERSTITIAL_AD_ID'
+            });
+            this.interstitialAd.onLoad(() => {
+                console.log('interstitialAd onLoad');
+            });
+            this.interstitialAd.onError((err) => {
+                console.log('interstitialAd onError', err);
+            });
+            this.interstitialAd.onClose(() => {
+                console.log('interstitialAd onClose');
+            });
+        }
+    }
+
+    public showRewardVideoAd(callback: Function) {
+        if (this.rewardVideoAd) {
+            this.rewardVideoAd.show().then(() => {
+                console.log('rewardVideoAd shown successfully');
+                callback();
+            })
+        }
+    }
+    public showBannerAd() {
+        if (this.bannerAd) {
+            this.bannerAd.show().catch((err) => {
+                console.log('showBannerAd error', err);
+            });
+        }
+    }
+    public showInterstitialAd() {
+        if (this.interstitialAd) {
+            this.interstitialAd.show().catch((err) => {
+                console.log('showInterstitialAd error', err);
+            });
+        }
+    }
+}

+ 9 - 0
assets/Script/MyFrame/AD/KuaiShouAdManager.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "c9b39946-b489-43a8-871c-8a9dc306ffaa",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 123 - 0
assets/Script/MyFrame/AD/WeChatAdManager.ts

@@ -0,0 +1,123 @@
+export class WeChatAdManager {
+    private bannerAd: any;
+    private interstitialAd: any;
+
+    constructor() {
+        this.initBannerAd();
+        this.initInterstitialAd();
+    }
+
+    private initBannerAd() {
+        let wx = (window as any)["wx"];
+        // var size = screen.windowSize
+        if (wx.createCustomAd) {
+            this.bannerAd = wx.createCustomAd({
+                adUnitId: 'adunit-977eecc0430480e5',
+                style: {
+                    left: 0,
+                    top: 0,
+                    width: 350
+                }
+            });
+            this.bannerAd.onError((err) => {
+                console.log('bannerAd onError', err);
+            });
+        }
+
+    }
+
+    private initInterstitialAd() {
+        let wx = (window as any)["wx"];
+        if (wx.createInterstitialAd) {
+            this.interstitialAd = wx.createInterstitialAd({
+                adUnitId: 'adunit-81dd4aeed2e21106'
+            });
+            this.interstitialAd.onLoad(() => {
+                console.log('interstitialAd onLoad');
+            });
+            this.interstitialAd.onError((err) => {
+                console.log('interstitialAd onError', err);
+            });
+            this.interstitialAd.onClose(() => {
+                console.log('interstitialAd onClose');
+            });
+        }
+    }
+
+    private rewardVideo2
+    public showRewardVideoAd(callback: Function) {
+        let wx = (window as any)["wx"];
+
+        let id = "adunit-c35014ce7d96a211"
+        if (id == '') {
+            callback(true);
+            return;
+        }
+
+        if (this.rewardVideo2 != null) {
+            this.rewardVideo2.offClose(fun);
+        }
+        let rewardedVideoAd = wx.createRewardedVideoAd({
+            adUnitId: id,
+        });
+        this.rewardVideo2 = rewardedVideoAd;
+        rewardedVideoAd.load().then(() => {
+            wx.showToast({
+                title: "加载中,请稍后",
+                icon: 'success',//图标,支持"success"、"loading" 
+                duration: 1500,//提示的延迟时间,单位毫秒,默认:1500 
+                mask: false,//是否显示透明蒙层,防止触摸穿透,默认:false 
+                success: function () { },
+                fail: function () { },
+                complete: function () { }
+            })
+            console.log('激励视频 广告加载成功');
+            rewardedVideoAd.show();
+        });
+        rewardedVideoAd.onError(err => {
+            console.log('激励视频 广告显示失败', err);
+            wx.showToast({
+                title: "请稍后再试",
+                icon: 'fail',//图标,支持"success"、"loading" 
+                duration: 1500,//提示的延迟时间,单位毫秒,默认:1500 
+                mask: false,//是否显示透明蒙层,防止触摸穿透,默认:false 
+                success: function () { },
+                fail: function () { },
+                complete: function () { }
+            })
+            callback(false);
+        })
+        var fun = function (res) {
+            if (res && res.isEnded) {
+                console.log('res:  ', res);
+                callback(true);
+                rewardedVideoAd.offClose(fun);
+            } else {
+                console.log('播放中途退出');
+                callback(false);
+            }
+        }
+        rewardedVideoAd.onClose(fun);
+    }
+
+    public showBannerAd() {
+        if (this.bannerAd) {
+            this.bannerAd.show()
+        }
+    }
+    public hideBannerAd() {
+        if (this.bannerAd) {
+            this.bannerAd.showhide()
+        }
+    }
+
+
+
+    public showInterstitialAd() {
+        if (this.interstitialAd) {
+            this.interstitialAd.show().catch((err) => {
+                console.error('插屏广告显示失败', err)
+            })
+        }
+    }
+}

+ 9 - 0
assets/Script/MyFrame/AD/WeChatAdManager.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "7713fe23-07b9-4c81-aa9e-17102f154c0b",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 133 - 0
assets/Script/MyFrame/HTTPS.ts

@@ -0,0 +1,133 @@
+import { sys } from "cc";
+import { DEBUG } from "cc/env";
+
+export default class HTTPS {
+    private static _instance = null;
+    public static get Instance(): HTTPS {
+        if (this._instance == null) {
+            this._instance = new HTTPS();
+        }
+        return this._instance;
+    }
+    token = 'ffb5293a-37ce-4123-a074-df4b1450a2b6';
+
+    //得到现在的时间
+    private GetNowTime(): string {
+        const date = new Date(sys.now());
+        const hours = date.getHours();
+        const minutes = date.getMinutes();
+        const seconds = date.getSeconds();
+        return `${hours}:${minutes}:${seconds}    `;
+    }
+    post(action: string, data: object | string): Promise<any> {
+        if (DEBUG) {
+            console.log(this.GetNowTime() + "发送消息    >>>>>> :" + action, data);
+        }
+        const promise: Promise<any> = new Promise((resolve, reject) => {
+            var timeoutKey: number;
+            var retry = 5;//失败重试次数
+            const send = () => {
+                const httpRequest = new XMLHttpRequest();
+                const method = 'POST'
+                httpRequest.onreadystatechange = (event: Event): void => {
+                    const readyState = httpRequest.readyState;
+                    if (readyState !== 4) return;
+                    if (!timeoutKey) return;//已通知超时,之后收到数据后也不处理
+                    clearTimeout(timeoutKey);
+                    timeoutKey = null;
+                    const requestStatus = httpRequest.status;
+                    if (requestStatus >= 200 && requestStatus < 400) {
+                        let resp = JSON.parse(httpRequest.responseText);
+                        resolve(resp);
+                        if (DEBUG) {
+                            console.log(this.GetNowTime() + `收到消息(${retry}) >>>>>> :` + action, resp);
+                        }
+                    }
+                    else if (retry-- > 0) send();
+                    else reject(new Error('全部超时'));
+                }
+
+                httpRequest.open(method, Url + action, true);
+                // httpRequest.setRequestHeader("Access-Control-Allow-Origin", "*");
+                httpRequest.setRequestHeader("Content-Type", "application/json;charset=utf-8");
+                httpRequest.setRequestHeader("token", this.token != null ? this.token : "");
+
+                var text = typeof (data) == "string" ? data : JSON.stringify(data);
+                data ? httpRequest.send(text) : httpRequest.send();
+                timeoutKey = setTimeout(() => {
+                    timeoutKey = null;
+                    httpRequest.abort();
+                    reject(new Error(`Timeout`));
+                }, 12000);//超时时间(毫秒)
+            }
+            send();
+        })
+        return promise;
+    }
+    get(action: string): Promise<any> {
+
+        if (DEBUG) {
+            console.log(this.GetNowTime() + "发送消息    >>>>>> :" + action);
+        }
+
+        const promise: Promise<any> = new Promise((resolve, reject) => {
+            var timeoutKey: number;
+            var retry = 5;//失败重试次数
+            const send = () => {
+                const httpRequest = new XMLHttpRequest();
+                const method = 'GET'
+                httpRequest.onreadystatechange = (event: Event): void => {
+                    const readyState = httpRequest.readyState;
+                    if (readyState !== 4) return;
+                    if (!timeoutKey) return;//已通知超时,之后收到数据后也不处理
+                    clearTimeout(timeoutKey);
+                    timeoutKey = null;
+                    const requestStatus = httpRequest.status;
+                    if (requestStatus >= 200 && requestStatus < 400) {
+                        let resp = JSON.parse(httpRequest.responseText);
+                        resolve(resp);
+                        if (DEBUG) {
+                            console.log(this.GetNowTime() + `收到消息(${retry}) >>>>>> :` + action, resp);
+                        }
+                    }
+                    else if (retry-- > 0) send();
+                    else reject(new Error('全部超时'));
+                }
+
+                httpRequest.open(method, action, true);
+                httpRequest.setRequestHeader("token", this.token != null ? this.token : "");
+                httpRequest.send();
+                timeoutKey = setTimeout(() => {
+                    timeoutKey = null;
+                    httpRequest.abort();
+                    reject(new Error(`Timeout`));
+                }, 12000);//超时时间(毫秒)
+            }
+            send();
+        })
+        return promise;
+    }
+}
+
+export var Url = "https://meowtea2.maox.com.cn";
+
+
+export var NetGet = {
+    /**获取地图数据 */
+    Map: Url + "/api/tokenpass/Login/Map",
+
+}
+
+
+
+
+export var NetPost = {
+    /**登录 */
+    Login: "/api/user/third",
+    
+    UpdateScore: "/api/user/UpdateScore",
+
+    ranking_list: "/api/user/ranking_list",
+ 
+
+}

+ 9 - 0
assets/Script/MyFrame/HTTPS.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "3a66e6b2-9ae1-4d3c-834d-d260ad1b7a50",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 9 - 0
assets/Script/MyFrame/SDK.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.0",
+  "importer": "directory",
+  "imported": true,
+  "uuid": "39597acc-e77b-4b5b-983d-fa42fc288e78",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 11 - 0
assets/Script/MyFrame/SDK/DouYinSDKManager.ts

@@ -0,0 +1,11 @@
+
+export class DouYinSDKManager {
+
+    login(callBack: Function) {
+
+    }
+
+    showShareMenu() {
+
+    }
+}

+ 9 - 0
assets/Script/MyFrame/SDK/DouYinSDKManager.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "897dfca8-b351-4092-957f-30f528ce3e87",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 12 - 0
assets/Script/MyFrame/SDK/KuaiShouSDKManager.ts

@@ -0,0 +1,12 @@
+
+
+
+export class KuaiShouSDKManager {
+
+    login(callBack: Function) {
+
+    }
+    showShareMenu() {
+
+    }
+}

+ 9 - 0
assets/Script/MyFrame/SDK/KuaiShouSDKManager.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "53a9d5bc-4ad9-4866-b5ce-9c74f9c0a2dc",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 54 - 0
assets/Script/MyFrame/SDK/SDKManager.ts

@@ -0,0 +1,54 @@
+import { sys } from "cc";
+import { WeChatSDKManager } from "./WeChatSDKManager";
+import { DouYinSDKManager } from "./DouYinSDKManager";
+import { KuaiShouSDKManager } from "./KuaiShouSDKManager";
+
+
+export class SDKManager {
+    private static _instance: SDKManager;
+    public static getInstance(): SDKManager {
+        if (!SDKManager._instance) {
+            if ((sys.platform == sys.Platform.WECHAT_GAME) && window.ks) {
+                SDKManager._instance = new SDKManager('kuaihsou');
+            } else if (sys.platform == sys.Platform.WECHAT_GAME) {
+                SDKManager._instance = new SDKManager('wechat');
+            } else if (sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
+                SDKManager._instance = new SDKManager('douyin');
+            } else {
+                SDKManager._instance = new SDKManager('wechat');
+            }
+        }
+        return SDKManager._instance;
+    }
+
+    private currentSDKManager: WeChatSDKManager | DouYinSDKManager | KuaiShouSDKManager;
+
+    constructor(platform: string) {
+        switch (platform) {
+            case 'wechat':
+                this.currentSDKManager = new WeChatSDKManager();
+                break;
+            case 'douyin':
+                this.currentSDKManager = new DouYinSDKManager();
+                break;
+            case 'kuaihsou':
+                this.currentSDKManager = new KuaiShouSDKManager();
+                break;
+            default:
+                console.log('Unsupported platform');
+        }
+    }
+
+    public login(callBack: Function) {
+        if (this.currentSDKManager) {
+            this.currentSDKManager.login(callBack);
+        }
+    }
+
+    public showShareMenu() {
+        if (this.currentSDKManager) {
+            this.currentSDKManager.showShareMenu();
+        }
+    }
+
+}

+ 9 - 0
assets/Script/MyFrame/SDK/SDKManager.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "cf814471-ab9a-4369-a389-aca296122b96",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 123 - 0
assets/Script/MyFrame/SDK/WeChatSDKManager.ts

@@ -0,0 +1,123 @@
+import HTTPS, { NetPost } from "../HTTPS";
+
+
+
+export class WeChatSDKManager {
+
+    private loginData = {};
+    private logincode = '';
+    login(callBack: Function) {
+        let wx = (window as any)["wx"];
+        let self = this;
+
+        wx.login({
+            success: (login_res) => {
+
+                self.logincode = login_res.code;
+                console.log("得到登录凭证code");
+                console.log(login_res.code);
+
+
+                let sysInfo = wx.getSystemInfoSync();
+                let width = sysInfo.screenWidth;
+                let height = sysInfo.screenHeight;
+                wx.getSetting({
+                    success(getSetting_res) {
+                        console.log("wx.getSetting获取用户配置成功");
+                        if (getSetting_res.authSetting['scope.userInfo']) {
+                            wx.getUserInfo({
+                                success: function (res) {
+                                    console.log("得到用户信息数据");
+                                    console.log(getSetting_res);
+
+
+                                    self.loginData = res.userInfo;
+                                    self.requestGameServer()
+                                    callBack?.(res);
+                                }
+                            })
+                        } else {
+                            let button = wx.createUserInfoButton({
+                                type: 'text',
+                                text: '',
+                                style: {
+                                    left: 0,
+                                    top: 0,
+                                    width: width,
+                                    height: height,
+                                    lineHeight: height,
+                                    // backgroundColor: '#ff0000',
+                                    color: '#000000',
+                                    textAlign: 'center',
+                                    fontSize: 18,
+                                    borderRadius: 4
+                                }
+                            })
+                            // _disNode.active = true;
+                            button.onTap((res) => {
+                                // 用户同意授权后回调,通过回调可获取用户头像昵称信息
+                                console.log("用户点击后_得到用户信息数据");
+                                console.log(res);
+
+                                self.loginData = res.userInfo;
+
+                                self.requestGameServer()
+                                callBack?.(res);
+                                button.hide();
+                            })
+                            button.show();
+
+                        }
+                    },
+                    // 失败回调
+                    fail(res) {
+                        console.log("wx.getSetting获取用户配置失败");
+                        console.log(res);
+                    },
+                    // 结束回调(调用成功,失败都会执行)
+                    complete(res) {
+                        console.log("wx.getSetting获取用户配置结束");
+                        console.log(res);
+                    }
+                })
+            }
+        });
+    }
+
+
+    requestGameServer() {
+        HTTPS.Instance.post(NetPost.Login,
+            {
+                platform: 'wechatmini',
+                code: this.logincode,
+                avatar: this.loginData['avatarUrl'],
+                nickname: this.loginData['nickName'],
+            }).then((resp) => {
+                console.error('999999999999');
+                console.error(resp);
+            })
+    }
+
+
+    showShareMenu() {
+        let wx = (window as any)["wx"];
+        wx.showShareMenu({
+            menus: ['shareAppMessage', "shareTimeline"],
+        })
+        wx.onShareAppMessage(function () {
+            return {
+                title: '你能挑战过吗?',
+                imageUrl: ""
+            }
+        })
+
+        if (wx.onShareTimeline != null) {
+            wx.onShareTimeline(function () {
+                return {
+                    title: '你能挑战过吗?',
+                    imageUrl: ""
+                }
+            })
+        }
+    }
+}

+ 9 - 0
assets/Script/MyFrame/SDK/WeChatSDKManager.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "98eb785a-2551-4126-ae9a-ef324036112c",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 18 - 0
assets/Script/MyFrame/global.d.ts

@@ -0,0 +1,18 @@
+// global.d.ts
+declare namespace wx {
+    function login(options: { success: (res: { code: string }) => void, fail: (res: any) => void, complete: (res: any) => void }): void;
+    function createRewardedVideoAd(options: { adUnitId: string }): any;
+
+}
+
+declare namespace ks {
+    function login(options: { success: (res: { code: string }) => void, fail: (res: any) => void, complete: (res: any) => void }): void;
+}
+
+declare namespace tt {
+    function login(options: { success: (res: { code: string }) => void, fail: (res: any) => void, complete: (res: any) => void }): void;
+}
+
+declare namespace my {
+    function login(options: { success: (res: { code: string }) => void, fail: (res: any) => void, complete: (res: any) => void }): void;
+}

+ 9 - 0
assets/Script/MyFrame/global.d.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "4f13b992-f1cc-4398-ada7-61555f2d7529",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 34 - 3
assets/Script/Prop/Base/PropBase.ts

@@ -1,5 +1,7 @@
-import { _decorator, Component, Node, RigidBody2D, UITransform, Vec2 } from 'cc';
+import { _decorator, Component, find, Node, RigidBody2D, UITransform, v3, Vec2, Vec3 } from 'cc';
 import { ObjectPoolManager } from '../ObjectPoolManager';
+import { EventManager } from '../../EventManager';
+import { DifficultyManager } from '../../DifficultyManager';
 const { ccclass, property } = _decorator;
 
 @ccclass('PropBase')
@@ -22,6 +24,12 @@ export class PropBase extends Component {
         if (rigidBody) {
             // 设置向上的速度
             rigidBody.linearVelocity = new Vec2(0, this.UpSpeed); // 速度值可以根据需要调整
+
+
+            if (this.getComponentInChildren(RigidBody2D)) {
+                this.getComponentInChildren(RigidBody2D).linearVelocity = new Vec2(0, this.UpSpeed);
+            }
+
         } else {
             console.error('RigidBody2D component not found!');
         }
@@ -30,7 +38,7 @@ export class PropBase extends Component {
     updateTime: number;
     update(deltaTime: number) {
         this.updateTime += deltaTime;
-        let _time = 1 / 60//60FPS
+        let _time = 1 / 8//60FPS
         if (this.updateTime < _time) return;
         this.updateTime = this.updateTime - _time;
         this.FixUpdate()
@@ -41,10 +49,32 @@ export class PropBase extends Component {
         if (this.node.getPosition().y > height) {
             ObjectPoolManager.getInstance().putNodeToPool(this.node)
         }
+
+        if (!this.node.active || !this.node.parent) {
+            return
+        }
+
+
+
+        if (this.UpSpeed != DifficultyManager.UpSpeed) {
+            this.UpSpeed = DifficultyManager.UpSpeed
+        }
+
+
+        let roleNode = this.node.parent.getChildByName('Role')
+        if (roleNode && this.addSourceOnce) {
+            if (this.node.getPosition().y > roleNode.getPosition().y) {
+                EventManager.instance.et.emit(EventManager.EventType.Add_Score);
+                this.addSourceOnce = false
+            }
+        }
     }
 
 
+    addSourceOnce = false
+
     unuse() {
+        this.addSourceOnce = true
 
     }
 
@@ -63,7 +93,8 @@ export class PropBase extends Component {
         const y = height
 
         this.node.setPosition(x, y, 0);
-        this.node.getComponent(PropBase).UpSpeed = 15
+
+        this.UpSpeed = DifficultyManager.UpSpeed
     }
 
 

+ 9 - 1
assets/Script/Prop/Role.ts

@@ -1,5 +1,6 @@
 import { _decorator, CircleCollider2D, Collider, Collider2D, Component, Contact2DType, ERigidBody2DType, ICollisionEvent, IPhysics2DContact, Node, PhysicsSystem2D, RigidBody2D, Vec2, Vec3 } from 'cc';
 import { EventManager } from '../EventManager';
+import { AudioManager } from '../Set/AudioManager';
 const { ccclass, property } = _decorator;
 
 @ccclass('Role')
@@ -17,12 +18,19 @@ export class Role extends Component {
 
     onBeginContact(selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
         // 只在两个碰撞体开始接触时被调用一次
-
         switch (otherCollider.node.name) {
             case 'Top':
             case 'Bottom':
             case 'dici':
                 EventManager.instance.et.emit(EventManager.EventType.Cut_haert);
+                AudioManager.Instance.playEffict(AudioManager.dead)
+                break;
+            case 'Xin':
+                EventManager.instance.et.emit(EventManager.EventType.Add_haert);
+                AudioManager.Instance.playEffict(AudioManager.heart)
+                this.scheduleOnce(() => {
+                    otherCollider.node.active = false;
+                }, 0)
                 break;
             default:
                 break;

+ 23 - 3
assets/Script/Prop/Type/diban.ts

@@ -1,11 +1,31 @@
-import { _decorator, Component, Node } from 'cc';
+import { _decorator, Component, Node, Vec3 } from 'cc';
 import { PropBase } from '../Base/PropBase';
 const { ccclass, property } = _decorator;
 
 @ccclass('diban')
 export class diban extends PropBase {
- 
- 
+
+
+
+
+    unuse() {
+        super.unuse()
+
+        this.node.children[0].active = false
+        this.node.children[0].setPosition(new Vec3(0, 33, 0))
+    }
+
+
+
+    reuse(ParentNode: Node) {
+        super.reuse(ParentNode)
+
+        if (this.getRandomNumber(0, 100) < 10) {
+            this.node.children[0].active = true
+        }
+    }
+
+
 }
 
 

+ 9 - 0
assets/Script/Rank.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.0",
+  "importer": "directory",
+  "imported": true,
+  "uuid": "e2e5c864-5a6c-4ca5-ba41-04436a65e563",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 116 - 0
assets/Script/Rank/Rank.ts

@@ -0,0 +1,116 @@
+import { _decorator, assetManager, Component, ImageAsset, Label, Node, Sprite, SpriteFrame, Texture2D } from 'cc';
+import HTTPS, { NetPost } from '../MyFrame/HTTPS';
+const { ccclass, property } = _decorator;
+
+
+@ccclass('Rank')
+export class Rank extends Component {
+
+    @property(Label)
+    PageLabel: Label = null;
+
+    @property(Node)
+    Layout: Node = null;
+
+    last_page = 1
+
+
+
+    @property(SpriteFrame)
+    defaultImage: SpriteFrame = null;
+
+
+    close() {
+        this.node.active = false
+    }
+
+    protected onEnable(): void {
+        this.RequestRank(1)
+    }
+    UP() {
+        let page = this.extractFirstNumberFromString(this.PageLabel.string)
+        page -= 1
+        if (page <= 1) {
+            page = 1
+        }
+        this.PageLabel.string = `第 ${page} 页`
+        this.RequestRank(page)
+    }
+    DOWN() {
+        let page = this.extractFirstNumberFromString(this.PageLabel.string)
+        page += 1
+        if (page >= this.last_page) {
+            page = this.last_page
+        }
+        this.PageLabel.string = `第 ${page} 页`
+        this.RequestRank(page)
+    }
+
+
+    RequestRank(page: number) {
+        //请求排行榜数据
+        HTTPS.Instance.post(NetPost.ranking_list,
+            {
+                list_rows: 7,
+                page: page,
+            }).then((resp) => {
+                console.error('请求排行榜数据成功');
+                console.error(resp);
+
+                this.last_page = resp.data.last_page
+
+                this.Layout.children.forEach((item, index) => {
+                    let NickName = item.getChildByName("NickName")
+                    let Order = item.getChildByName("Order")
+                    let Score = item.getChildByName("Score")
+                    let image = item.getChildByName("image")
+
+                    if (resp.data.data[index]) {
+                        item.active = true
+
+                        Order.getComponent(Label).string = ((page - 1) * 7 + index + 1).toString()
+                        NickName.getComponent(Label).string = resp.data.data[index].nickname
+                        Score.getComponent(Label).string = resp.data.data[index].score.toString()
+
+                        if (resp.data.data[index].avatar != '') {
+                            assetManager.loadRemote<ImageAsset>(resp.data.data[index].avatar, { ext: '.png' }, function (err, ImageAsset) {
+                                if (!err && ImageAsset) {
+                                    console.log(ImageAsset);
+
+                                    let tex = new Texture2D()
+                                    tex.image = ImageAsset
+                                    let sp = new SpriteFrame()
+                                    sp.texture = tex
+                                    image.getComponent(Sprite).spriteFrame = sp;
+                                } else {
+                                    console.log(err);
+
+                                }
+                                // ...
+                            });
+                        } else {
+                            
+
+                            image.getComponent(Sprite).spriteFrame = this.defaultImage;
+
+                        }
+
+                    } else {
+                        item.active = false
+                    }
+
+
+
+
+
+                })
+            })
+    }
+
+    extractFirstNumberFromString(input: string): number | null {
+        const match = input.match(/\d+/);
+        return match ? Number(match[0]) : null;
+    }
+}
+
+

+ 9 - 0
assets/Script/Rank/Rank.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "e5acf671-4904-4d07-8b8a-007652c4abc5",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 16 - 8
assets/Script/RoleControl.ts

@@ -1,7 +1,9 @@
-import { _decorator, CircleCollider2D, Component, log, Node, RigidBody2D, Vec2, Vec3 } from 'cc';
+import { _decorator, CircleCollider2D, Component, find, log, Node, RigidBody2D, Vec2, Vec3 } from 'cc';
 import { EventManager } from './EventManager';
 import { PropBase } from './Prop/Base/PropBase';
 import { diban } from './Prop/Type/diban';
+import { DifficultyManager } from './DifficultyManager';
+import { AudioManager } from './Set/AudioManager';
 const { ccclass, property } = _decorator;
 
 @ccclass('RoleControl')
@@ -16,13 +18,18 @@ export class RoleControl extends Component {
     RightBtn: Node = null;
 
 
-    private UpSpeed: number = 20;
-    private G: number = 20;
+    private Left_Right_Speed: number = 20;
+    // G: number = 20;
 
 
     MyDir: number = 0;
 
+
     protected onLoad(): void {
+
+
+
+
         EventManager.instance.et.on(EventManager.EventType.Reset_Role, this.Reset_Role, this);
         EventManager.instance.et.on(EventManager.EventType.Die_Role, this.Die_Role, this);
 
@@ -30,6 +37,7 @@ export class RoleControl extends Component {
 
     Die_Role() {
         this.scheduleOnce(() => {
+
             this.Role.active = false
         }, 0)
     }
@@ -52,7 +60,7 @@ export class RoleControl extends Component {
 
         this.scheduleOnce(() => {
             this.Role.setPosition(new Vec3(TempNode.node.position.x, TempNode.node.position.y + 45, 0))
-            this.Role.getComponent(RigidBody2D).linearVelocity = new Vec2(0, -this.G); // 速度值可以根据需要调整
+            this.Role.getComponent(RigidBody2D).linearVelocity = new Vec2(0, -DifficultyManager.G); // 速度值可以根据需要调整
         }, 0)
 
 
@@ -61,7 +69,7 @@ export class RoleControl extends Component {
     protected start(): void {
 
 
-        this.Role.getComponent(RigidBody2D).linearVelocity = new Vec2(0, -this.G); // 速度值可以根据需要调整
+        this.Role.getComponent(RigidBody2D).linearVelocity = new Vec2(0, - DifficultyManager.G); // 速度值可以根据需要调整
 
 
         this.LeftBtn.on(Node.EventType.TOUCH_START, this.LeftStart, this);
@@ -110,13 +118,13 @@ export class RoleControl extends Component {
         }
         switch (this.MyDir) {
             case 0:
-                this.Role.getComponent(RigidBody2D).linearVelocity = new Vec2(0, -this.G); // 速度值可以根据需要调整
+                this.Role.getComponent(RigidBody2D).linearVelocity = new Vec2(0, -DifficultyManager.G); // 速度值可以根据需要调整
                 break;
             case -1:
-                this.Role.getComponent(RigidBody2D).linearVelocity = new Vec2(-this.UpSpeed, -this.G); // 速度值可以根据需要调整
+                this.Role.getComponent(RigidBody2D).linearVelocity = new Vec2(-this.Left_Right_Speed, -DifficultyManager.G); // 速度值可以根据需要调整
                 break;
             case 1:
-                this.Role.getComponent(RigidBody2D).linearVelocity = new Vec2(this.UpSpeed, -this.G); // 速度值可以根据需要调整
+                this.Role.getComponent(RigidBody2D).linearVelocity = new Vec2(this.Left_Right_Speed, -DifficultyManager.G); // 速度值可以根据需要调整
                 break;
             default:
                 break;

+ 9 - 0
assets/Script/Set.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.0",
+  "importer": "directory",
+  "imported": true,
+  "uuid": "eb26d8bd-6050-481e-8b29-c993d445b622",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 106 - 0
assets/Script/Set/AudioManager.ts

@@ -0,0 +1,106 @@
+
+
+
+
+import { _decorator, AudioClip, AudioSource, Component, director, Label, Node, resources } from 'cc';
+import { EventManager } from '../EventManager';
+import HTTPS, { NetPost } from '../MyFrame/HTTPS';
+const { ccclass, property } = _decorator;
+
+@ccclass('AudioManager')
+export class AudioManager extends Component {
+
+
+    public static BGM = "Sound/gbg";// 
+    public static dead = "Sound/dead";// 
+    public static anniu = "Sound/anniu";// 
+    public static heart = "Sound/heart";// 
+
+    
+
+
+    static _Instance: AudioManager;
+    curAudioSE: AudioSource;
+    curAudioBGM: AudioSource;
+    static get Instance(): AudioManager {
+
+        if (this._Instance == null) {
+            let node = new Node();
+            let comp = node.addComponent(AudioManager);
+            node.name = "AudioManager";
+
+            //加入场景节点
+            let scene = director.getScene();
+            scene.addChild(node);
+            director.addPersistRootNode(node);
+
+            //播放音效的组件
+            comp.curAudioSE = comp.addComponent(AudioSource);
+            comp.curAudioSE.loop = false;
+
+            //播放BGM的组件
+            comp.curAudioBGM = comp.addComponent(AudioSource);
+            comp.curAudioBGM.loop = true;
+            this._Instance = comp;
+        }
+
+        return this._Instance;
+    }
+
+
+    playBgm(name: string) {
+        (async () => {
+            let au = await this.getSoundUrl(name);
+            if (au) {
+
+                if (localStorage.getItem('Music') == 'true') {
+                    this.curAudioBGM.volume = 1
+                } else {
+                    this.curAudioBGM.volume = 0
+                }
+                this.curAudioBGM.clip = au
+                this.curAudioBGM.play();
+            }
+        })();
+    }
+    setBgmvolume() {
+        if (localStorage.getItem('Music') == 'true') {
+            this.curAudioBGM.volume = 1
+        } else {
+            this.curAudioBGM.volume = 0
+        }
+    }
+    playEffict(name: string) {
+        (async () => {
+            let au = await this.getSoundUrl(name);
+            if (au) {
+
+
+                let temp = 0
+                if (localStorage.getItem('Effect') == 'true') {
+                    temp = 1
+                } else {
+                    temp = 0
+                }
+                this.curAudioSE.playOneShot(au, temp);
+            }
+        })();
+    }
+
+    public getSoundUrl(path: string): Promise<AudioClip> {
+        return new Promise<AudioClip>((re, rj) => {
+            resources.load(path, AudioClip, (error: Error, resource: AudioClip) => {
+                if (!error) {
+                    re(resource);
+                } else {
+                    re(null);
+                }
+            })
+
+        })
+        //return cc.url.raw(path)
+    }
+
+}
+
+

+ 9 - 0
assets/Script/Set/AudioManager.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "5495fcfe-6cd4-4881-9cd6-76124f74c632",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 67 - 0
assets/Script/Set/Set.ts

@@ -0,0 +1,67 @@
+import { _decorator, Component, Node } from 'cc';
+import { AudioManager } from './AudioManager';
+const { ccclass, property } = _decorator;
+
+@ccclass('Set')
+export class Set extends Component {
+
+
+    onEnable(): void {
+        localStorage.getItem('Effect')
+        localStorage.getItem('Music')
+
+        this.show()
+
+    }
+
+
+    show() {
+        if (localStorage.getItem('Effect') == 'true') {
+            this.node.getChildByName('Effect').getChildByName('Open').active = true
+            this.node.getChildByName('Effect').getChildByName('Close').active = false
+        } else {
+            this.node.getChildByName('Effect').getChildByName('Open').active = false
+            this.node.getChildByName('Effect').getChildByName('Close').active = true
+        }
+
+        if (localStorage.getItem('Music') == 'true') {
+            this.node.getChildByName('Music').getChildByName('Open').active = true
+            this.node.getChildByName('Music').getChildByName('Close').active = false
+        } else {
+            this.node.getChildByName('Music').getChildByName('Open').active = false
+            this.node.getChildByName('Music').getChildByName('Close').active = true
+        }
+    }
+
+    Musicclose() {
+
+        console.log('1');
+        
+        localStorage.setItem('Music', 'false')
+        this.show()
+        AudioManager.Instance.setBgmvolume()
+    }
+    Musicopen() {
+        console.log('2');
+        localStorage.setItem('Music', 'true')
+        this.show()
+        AudioManager.Instance.setBgmvolume()
+    }
+
+    Effectclose() {
+        console.log('3');
+        localStorage.setItem('Effect', 'false')
+        this.show()
+    }
+    Effectopen() {
+        console.log('4');
+        localStorage.setItem('Effect', 'true')
+        this.show()
+    }
+
+    close() {
+        this.node.active = false
+    }
+}
+
+

+ 9 - 0
assets/Script/Set/Set.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "697056a3-06b3-4114-b9e0-23f5832e2b70",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 6 - 2
assets/Script/Top.ts

@@ -41,13 +41,17 @@ export class Top extends Component {
     }
 
     Add_haert() {
-        this.haertLabel.string = (parseInt(this.haertLabel.string) + 1) + "";
+
+        if (parseInt(this.haertLabel.string) < 3) {
+            this.haertLabel.string = (parseInt(this.haertLabel.string) + 1) + "";
+        }
+
     }
 
     Add_Score_Bool = true
     Add_Score() {
         if (this.Add_Score_Bool) {
-            this.ScoreLabel.string = (parseInt(this.ScoreLabel.string) + 1) + "";
+            this.ScoreLabel.string = (parseInt(this.ScoreLabel.string) + 10) + "";
         }
     }
     Set_Add_Score_BOOL(b: boolean) {

+ 13 - 0
assets/Script/UI/UI.ts

@@ -1,5 +1,6 @@
 import { _decorator, Component, director, Label, Node } from 'cc';
 import { EventManager } from '../EventManager';
+import HTTPS, { NetPost } from '../MyFrame/HTTPS';
 const { ccclass, property } = _decorator;
 
 @ccclass('UI')
@@ -14,12 +15,23 @@ export class UI extends Component {
     HomeNode: Node = null;
 
 
+    @property(Label)
+    ScoreNode: Label = null;
+
     protected onLoad(): void {
         EventManager.instance.et.on(EventManager.EventType.OpenUIPnael, this.OpenUIPnael, this);
     }
 
 
     OpenUIPnael() {
+        HTTPS.Instance.post(NetPost.UpdateScore,
+            {
+                score: this.ScoreNode.string,
+            }).then((resp) => {
+                console.error('更新分数成功');
+                console.error(resp);
+            })
+
         this.init()
     }
 
@@ -31,6 +43,7 @@ export class UI extends Component {
         this.RestartNode.active = false;
         this.HomeNode.active = false;
 
+        this.FuhuoNode.getComponentInChildren(Label).string = '3'
         this.schedule(() => {
             this.FuhuoNode.getComponentInChildren(Label).string = (parseInt(this.FuhuoNode.getComponentInChildren(Label).string) - 1) + ''
         }, 1, 3, 0)

+ 9 - 0
assets/image/Rank.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.0",
+  "importer": "directory",
+  "imported": true,
+  "uuid": "0b95f944-ee16-4828-9666-6028cd91e027",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 3 - 0
assets/image/Rank/auto-atlas.pac

@@ -0,0 +1,3 @@
+{
+    "__type__": "cc.SpriteAtlas"
+}

+ 36 - 0
assets/image/Rank/auto-atlas.pac.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "1.0.8",
+  "importer": "auto-atlas",
+  "imported": true,
+  "uuid": "e670a63f-0a78-4ec7-8121-5670a137bcd0",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {
+    "maxWidth": 1024,
+    "maxHeight": 1024,
+    "padding": 2,
+    "allowRotation": true,
+    "forceSquared": false,
+    "powerOfTwo": false,
+    "algorithm": "MaxRects",
+    "format": "png",
+    "quality": 80,
+    "contourBleed": true,
+    "paddingBleed": true,
+    "filterUnused": true,
+    "removeTextureInBundle": true,
+    "removeImageInBundle": true,
+    "removeSpriteAtlasInBundle": true,
+    "compressSettings": {},
+    "textureSetting": {
+      "wrapModeS": "repeat",
+      "wrapModeT": "repeat",
+      "minfilter": "linear",
+      "magfilter": "linear",
+      "mipfilter": "none",
+      "anisotropy": 0
+    }
+  }
+}

BIN
assets/image/Rank/image.png


+ 28 - 28
assets/image/游戏界面 (1).png.meta → assets/image/Rank/image.png.meta

@@ -2,7 +2,7 @@
   "ver": "1.0.27",
   "importer": "image",
   "imported": true,
-  "uuid": "3a712471-8102-4385-8b09-f53d7c2824c6",
+  "uuid": "5353ee01-7e47-43d8-b312-ba40cac746e1",
   "files": [
     ".json",
     ".png"
@@ -10,14 +10,14 @@
   "subMetas": {
     "6c48a": {
       "importer": "texture",
-      "uuid": "3a712471-8102-4385-8b09-f53d7c2824c6@6c48a",
-      "displayName": "游戏界面 (1)",
+      "uuid": "5353ee01-7e47-43d8-b312-ba40cac746e1@6c48a",
+      "displayName": "image",
       "id": "6c48a",
       "name": "texture",
       "userData": {
         "wrapModeS": "clamp-to-edge",
         "wrapModeT": "clamp-to-edge",
-        "imageUuidOrDatabaseUri": "3a712471-8102-4385-8b09-f53d7c2824c6",
+        "imageUuidOrDatabaseUri": "5353ee01-7e47-43d8-b312-ba40cac746e1",
         "isUuid": true,
         "visible": false,
         "minfilter": "linear",
@@ -34,8 +34,8 @@
     },
     "f9941": {
       "importer": "sprite-frame",
-      "uuid": "3a712471-8102-4385-8b09-f53d7c2824c6@f9941",
-      "displayName": "游戏界面 (1)",
+      "uuid": "5353ee01-7e47-43d8-b312-ba40cac746e1@f9941",
+      "displayName": "image",
       "id": "f9941",
       "name": "spriteFrame",
       "userData": {
@@ -46,10 +46,10 @@
         "offsetY": 0,
         "trimX": 0,
         "trimY": 0,
-        "width": 1080,
-        "height": 1920,
-        "rawWidth": 1080,
-        "rawHeight": 1920,
+        "width": 40,
+        "height": 40,
+        "rawWidth": 40,
+        "rawHeight": 40,
         "borderTop": 0,
         "borderBottom": 0,
         "borderLeft": 0,
@@ -61,17 +61,17 @@
         "meshType": 0,
         "vertices": {
           "rawPosition": [
-            -540,
-            -960,
+            -20,
+            -20,
             0,
-            540,
-            -960,
+            20,
+            -20,
             0,
-            -540,
-            960,
+            -20,
+            20,
             0,
-            540,
-            960,
+            20,
+            20,
             0
           ],
           "indexes": [
@@ -84,12 +84,12 @@
           ],
           "uv": [
             0,
-            1920,
-            1080,
-            1920,
+            40,
+            40,
+            40,
             0,
             0,
-            1080,
+            40,
             0
           ],
           "nuv": [
@@ -103,18 +103,18 @@
             1
           ],
           "minPos": [
-            -540,
-            -960,
+            -20,
+            -20,
             0
           ],
           "maxPos": [
-            540,
-            960,
+            20,
+            20,
             0
           ]
         },
         "isUuid": true,
-        "imageUuidOrDatabaseUri": "3a712471-8102-4385-8b09-f53d7c2824c6@6c48a",
+        "imageUuidOrDatabaseUri": "5353ee01-7e47-43d8-b312-ba40cac746e1@6c48a",
         "atlasUuid": ""
       },
       "ver": "1.0.12",
@@ -129,6 +129,6 @@
     "type": "sprite-frame",
     "hasAlpha": true,
     "fixAlphaTransparencyArtifacts": false,
-    "redirect": "3a712471-8102-4385-8b09-f53d7c2824c6@6c48a"
+    "redirect": "5353ee01-7e47-43d8-b312-ba40cac746e1@6c48a"
   }
 }

BIN
assets/image/Rank/排行榜.png


+ 28 - 28
assets/image/游戏界面-成功.png.meta → assets/image/Rank/排行榜.png.meta

@@ -2,7 +2,7 @@
   "ver": "1.0.27",
   "importer": "image",
   "imported": true,
-  "uuid": "1f07eb8e-983a-46be-8635-1ca410704622",
+  "uuid": "ea58309d-611d-427e-ac37-434a0ad60f2b",
   "files": [
     ".json",
     ".png"
@@ -10,14 +10,14 @@
   "subMetas": {
     "6c48a": {
       "importer": "texture",
-      "uuid": "1f07eb8e-983a-46be-8635-1ca410704622@6c48a",
-      "displayName": "游戏界面-成功",
+      "uuid": "ea58309d-611d-427e-ac37-434a0ad60f2b@6c48a",
+      "displayName": "排行榜",
       "id": "6c48a",
       "name": "texture",
       "userData": {
         "wrapModeS": "clamp-to-edge",
         "wrapModeT": "clamp-to-edge",
-        "imageUuidOrDatabaseUri": "1f07eb8e-983a-46be-8635-1ca410704622",
+        "imageUuidOrDatabaseUri": "ea58309d-611d-427e-ac37-434a0ad60f2b",
         "isUuid": true,
         "visible": false,
         "minfilter": "linear",
@@ -34,8 +34,8 @@
     },
     "f9941": {
       "importer": "sprite-frame",
-      "uuid": "1f07eb8e-983a-46be-8635-1ca410704622@f9941",
-      "displayName": "游戏界面-成功",
+      "uuid": "ea58309d-611d-427e-ac37-434a0ad60f2b@f9941",
+      "displayName": "排行榜",
       "id": "f9941",
       "name": "spriteFrame",
       "userData": {
@@ -46,10 +46,10 @@
         "offsetY": 0,
         "trimX": 0,
         "trimY": 0,
-        "width": 1080,
-        "height": 1920,
-        "rawWidth": 1080,
-        "rawHeight": 1920,
+        "width": 99,
+        "height": 28,
+        "rawWidth": 99,
+        "rawHeight": 28,
         "borderTop": 0,
         "borderBottom": 0,
         "borderLeft": 0,
@@ -61,17 +61,17 @@
         "meshType": 0,
         "vertices": {
           "rawPosition": [
-            -540,
-            -960,
+            -49.5,
+            -14,
             0,
-            540,
-            -960,
+            49.5,
+            -14,
             0,
-            -540,
-            960,
+            -49.5,
+            14,
             0,
-            540,
-            960,
+            49.5,
+            14,
             0
           ],
           "indexes": [
@@ -84,12 +84,12 @@
           ],
           "uv": [
             0,
-            1920,
-            1080,
-            1920,
+            28,
+            99,
+            28,
             0,
             0,
-            1080,
+            99,
             0
           ],
           "nuv": [
@@ -103,18 +103,18 @@
             1
           ],
           "minPos": [
-            -540,
-            -960,
+            -49.5,
+            -14,
             0
           ],
           "maxPos": [
-            540,
-            960,
+            49.5,
+            14,
             0
           ]
         },
         "isUuid": true,
-        "imageUuidOrDatabaseUri": "1f07eb8e-983a-46be-8635-1ca410704622@6c48a",
+        "imageUuidOrDatabaseUri": "ea58309d-611d-427e-ac37-434a0ad60f2b@6c48a",
         "atlasUuid": ""
       },
       "ver": "1.0.12",
@@ -129,6 +129,6 @@
     "type": "sprite-frame",
     "hasAlpha": true,
     "fixAlphaTransparencyArtifacts": false,
-    "redirect": "1f07eb8e-983a-46be-8635-1ca410704622@6c48a"
+    "redirect": "ea58309d-611d-427e-ac37-434a0ad60f2b@6c48a"
   }
 }

BIN
assets/image/Rank/组 14.png


+ 28 - 28
assets/image/游戏界面-失败.png.meta → assets/image/Rank/组 14.png.meta

@@ -2,7 +2,7 @@
   "ver": "1.0.27",
   "importer": "image",
   "imported": true,
-  "uuid": "439342ed-0f1a-4c21-8a0f-333d3d45adcc",
+  "uuid": "eade60c5-b6bc-4b7a-b0c0-e19acfb04b59",
   "files": [
     ".json",
     ".png"
@@ -10,14 +10,14 @@
   "subMetas": {
     "6c48a": {
       "importer": "texture",
-      "uuid": "439342ed-0f1a-4c21-8a0f-333d3d45adcc@6c48a",
-      "displayName": "游戏界面-失败",
+      "uuid": "eade60c5-b6bc-4b7a-b0c0-e19acfb04b59@6c48a",
+      "displayName": "组 14",
       "id": "6c48a",
       "name": "texture",
       "userData": {
         "wrapModeS": "clamp-to-edge",
         "wrapModeT": "clamp-to-edge",
-        "imageUuidOrDatabaseUri": "439342ed-0f1a-4c21-8a0f-333d3d45adcc",
+        "imageUuidOrDatabaseUri": "eade60c5-b6bc-4b7a-b0c0-e19acfb04b59",
         "isUuid": true,
         "visible": false,
         "minfilter": "linear",
@@ -34,8 +34,8 @@
     },
     "f9941": {
       "importer": "sprite-frame",
-      "uuid": "439342ed-0f1a-4c21-8a0f-333d3d45adcc@f9941",
-      "displayName": "游戏界面-失败",
+      "uuid": "eade60c5-b6bc-4b7a-b0c0-e19acfb04b59@f9941",
+      "displayName": "组 14",
       "id": "f9941",
       "name": "spriteFrame",
       "userData": {
@@ -46,10 +46,10 @@
         "offsetY": 0,
         "trimX": 0,
         "trimY": 0,
-        "width": 1080,
-        "height": 1920,
-        "rawWidth": 1080,
-        "rawHeight": 1920,
+        "width": 20,
+        "height": 20,
+        "rawWidth": 20,
+        "rawHeight": 20,
         "borderTop": 0,
         "borderBottom": 0,
         "borderLeft": 0,
@@ -61,17 +61,17 @@
         "meshType": 0,
         "vertices": {
           "rawPosition": [
-            -540,
-            -960,
+            -10,
+            -10,
             0,
-            540,
-            -960,
+            10,
+            -10,
             0,
-            -540,
-            960,
+            -10,
+            10,
             0,
-            540,
-            960,
+            10,
+            10,
             0
           ],
           "indexes": [
@@ -84,12 +84,12 @@
           ],
           "uv": [
             0,
-            1920,
-            1080,
-            1920,
+            20,
+            20,
+            20,
             0,
             0,
-            1080,
+            20,
             0
           ],
           "nuv": [
@@ -103,18 +103,18 @@
             1
           ],
           "minPos": [
-            -540,
-            -960,
+            -10,
+            -10,
             0
           ],
           "maxPos": [
-            540,
-            960,
+            10,
+            10,
             0
           ]
         },
         "isUuid": true,
-        "imageUuidOrDatabaseUri": "439342ed-0f1a-4c21-8a0f-333d3d45adcc@6c48a",
+        "imageUuidOrDatabaseUri": "eade60c5-b6bc-4b7a-b0c0-e19acfb04b59@6c48a",
         "atlasUuid": ""
       },
       "ver": "1.0.12",
@@ -129,6 +129,6 @@
     "type": "sprite-frame",
     "hasAlpha": true,
     "fixAlphaTransparencyArtifacts": false,
-    "redirect": "439342ed-0f1a-4c21-8a0f-333d3d45adcc@6c48a"
+    "redirect": "eade60c5-b6bc-4b7a-b0c0-e19acfb04b59@6c48a"
   }
 }

BIN
assets/image/Rank/组 1413.png


+ 134 - 0
assets/image/Rank/组 1413.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "8008925a-fbbd-44b3-a80c-769accdd8b95",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "8008925a-fbbd-44b3-a80c-769accdd8b95@6c48a",
+      "displayName": "组 1413",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "8008925a-fbbd-44b3-a80c-769accdd8b95",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "8008925a-fbbd-44b3-a80c-769accdd8b95@f9941",
+      "displayName": "组 1413",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 2,
+        "offsetY": 0,
+        "trimX": 4,
+        "trimY": 1,
+        "width": 70,
+        "height": 16,
+        "rawWidth": 74,
+        "rawHeight": 18,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -35,
+            -8,
+            0,
+            35,
+            -8,
+            0,
+            -35,
+            8,
+            0,
+            35,
+            8,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            4,
+            17,
+            74,
+            17,
+            4,
+            1,
+            74,
+            1
+          ],
+          "nuv": [
+            0.05405405405405406,
+            0.05555555555555555,
+            1,
+            0.05555555555555555,
+            0.05405405405405406,
+            0.9444444444444444,
+            1,
+            0.9444444444444444
+          ],
+          "minPos": [
+            -35,
+            -8,
+            0
+          ],
+          "maxPos": [
+            35,
+            8,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "8008925a-fbbd-44b3-a80c-769accdd8b95@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "hasAlpha": true,
+    "fixAlphaTransparencyArtifacts": false,
+    "redirect": "8008925a-fbbd-44b3-a80c-769accdd8b95@6c48a"
+  }
+}

BIN
assets/image/Rank/组 1414.png


+ 134 - 0
assets/image/Rank/组 1414.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "1c9b0605-7503-4a3f-85c7-00afa6079437",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "1c9b0605-7503-4a3f-85c7-00afa6079437@6c48a",
+      "displayName": "组 1414",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "1c9b0605-7503-4a3f-85c7-00afa6079437",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "1c9b0605-7503-4a3f-85c7-00afa6079437@f9941",
+      "displayName": "组 1414",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": -2,
+        "offsetY": 0,
+        "trimX": 0,
+        "trimY": 1,
+        "width": 70,
+        "height": 16,
+        "rawWidth": 74,
+        "rawHeight": 18,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -35,
+            -8,
+            0,
+            35,
+            -8,
+            0,
+            -35,
+            8,
+            0,
+            35,
+            8,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            17,
+            70,
+            17,
+            0,
+            1,
+            70,
+            1
+          ],
+          "nuv": [
+            0,
+            0.05555555555555555,
+            0.9459459459459459,
+            0.05555555555555555,
+            0,
+            0.9444444444444444,
+            0.9459459459459459,
+            0.9444444444444444
+          ],
+          "minPos": [
+            -35,
+            -8,
+            0
+          ],
+          "maxPos": [
+            35,
+            8,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "1c9b0605-7503-4a3f-85c7-00afa6079437@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "hasAlpha": true,
+    "fixAlphaTransparencyArtifacts": false,
+    "redirect": "1c9b0605-7503-4a3f-85c7-00afa6079437@6c48a"
+  }
+}

BIN
assets/image/Rank/组 2.png


+ 134 - 0
assets/image/Rank/组 2.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "bec6a43a-6eab-4ef8-8aab-55c77779dc7b",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "bec6a43a-6eab-4ef8-8aab-55c77779dc7b@6c48a",
+      "displayName": "组 2",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "bec6a43a-6eab-4ef8-8aab-55c77779dc7b",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "bec6a43a-6eab-4ef8-8aab-55c77779dc7b@f9941",
+      "displayName": "组 2",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 0,
+        "trimY": 0,
+        "width": 460,
+        "height": 674,
+        "rawWidth": 460,
+        "rawHeight": 674,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -230,
+            -337,
+            0,
+            230,
+            -337,
+            0,
+            -230,
+            337,
+            0,
+            230,
+            337,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            674,
+            460,
+            674,
+            0,
+            0,
+            460,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            1,
+            1,
+            1
+          ],
+          "minPos": [
+            -230,
+            -337,
+            0
+          ],
+          "maxPos": [
+            230,
+            337,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "bec6a43a-6eab-4ef8-8aab-55c77779dc7b@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "hasAlpha": true,
+    "fixAlphaTransparencyArtifacts": false,
+    "redirect": "bec6a43a-6eab-4ef8-8aab-55c77779dc7b@6c48a"
+  }
+}

BIN
assets/image/Rank/联集 6.png


+ 134 - 0
assets/image/Rank/联集 6.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "48234cb3-8e8c-40bf-9c21-0a66f352c05e",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "48234cb3-8e8c-40bf-9c21-0a66f352c05e@6c48a",
+      "displayName": "联集 6",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "48234cb3-8e8c-40bf-9c21-0a66f352c05e",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "48234cb3-8e8c-40bf-9c21-0a66f352c05e@f9941",
+      "displayName": "联集 6",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 0,
+        "trimY": 0,
+        "width": 400,
+        "height": 60,
+        "rawWidth": 400,
+        "rawHeight": 60,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -200,
+            -30,
+            0,
+            200,
+            -30,
+            0,
+            -200,
+            30,
+            0,
+            200,
+            30,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            60,
+            400,
+            60,
+            0,
+            0,
+            400,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            1,
+            1,
+            1
+          ],
+          "minPos": [
+            -200,
+            -30,
+            0
+          ],
+          "maxPos": [
+            200,
+            30,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "48234cb3-8e8c-40bf-9c21-0a66f352c05e@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "hasAlpha": true,
+    "fixAlphaTransparencyArtifacts": false,
+    "redirect": "48234cb3-8e8c-40bf-9c21-0a66f352c05e@6c48a"
+  }
+}

BIN
assets/image/UI/组 1335.png


+ 134 - 0
assets/image/UI/组 1335.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "e1c2e056-a650-46ad-a58e-89034dd350c8",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "e1c2e056-a650-46ad-a58e-89034dd350c8@6c48a",
+      "displayName": "组 1335",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "e1c2e056-a650-46ad-a58e-89034dd350c8",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "e1c2e056-a650-46ad-a58e-89034dd350c8@f9941",
+      "displayName": "组 1335",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 0,
+        "trimY": 0,
+        "width": 70,
+        "height": 70,
+        "rawWidth": 70,
+        "rawHeight": 70,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -35,
+            -35,
+            0,
+            35,
+            -35,
+            0,
+            -35,
+            35,
+            0,
+            35,
+            35,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            70,
+            70,
+            70,
+            0,
+            0,
+            70,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            1,
+            1,
+            1
+          ],
+          "minPos": [
+            -35,
+            -35,
+            0
+          ],
+          "maxPos": [
+            35,
+            35,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "e1c2e056-a650-46ad-a58e-89034dd350c8@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "hasAlpha": true,
+    "fixAlphaTransparencyArtifacts": false,
+    "redirect": "e1c2e056-a650-46ad-a58e-89034dd350c8@6c48a"
+  }
+}

+ 9 - 0
assets/image/set.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.0",
+  "importer": "directory",
+  "imported": true,
+  "uuid": "e8768eca-372b-4241-8fb0-1b442eba6d83",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

BIN
assets/image/set/容器(1).png


+ 134 - 0
assets/image/set/容器(1).png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "d573d3ad-d9c6-4e2b-b998-dd8b14d13d35",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "d573d3ad-d9c6-4e2b-b998-dd8b14d13d35@6c48a",
+      "displayName": "容器(1)",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "d573d3ad-d9c6-4e2b-b998-dd8b14d13d35",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "d573d3ad-d9c6-4e2b-b998-dd8b14d13d35@f9941",
+      "displayName": "容器(1)",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 1,
+        "offsetY": 0,
+        "trimX": 2,
+        "trimY": 0,
+        "width": 28,
+        "height": 30,
+        "rawWidth": 30,
+        "rawHeight": 30,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -14,
+            -15,
+            0,
+            14,
+            -15,
+            0,
+            -14,
+            15,
+            0,
+            14,
+            15,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            2,
+            30,
+            30,
+            30,
+            2,
+            0,
+            30,
+            0
+          ],
+          "nuv": [
+            0.06666666666666667,
+            0,
+            1,
+            0,
+            0.06666666666666667,
+            1,
+            1,
+            1
+          ],
+          "minPos": [
+            -14,
+            -15,
+            0
+          ],
+          "maxPos": [
+            14,
+            15,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "d573d3ad-d9c6-4e2b-b998-dd8b14d13d35@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "hasAlpha": true,
+    "fixAlphaTransparencyArtifacts": false,
+    "redirect": "d573d3ad-d9c6-4e2b-b998-dd8b14d13d35@6c48a"
+  }
+}

BIN
assets/image/set/容器.png


+ 134 - 0
assets/image/set/容器.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "cfa1fe45-0886-41f8-b7ca-639ff370e84f",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "cfa1fe45-0886-41f8-b7ca-639ff370e84f@6c48a",
+      "displayName": "容器",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "cfa1fe45-0886-41f8-b7ca-639ff370e84f",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "cfa1fe45-0886-41f8-b7ca-639ff370e84f@f9941",
+      "displayName": "容器",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": -0.5,
+        "trimX": 0,
+        "trimY": 3,
+        "width": 30,
+        "height": 25,
+        "rawWidth": 30,
+        "rawHeight": 30,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -15,
+            -12.5,
+            0,
+            15,
+            -12.5,
+            0,
+            -15,
+            12.5,
+            0,
+            15,
+            12.5,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            27,
+            30,
+            27,
+            0,
+            2,
+            30,
+            2
+          ],
+          "nuv": [
+            0,
+            0.06666666666666667,
+            1,
+            0.06666666666666667,
+            0,
+            0.9,
+            1,
+            0.9
+          ],
+          "minPos": [
+            -15,
+            -12.5,
+            0
+          ],
+          "maxPos": [
+            15,
+            12.5,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "cfa1fe45-0886-41f8-b7ca-639ff370e84f@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "hasAlpha": true,
+    "fixAlphaTransparencyArtifacts": false,
+    "redirect": "cfa1fe45-0886-41f8-b7ca-639ff370e84f@6c48a"
+  }
+}

BIN
assets/image/set/组 1270.png


+ 134 - 0
assets/image/set/组 1270.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "9f9e9519-d169-4d0b-986e-edaffc928352",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "9f9e9519-d169-4d0b-986e-edaffc928352@6c48a",
+      "displayName": "组 1270",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "9f9e9519-d169-4d0b-986e-edaffc928352",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "9f9e9519-d169-4d0b-986e-edaffc928352@f9941",
+      "displayName": "组 1270",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 0,
+        "trimY": 0,
+        "width": 55,
+        "height": 20,
+        "rawWidth": 55,
+        "rawHeight": 20,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -27.5,
+            -10,
+            0,
+            27.5,
+            -10,
+            0,
+            -27.5,
+            10,
+            0,
+            27.5,
+            10,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            20,
+            55,
+            20,
+            0,
+            0,
+            55,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            1,
+            1,
+            1
+          ],
+          "minPos": [
+            -27.5,
+            -10,
+            0
+          ],
+          "maxPos": [
+            27.5,
+            10,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "9f9e9519-d169-4d0b-986e-edaffc928352@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "hasAlpha": true,
+    "fixAlphaTransparencyArtifacts": false,
+    "redirect": "9f9e9519-d169-4d0b-986e-edaffc928352@6c48a"
+  }
+}

BIN
assets/image/set/组 1272.png


+ 134 - 0
assets/image/set/组 1272.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "9af9c618-45a8-4676-8865-8c62ddc63860",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "9af9c618-45a8-4676-8865-8c62ddc63860@6c48a",
+      "displayName": "组 1272",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "9af9c618-45a8-4676-8865-8c62ddc63860",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "9af9c618-45a8-4676-8865-8c62ddc63860@f9941",
+      "displayName": "组 1272",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 0,
+        "trimY": 0,
+        "width": 55,
+        "height": 20,
+        "rawWidth": 55,
+        "rawHeight": 20,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -27.5,
+            -10,
+            0,
+            27.5,
+            -10,
+            0,
+            -27.5,
+            10,
+            0,
+            27.5,
+            10,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            20,
+            55,
+            20,
+            0,
+            0,
+            55,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            1,
+            1,
+            1
+          ],
+          "minPos": [
+            -27.5,
+            -10,
+            0
+          ],
+          "maxPos": [
+            27.5,
+            10,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "9af9c618-45a8-4676-8865-8c62ddc63860@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "hasAlpha": true,
+    "fixAlphaTransparencyArtifacts": false,
+    "redirect": "9af9c618-45a8-4676-8865-8c62ddc63860@6c48a"
+  }
+}

BIN
assets/image/set/组 14.png


+ 134 - 0
assets/image/set/组 14.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "d93e92ea-2d27-443c-a7c9-917a26910cbf",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "d93e92ea-2d27-443c-a7c9-917a26910cbf@6c48a",
+      "displayName": "组 14",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "d93e92ea-2d27-443c-a7c9-917a26910cbf",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "d93e92ea-2d27-443c-a7c9-917a26910cbf@f9941",
+      "displayName": "组 14",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 0,
+        "trimY": 0,
+        "width": 20,
+        "height": 20,
+        "rawWidth": 20,
+        "rawHeight": 20,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -10,
+            -10,
+            0,
+            10,
+            -10,
+            0,
+            -10,
+            10,
+            0,
+            10,
+            10,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            20,
+            20,
+            20,
+            0,
+            0,
+            20,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            1,
+            1,
+            1
+          ],
+          "minPos": [
+            -10,
+            -10,
+            0
+          ],
+          "maxPos": [
+            10,
+            10,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "d93e92ea-2d27-443c-a7c9-917a26910cbf@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "hasAlpha": true,
+    "fixAlphaTransparencyArtifacts": false,
+    "redirect": "d93e92ea-2d27-443c-a7c9-917a26910cbf@6c48a"
+  }
+}

BIN
assets/image/set/组 2.png


+ 134 - 0
assets/image/set/组 2.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "f728d889-607f-4537-a04b-83522a4aeba2",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "f728d889-607f-4537-a04b-83522a4aeba2@6c48a",
+      "displayName": "组 2",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "f728d889-607f-4537-a04b-83522a4aeba2",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "f728d889-607f-4537-a04b-83522a4aeba2@f9941",
+      "displayName": "组 2",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 0,
+        "trimY": 0,
+        "width": 460,
+        "height": 322,
+        "rawWidth": 460,
+        "rawHeight": 322,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -230,
+            -161,
+            0,
+            230,
+            -161,
+            0,
+            -230,
+            161,
+            0,
+            230,
+            161,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            322,
+            460,
+            322,
+            0,
+            0,
+            460,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            1,
+            1,
+            1
+          ],
+          "minPos": [
+            -230,
+            -161,
+            0
+          ],
+          "maxPos": [
+            230,
+            161,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "f728d889-607f-4537-a04b-83522a4aeba2@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "hasAlpha": true,
+    "fixAlphaTransparencyArtifacts": false,
+    "redirect": "f728d889-607f-4537-a04b-83522a4aeba2@6c48a"
+  }
+}

BIN
assets/image/set/联集 6.png


+ 134 - 0
assets/image/set/联集 6.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "c916f89e-b1b9-4be0-beb9-ac4383e2ff00",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "c916f89e-b1b9-4be0-beb9-ac4383e2ff00@6c48a",
+      "displayName": "联集 6",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "c916f89e-b1b9-4be0-beb9-ac4383e2ff00",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "c916f89e-b1b9-4be0-beb9-ac4383e2ff00@f9941",
+      "displayName": "联集 6",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 0,
+        "trimY": 0,
+        "width": 400,
+        "height": 140,
+        "rawWidth": 400,
+        "rawHeight": 140,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -200,
+            -70,
+            0,
+            200,
+            -70,
+            0,
+            -200,
+            70,
+            0,
+            200,
+            70,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            140,
+            400,
+            140,
+            0,
+            0,
+            400,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            1,
+            1,
+            1
+          ],
+          "minPos": [
+            -200,
+            -70,
+            0
+          ],
+          "maxPos": [
+            200,
+            70,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "c916f89e-b1b9-4be0-beb9-ac4383e2ff00@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "hasAlpha": true,
+    "fixAlphaTransparencyArtifacts": false,
+    "redirect": "c916f89e-b1b9-4be0-beb9-ac4383e2ff00@6c48a"
+  }
+}

BIN
assets/image/set/设置.png


+ 134 - 0
assets/image/set/设置.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "3c13d4ec-0bd6-4ca3-8e3d-efe84ea8f256",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "3c13d4ec-0bd6-4ca3-8e3d-efe84ea8f256@6c48a",
+      "displayName": "设置",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "3c13d4ec-0bd6-4ca3-8e3d-efe84ea8f256",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "3c13d4ec-0bd6-4ca3-8e3d-efe84ea8f256@f9941",
+      "displayName": "设置",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 0,
+        "trimY": 0,
+        "width": 63,
+        "height": 27,
+        "rawWidth": 63,
+        "rawHeight": 27,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -31.5,
+            -13.5,
+            0,
+            31.5,
+            -13.5,
+            0,
+            -31.5,
+            13.5,
+            0,
+            31.5,
+            13.5,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            27,
+            63,
+            27,
+            0,
+            0,
+            63,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            1,
+            1,
+            1
+          ],
+          "minPos": [
+            -31.5,
+            -13.5,
+            0
+          ],
+          "maxPos": [
+            31.5,
+            13.5,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "3c13d4ec-0bd6-4ca3-8e3d-efe84ea8f256@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "hasAlpha": true,
+    "fixAlphaTransparencyArtifacts": false,
+    "redirect": "3c13d4ec-0bd6-4ca3-8e3d-efe84ea8f256@6c48a"
+  }
+}

BIN
assets/image/游戏界面 (1).png


BIN
assets/image/游戏界面-失败.png


BIN
assets/image/游戏界面-成功.png


Datei-Diff unterdrückt, da er zu groß ist
+ 150 - 138
assets/resources/Game.scene


+ 225 - 15
assets/resources/Prefabs/diban.prefab

@@ -17,27 +17,31 @@
     "_objFlags": 0,
     "__editorExtras__": {},
     "_parent": null,
-    "_children": [],
+    "_children": [
+      {
+        "__id__": 2
+      }
+    ],
     "_active": true,
     "_components": [
       {
-        "__id__": 2
+        "__id__": 12
       },
       {
-        "__id__": 4
+        "__id__": 14
       },
       {
-        "__id__": 6
+        "__id__": 16
       },
       {
-        "__id__": 8
+        "__id__": 18
       },
       {
-        "__id__": 10
+        "__id__": 20
       }
     ],
     "_prefab": {
-      "__id__": 12
+      "__id__": 22
     },
     "_lpos": {
       "__type__": "cc.Vec3",
@@ -68,6 +72,212 @@
     },
     "_id": ""
   },
+  {
+    "__type__": "cc.Node",
+    "_name": "Xin",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 3
+      },
+      {
+        "__id__": 5
+      },
+      {
+        "__id__": 7
+      },
+      {
+        "__id__": 9
+      }
+    ],
+    "_prefab": {
+      "__id__": 11
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 33,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 33554432,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 4
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 29,
+      "height": 27
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "69RZgyaOtMXYoh1xDEPN6Y"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 6
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "6530ecb8-f8cf-4fbd-9925-740418550314@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "88Hb0xz7RPBIpPeo3eurRK"
+  },
+  {
+    "__type__": "cc.CircleCollider2D",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 8
+    },
+    "tag": 0,
+    "_group": 2,
+    "_density": 1,
+    "_sensor": true,
+    "_friction": 0.2,
+    "_restitution": 0,
+    "_offset": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_radius": 14.5,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "5b8bEWIoRF35vCdzHGvQgf"
+  },
+  {
+    "__type__": "cc.RigidBody2D",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 10
+    },
+    "enabledContactListener": true,
+    "bullet": false,
+    "awakeOnLoad": true,
+    "_group": 2,
+    "_type": 1,
+    "_allowSleep": true,
+    "_gravityScale": 1,
+    "_linearDamping": 0,
+    "_angularDamping": 0,
+    "_linearVelocity": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_angularVelocity": 0,
+    "_fixedRotation": false,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "41LwFmlAVAxZuWkzqzLGEO"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "ebOWrwdXRMw76AZkUEk46a",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
   {
     "__type__": "cc.UITransform",
     "_name": "",
@@ -78,7 +288,7 @@
     },
     "_enabled": true,
     "__prefab": {
-      "__id__": 3
+      "__id__": 13
     },
     "_contentSize": {
       "__type__": "cc.Size",
@@ -106,7 +316,7 @@
     },
     "_enabled": true,
     "__prefab": {
-      "__id__": 5
+      "__id__": 15
     },
     "_customMaterial": null,
     "_srcBlendFactor": 2,
@@ -151,7 +361,7 @@
     },
     "_enabled": true,
     "__prefab": {
-      "__id__": 7
+      "__id__": 17
     },
     "enabledContactListener": true,
     "bullet": false,
@@ -185,13 +395,13 @@
     },
     "_enabled": true,
     "__prefab": {
-      "__id__": 9
+      "__id__": 19
     },
     "tag": 0,
     "_group": 2,
     "_density": 0,
     "_sensor": false,
-    "_friction": 0.2,
+    "_friction": 0,
     "_restitution": 0,
     "_offset": {
       "__type__": "cc.Vec2",
@@ -200,8 +410,8 @@
     },
     "_size": {
       "__type__": "cc.Size",
-      "width": 130,
-      "height": 26
+      "width": 121.7,
+      "height": 21.4
     },
     "_id": ""
   },
@@ -219,7 +429,7 @@
     },
     "_enabled": true,
     "__prefab": {
-      "__id__": 11
+      "__id__": 21
     },
     "_id": ""
   },

+ 3 - 3
assets/resources/Prefabs/dici.prefab

@@ -196,12 +196,12 @@
     "_offset": {
       "__type__": "cc.Vec2",
       "x": 0,
-      "y": 0
+      "y": -5.6
     },
     "_size": {
       "__type__": "cc.Size",
-      "width": 116,
-      "height": 18
+      "width": 110,
+      "height": 6
     },
     "_id": ""
   },

+ 9 - 0
assets/resources/Sound.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.0",
+  "importer": "directory",
+  "imported": true,
+  "uuid": "1f6bafb8-f147-405c-b93f-3480cae98e4e",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

BIN
assets/resources/Sound/anniu.mp3


+ 14 - 0
assets/resources/Sound/anniu.mp3.meta

@@ -0,0 +1,14 @@
+{
+  "ver": "1.0.0",
+  "importer": "audio-clip",
+  "imported": true,
+  "uuid": "09a094e3-c70c-4488-af31-43bae19947bf",
+  "files": [
+    ".json",
+    ".mp3"
+  ],
+  "subMetas": {},
+  "userData": {
+    "downloadMode": 0
+  }
+}

BIN
assets/resources/Sound/dead.mp3


+ 14 - 0
assets/resources/Sound/dead.mp3.meta

@@ -0,0 +1,14 @@
+{
+  "ver": "1.0.0",
+  "importer": "audio-clip",
+  "imported": true,
+  "uuid": "18a5b242-448b-4b7b-9fd2-7c331ef3f73e",
+  "files": [
+    ".json",
+    ".mp3"
+  ],
+  "subMetas": {},
+  "userData": {
+    "downloadMode": 0
+  }
+}

BIN
assets/resources/Sound/gbg.mp3


+ 14 - 0
assets/resources/Sound/gbg.mp3.meta

@@ -0,0 +1,14 @@
+{
+  "ver": "1.0.0",
+  "importer": "audio-clip",
+  "imported": true,
+  "uuid": "f8885735-9e17-4a1e-96cb-264a896b8c49",
+  "files": [
+    ".json",
+    ".mp3"
+  ],
+  "subMetas": {},
+  "userData": {
+    "downloadMode": 0
+  }
+}

BIN
assets/resources/Sound/heart.mp3


+ 14 - 0
assets/resources/Sound/heart.mp3.meta

@@ -0,0 +1,14 @@
+{
+  "ver": "1.0.0",
+  "importer": "audio-clip",
+  "imported": true,
+  "uuid": "f4a4aa15-45d6-48fc-a9ec-b306ff0c8a2e",
+  "files": [
+    ".json",
+    ".mp3"
+  ],
+  "subMetas": {},
+  "userData": {
+    "downloadMode": 0
+  }
+}

Datei-Diff unterdrückt, da er zu groß ist
+ 8503 - 91
assets/scene/loading.scene


+ 4 - 1
settings/v2/packages/project.json

@@ -21,7 +21,10 @@
     "collisionMatrix": {
       "0": 1,
       "1": 4,
-      "2": 2
+      "2": 58,
+      "3": 4,
+      "4": 4,
+      "5": 4
     }
   }
 }

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.