Browse Source

feat: 优化

chenjixiang 1 year ago
parent
commit
861e90e841

+ 26 - 2
assets/Script/GameMain/GameMain.ts

@@ -1,4 +1,7 @@
 import PlaySoundManager from '../Manager/core/PlaySoundManager';
+import PrefabManager from '../Manager/core/PrefabManager';
+import { UIID } from '../Manager/core/UIID';
+import { gameModel } from '../Module/Module';
 import CCUtils from '../Utiles/CCUtils';
 import Utiles from '../Utiles/Utiles';
 
@@ -83,6 +86,8 @@ export default class GameMain extends cc.Component {
     public gameStartBtn: cc.Node= null;
 
     onLoad() {
+        // 
+        
         this.createNotes();
         this.node.opacity = 50;
         this.touchLayer = CCUtils.findChild(this.node, 'touchLayer');
@@ -102,9 +107,16 @@ export default class GameMain extends cc.Component {
         this.gameStartBtn.y = 1200;
         this.gameStartBtn.scale = 0.8;
         cc.tween(this.gameStartBtn).to(0.4, { y: -70, scale: 1 }).to(0.1, { y: 10, scale: 0.9 }).to(0.12, { y: 0 , scale: 1}).start();
+
+        const height: number = cc.winSize.height;
+        this.sumScoreLabel.y  = height / 2 - 50;
     }
 
     protected onEnable(): void {
+        console.log('gameModel.curIndex: ' , gameModel.curIndex);
+        this.speed = 800 + (gameModel.curIndex * 30);
+        console.log('游戏参数  速度', this.speed, ' 误差范围', this.errorScope);
+
         this.curBg = CCUtils.findChild(this.node, 'Camera/bgNode/bg1');
         this.mapLayer = CCUtils.findChild(this.node, 'mapLayer');
         this.songTimes = Utiles.getSongTimes();
@@ -178,7 +190,6 @@ export default class GameMain extends cc.Component {
                     // console.log('===updateGame: ', this.noteIndex);
                     // this.noteNodes[this.noteIndex]['flag'] = false;
                     this.noteIndex++;
-                    console.log('=============+++++');
                     // alert('游戏结束');
                     this.updateNotePos();
                 }
@@ -369,10 +380,23 @@ export default class GameMain extends cc.Component {
 
     private gameFail(): void {
         this.failNode.active = true;
-        this.playLoadingTextEffect(CCUtils.findChild(this.failNode, 'failLabel'), 0.08, ' FAIL \n 游戏结束');
+        gameModel.historyScores.push(this.sumScoreNum);
+        localStorage.setItem('historyScores', JSON.stringify(gameModel.historyScores));
+        this.playLoadingTextEffect(CCUtils.findChild(this.failNode, 'failLabel'), 0.08, ` GameOver \n Congratulations on getting ${this.sumScoreNum} points`);
+    }
+
+    private closeGameFail(): void {
+        this.failNode.active = false;
+    }
+
+    private onBack(): void {
+        // 返回到主界面
+        PrefabManager.close(UIID.GameMainPrefab);  
+        PrefabManager.open(UIID.MainHome);
     }
 
     private playLoadingTextEffect(node: cc.Node, t: number, str: string): void {
+        node.stopAllActions();
         let strTemp: string = '';
 
         for (let i: number = 0; i < str.length; i++) {

+ 6 - 0
assets/Script/Loading.ts

@@ -1,6 +1,8 @@
 // import playSoundManager from "./Utiles/playSoundManager";
 // import Utiles from "./Utiles/Utiles";
 
+import { gameModel } from "./Module/Module";
+
 const { ccclass, property } = cc._decorator;
 
 @ccclass
@@ -13,6 +15,10 @@ export default class Loading extends cc.Component {
     teamBtn: cc.Node = null;
     
     start() {
+        const historyScores = localStorage.getItem('historyScores');
+        if (historyScores) {
+            gameModel.historyScores = JSON.parse(historyScores);
+        }
         const str: string = 'Loading...';
         const node: cc.Node = cc.find('label', this.node);
         const node2: cc.Node = cc.find('label/label', this.node);

+ 5 - 1
assets/Script/Main.ts

@@ -1,7 +1,9 @@
 import { EventType, ObserverManager } from './Manager/core/EventManager';
 import PrefabManager from './Manager/core/PrefabManager';
 import { UIID } from './Manager/core/UIID';
+import { gameModel } from './Module/Module';
 import CCUtils from './Utiles/CCUtils';
+import Utiles from './Utiles/Utiles';
 
 const { ccclass, property } = cc._decorator;
 
@@ -40,7 +42,9 @@ export default class Main extends cc.Component {
     }
 
     private openGame(data?: any): any {
-        // 打开游戏界面 data.index 表示第几首歌      
+        // 打开游戏界面 data.index 表示第几首歌   
+        gameModel.curIndex = data.index;
+        console.log('打开游戏界面', gameModel.curIndex);
         PrefabManager.close(UIID.MainHome);  
         PrefabManager.open(UIID.GameMainPrefab, this.windowsLayer);
     }

+ 19 - 3
assets/Script/Main/MainHome.ts

@@ -36,12 +36,11 @@ export default class MainHome extends cc.Component {
             this.setZindex();
         });
         this.setAdaptation();
-
-
     }
 
     protected onDisable(): void {
         ObserverManager.removeObserver(EventType.OpenGame);
+        this.hisBtn.off('click',this.openHistUI,this)
     }
 
     /**
@@ -71,6 +70,23 @@ export default class MainHome extends cc.Component {
         PrefabManager.open(UIID.UIRankPrefab, this.node);
     }
 
+    public openStore(): void {
+        this.openTips();
+    }
+
+    public openActive(): void {
+        this.openTips();
+    }
+
+    private openTips(): void {
+        CCUtils.findChild(this.node , 'tipsNode').zIndex = 1000;
+        CCUtils.findChild(this.node , 'tipsNode').active = true;
+        this.scheduleOnce((): void=> {
+            CCUtils.findChild(this.node , 'tipsNode').active = false;
+        }, 1);
+
+    }
+
     private setZindex(): void {
         this.headNode.zIndex = 1;
         this.bottomNode.zIndex = 1;
@@ -86,7 +102,7 @@ export default class MainHome extends cc.Component {
     private setAdaptation(): void {
         // 设置适配
         const height: number = this.node.parent.height;
-        console.log('===height===', height);
         this.headNode.y = height / 2;
+        this.bottomNode.y = -height / 2;
     }
 }

+ 24 - 0
assets/Script/Main/UIRank.ts

@@ -7,6 +7,9 @@
 
 import PrefabManager from "../Manager/core/PrefabManager";
 import {UIID} from "../Manager/core/UIID";
+import { gameModel } from "../Module/Module";
+import CCUtils from "../Utiles/CCUtils";
+import Utiles from "../Utiles/Utiles";
 
 const {ccclass, property} = cc._decorator;
 
@@ -24,9 +27,30 @@ export default class UIRank extends cc.Component {
 
     start () {
 
+        
+    }
+    protected onEnable(): void {
         this.closeBtn.node.on('click',this.closeEvent,this)
+        const content: cc.Node = CCUtils.findChild(this.node , 'tcBg/scrollView/view/content');
+        content.removeAllChildren();
+        // 获取数组中最大的值
+        const maxNum: number = gameModel.historyScores.reduce((a, b) => Math.max(a, b));
+        console.log('maxNum', maxNum);
+        CCUtils.findChild(this.node , 'tcBg/scrollView/view/content').height = gameModel.historyScores.length * 100;
+        for (let i: number = gameModel.historyScores.length; i > 0; i--) {
+            const node: cc.Node = cc.instantiate(CCUtils.findChild(this.node, 'tcBg/scoreItem'));
+            node.parent = content;
+            node.setPosition(0, -i * 100);
+            CCUtils.getLabel(node, 'score').string = gameModel.historyScores[i - 1].toString();
+            CCUtils.getLabel(node, 'name').string = Utiles.random(1, 20).toString();
+        }
+
+        CCUtils.getLabel(this.node, 'tcBg/goatLabel').string = 'Highest score: ' + maxNum.toString();
     }
     
+    protected onDisable(): void {
+        this.closeBtn.node.off('click',this.closeEvent,this)
+    }
     private closeEvent():void{
         console.log("=====closeEvent====")
         // this.node.destroy()

+ 2 - 2
assets/Script/Manager/core/PrefabManager.ts

@@ -32,7 +32,7 @@ export default class PrefabManager {
      * @param parentNode 预制体的父节点
      * @param callback 预制体加载完成后的回调函数
      */
-    public static open(path: string, parentNode?: cc.Node, callback?: (node: cc.Node) => void) {
+    public static open(path: string, parentNode?: cc.Node, callback?: (node: cc.Node, data: any) => void, data: any = null) {
         // 如果已经加载过了,就直接显示
         if (this._prefabDic[path] != undefined) {
             this._prefabDic[path].active = true;
@@ -45,7 +45,7 @@ export default class PrefabManager {
                     this._prefabDic[path] = node;
                 }
                 if (callback) {
-                    callback(node);
+                    callback(node, data);
                 }
             });
         }

+ 1 - 1
assets/Texture/tets.meta

@@ -1,6 +1,6 @@
 {
   "ver": "1.1.3",
-  "uuid": "b0467cbb-8865-41fe-bc5a-44085256f3ea",
+  "uuid": "15312716-77b8-49ff-95a5-0b74bc1ea0e2",
   "importer": "folder",
   "isBundle": false,
   "bundleName": "",

+ 5 - 0
assets/Script/Module/Module.ts

@@ -0,0 +1,5 @@
+class GameModel {
+    public curIndex: number = 0;
+    public historyScores: any[] = [];
+}
+export let gameModel: GameModel = new GameModel();

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

@@ -0,0 +1,10 @@
+{
+  "ver": "1.1.0",
+  "uuid": "fb6a0378-a0f5-4e09-84c0-f35916ef0ebb",
+  "importer": "typescript",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

File diff suppressed because it is too large
+ 10 - 2
assets/Script/Utiles/Utiles.ts


+ 13 - 0
assets/Texture/UI/Home.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.3",
+  "uuid": "c64e1682-09e7-4efb-bbf8-395735cabebb",
+  "importer": "folder",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

+ 13 - 0
assets/Texture/UI/Rank.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.3",
+  "uuid": "c0141513-bfb3-49ea-b4a2-3bdc3e35279d",
+  "importer": "folder",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

+ 13 - 0
assets/Texture/UI/Store.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.3",
+  "uuid": "34cf5e20-612e-4578-a5b8-4e1fde14f839",
+  "importer": "folder",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

BIN
assets/Texture/UICommon/icon_back.png


+ 12 - 12
assets/Texture/tets/raptor.png.meta

@@ -1,6 +1,6 @@
 {
   "ver": "2.3.7",
-  "uuid": "07d7f501-824a-4174-846b-cfa1b53bcdc2",
+  "uuid": "21b47d23-b984-48ec-85c6-aa446022be03",
   "importer": "texture",
   "type": "sprite",
   "wrapMode": "clamp",
@@ -8,26 +8,26 @@
   "premultiplyAlpha": false,
   "genMipmaps": false,
   "packable": true,
-  "width": 1024,
-  "height": 1024,
+  "width": 70,
+  "height": 70,
   "platformSettings": {},
   "subMetas": {
-    "raptor": {
+    "icon_back": {
       "ver": "1.0.6",
-      "uuid": "8000336c-fd29-4df3-a09c-bdec6e290757",
+      "uuid": "1063a49e-e6c9-4d54-bab2-32045cdf12bc",
       "importer": "sprite-frame",
-      "rawTextureUuid": "07d7f501-824a-4174-846b-cfa1b53bcdc2",
+      "rawTextureUuid": "21b47d23-b984-48ec-85c6-aa446022be03",
       "trimType": "auto",
       "trimThreshold": 1,
       "rotated": false,
       "offsetX": 0,
       "offsetY": 0,
-      "trimX": 2,
-      "trimY": 2,
-      "width": 1020,
-      "height": 1020,
-      "rawWidth": 1024,
-      "rawHeight": 1024,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 70,
+      "height": 70,
+      "rawWidth": 70,
+      "rawHeight": 70,
       "borderTop": 0,
       "borderBottom": 0,
       "borderLeft": 0,

+ 0 - 251
assets/Texture/tets/raptor.atlas.txt

@@ -1,251 +0,0 @@
-
-raptor.png
-size: 1024,1024
-format: RGBA8888
-filter: Linear,Linear
-repeat: none
-back_arm
-  rotate: false
-  xy: 410, 545
-  size: 46, 29
-  orig: 46, 29
-  offset: 0, 0
-  index: -1
-back_bracer
-  rotate: false
-  xy: 540, 548
-  size: 39, 28
-  orig: 39, 28
-  offset: 0, 0
-  index: -1
-back_hand
-  rotate: true
-  xy: 504, 538
-  size: 36, 34
-  orig: 36, 34
-  offset: 0, 0
-  index: -1
-back_knee
-  rotate: false
-  xy: 299, 478
-  size: 49, 67
-  orig: 49, 67
-  offset: 0, 0
-  index: -1
-back_thigh
-  rotate: true
-  xy: 140, 247
-  size: 39, 24
-  orig: 39, 24
-  offset: 0, 0
-  index: -1
-eyes_open
-  rotate: true
-  xy: 2, 2
-  size: 47, 45
-  orig: 47, 45
-  offset: 0, 0
-  index: -1
-front_arm
-  rotate: false
-  xy: 360, 544
-  size: 48, 30
-  orig: 48, 30
-  offset: 0, 0
-  index: -1
-front_bracer
-  rotate: false
-  xy: 538, 578
-  size: 41, 29
-  orig: 41, 29
-  offset: 0, 0
-  index: -1
-front_hand
-  rotate: false
-  xy: 538, 609
-  size: 41, 38
-  orig: 41, 38
-  offset: 0, 0
-  index: -1
-front_open_hand
-  rotate: false
-  xy: 894, 782
-  size: 43, 44
-  orig: 43, 44
-  offset: 0, 0
-  index: -1
-front_thigh
-  rotate: false
-  xy: 942, 849
-  size: 57, 29
-  orig: 57, 29
-  offset: 0, 0
-  index: -1
-gun
-  rotate: false
-  xy: 785, 774
-  size: 107, 103
-  orig: 107, 103
-  offset: 0, 0
-  index: -1
-gun_nohand
-  rotate: false
-  xy: 614, 703
-  size: 105, 102
-  orig: 105, 102
-  offset: 0, 0
-  index: -1
-head
-  rotate: false
-  xy: 2, 137
-  size: 136, 149
-  orig: 136, 149
-  offset: 0, 0
-  index: -1
-lower_leg
-  rotate: true
-  xy: 780, 699
-  size: 73, 98
-  orig: 73, 98
-  offset: 0, 0
-  index: -1
-mouth_smile
-  rotate: true
-  xy: 49, 2
-  size: 47, 30
-  orig: 47, 30
-  offset: 0, 0
-  index: -1
-neck
-  rotate: true
-  xy: 1001, 860
-  size: 18, 21
-  orig: 18, 21
-  offset: 0, 0
-  index: -1
-raptor_arm_back
-  rotate: false
-  xy: 940, 936
-  size: 82, 86
-  orig: 82, 86
-  offset: 0, 0
-  index: -1
-raptor_body
-  rotate: false
-  xy: 2, 737
-  size: 610, 285
-  orig: 610, 285
-  offset: 0, 0
-  index: -1
-raptor_front_arm
-  rotate: true
-  xy: 195, 464
-  size: 81, 102
-  orig: 81, 102
-  offset: 0, 0
-  index: -1
-raptor_front_leg
-  rotate: false
-  xy: 2, 478
-  size: 191, 257
-  orig: 191, 257
-  offset: 0, 0
-  index: -1
-raptor_hindleg_back
-  rotate: false
-  xy: 614, 807
-  size: 169, 215
-  orig: 169, 215
-  offset: 0, 0
-  index: -1
-raptor_horn
-  rotate: false
-  xy: 360, 655
-  size: 182, 80
-  orig: 182, 80
-  offset: 0, 0
-  index: -1
-raptor_horn_back
-  rotate: false
-  xy: 360, 576
-  size: 176, 77
-  orig: 176, 77
-  offset: 0, 0
-  index: -1
-raptor_jaw
-  rotate: false
-  xy: 785, 879
-  size: 153, 143
-  orig: 153, 143
-  offset: 0, 0
-  index: -1
-raptor_saddle_noshadow
-  rotate: false
-  xy: 2, 288
-  size: 163, 188
-  orig: 163, 188
-  offset: 0, 0
-  index: -1
-raptor_saddle_strap_front
-  rotate: false
-  xy: 721, 710
-  size: 57, 95
-  orig: 57, 95
-  offset: 0, 0
-  index: -1
-raptor_saddle_strap_rear
-  rotate: true
-  xy: 940, 880
-  size: 54, 74
-  orig: 54, 74
-  offset: 0, 0
-  index: -1
-raptor_saddle_w_shadow
-  rotate: false
-  xy: 195, 547
-  size: 163, 188
-  orig: 163, 188
-  offset: 0, 0
-  index: -1
-raptor_tongue
-  rotate: true
-  xy: 544, 649
-  size: 86, 64
-  orig: 86, 64
-  offset: 0, 0
-  index: -1
-stirrup_back
-  rotate: false
-  xy: 458, 539
-  size: 44, 35
-  orig: 44, 35
-  offset: 0, 0
-  index: -1
-stirrup_front
-  rotate: true
-  xy: 81, 4
-  size: 45, 50
-  orig: 45, 50
-  offset: 0, 0
-  index: -1
-stirrup_strap
-  rotate: true
-  xy: 894, 828
-  size: 49, 46
-  orig: 49, 46
-  offset: 0, 0
-  index: -1
-torso
-  rotate: true
-  xy: 610, 647
-  size: 54, 91
-  orig: 54, 91
-  offset: 0, 0
-  index: -1
-visor
-  rotate: false
-  xy: 2, 51
-  size: 131, 84
-  orig: 131, 84
-  offset: 0, 0
-  index: -1

+ 0 - 6
assets/Texture/tets/raptor.atlas.txt.meta

@@ -1,6 +0,0 @@
-{
-  "ver": "2.0.2",
-  "uuid": "c65cf306-f593-436e-a552-428bce7a8b63",
-  "importer": "text",
-  "subMetas": {}
-}

BIN
assets/Texture/tets/raptor.png


File diff suppressed because it is too large
+ 845 - 180
assets/resources/Prefab/GameMain/GameMainPrefab.prefab


+ 399 - 25
assets/resources/Prefab/Main/MainHomePrefab.prefab

@@ -27,20 +27,23 @@
         "__id__": 86
       },
       {
-        "__id__": 102
+        "__id__": 104
+      },
+      {
+        "__id__": 107
       }
     ],
     "_active": true,
     "_components": [
       {
-        "__id__": 105
+        "__id__": 117
       },
       {
-        "__id__": 106
+        "__id__": 118
       }
     ],
     "_prefab": {
-      "__id__": 107
+      "__id__": 119
     },
     "_opacity": 255,
     "_color": {
@@ -3200,20 +3203,20 @@
         "__id__": 91
       },
       {
-        "__id__": 95
+        "__id__": 96
       }
     ],
     "_active": true,
     "_components": [
       {
-        "__id__": 99
+        "__id__": 101
       },
       {
-        "__id__": 100
+        "__id__": 102
       }
     ],
     "_prefab": {
-      "__id__": 101
+      "__id__": 103
     },
     "_opacity": 255,
     "_color": {
@@ -3231,14 +3234,14 @@
     "_anchorPoint": {
       "__type__": "cc.Vec2",
       "x": 0,
-      "y": 1
+      "y": 0
     },
     "_trs": {
       "__type__": "TypedArray",
       "ctor": "Float64Array",
       "array": [
         -375,
-        -642.242,
+        -811.972,
         0,
         0,
         0,
@@ -3305,7 +3308,7 @@
       "ctor": "Float64Array",
       "array": [
         92.831,
-        -88.47,
+        83.801,
         0,
         0,
         0,
@@ -3458,7 +3461,7 @@
       }
     ],
     "_prefab": {
-      "__id__": 94
+      "__id__": 95
     },
     "_opacity": 255,
     "_color": {
@@ -3483,7 +3486,7 @@
       "ctor": "Float64Array",
       "array": [
         362.657,
-        -89.3,
+        82.971,
         0,
         0,
         0,
@@ -3551,7 +3554,11 @@
     "_grayMaterial": null,
     "duration": 0.1,
     "zoomScale": 1.1,
-    "clickEvents": [],
+    "clickEvents": [
+      {
+        "__id__": 94
+      }
+    ],
     "_N$interactable": true,
     "_N$enableAutoGrayEffect": false,
     "_N$transition": 3,
@@ -3607,6 +3614,16 @@
     "_N$target": null,
     "_id": ""
   },
+  {
+    "__type__": "cc.ClickEvent",
+    "target": {
+      "__id__": 1
+    },
+    "component": "",
+    "_componentId": "4df25H3KFVKNY0kiO5pjOka",
+    "handler": "openStore",
+    "customEventData": ""
+  },
   {
     "__type__": "cc.PrefabInfo",
     "root": {
@@ -3629,14 +3646,14 @@
     "_active": true,
     "_components": [
       {
-        "__id__": 96
+        "__id__": 97
       },
       {
-        "__id__": 97
+        "__id__": 98
       }
     ],
     "_prefab": {
-      "__id__": 98
+      "__id__": 100
     },
     "_opacity": 255,
     "_color": {
@@ -3661,7 +3678,7 @@
       "ctor": "Float64Array",
       "array": [
         643.652,
-        -88.44,
+        83.831,
         0,
         0,
         0,
@@ -3690,7 +3707,7 @@
     "_name": "",
     "_objFlags": 0,
     "node": {
-      "__id__": 95
+      "__id__": 96
     },
     "_enabled": true,
     "_materials": [
@@ -3722,14 +3739,18 @@
     "_name": "",
     "_objFlags": 0,
     "node": {
-      "__id__": 95
+      "__id__": 96
     },
     "_enabled": true,
     "_normalMaterial": null,
     "_grayMaterial": null,
     "duration": 0.1,
     "zoomScale": 1.1,
-    "clickEvents": [],
+    "clickEvents": [
+      {
+        "__id__": 99
+      }
+    ],
     "_N$interactable": true,
     "_N$enableAutoGrayEffect": false,
     "_N$transition": 3,
@@ -3785,6 +3806,16 @@
     "_N$target": null,
     "_id": ""
   },
+  {
+    "__type__": "cc.ClickEvent",
+    "target": {
+      "__id__": 1
+    },
+    "component": "",
+    "_componentId": "4df25H3KFVKNY0kiO5pjOka",
+    "handler": "openActive",
+    "customEventData": ""
+  },
   {
     "__type__": "cc.PrefabInfo",
     "root": {
@@ -3842,7 +3873,7 @@
     "_left": 0,
     "_right": 0,
     "_top": 0,
-    "_bottom": -0.30499999999995,
+    "_bottom": 0.02800000000002001,
     "_verticalCenter": 690.189,
     "_horizontalCenter": 0,
     "_isAbsLeft": true,
@@ -3877,11 +3908,11 @@
     "_active": true,
     "_components": [
       {
-        "__id__": 103
+        "__id__": 105
       }
     ],
     "_prefab": {
-      "__id__": 104
+      "__id__": 106
     },
     "_opacity": 255,
     "_color": {
@@ -3935,7 +3966,7 @@
     "_name": "",
     "_objFlags": 0,
     "node": {
-      "__id__": 102
+      "__id__": 104
     },
     "_enabled": true,
     "_materials": [
@@ -3981,6 +4012,349 @@
     "fileId": "26MvCJvGtHEbbb4f7Hf7VC",
     "sync": false
   },
+  {
+    "__type__": "cc.Node",
+    "_name": "tipsNode",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [
+      {
+        "__id__": 108
+      },
+      {
+        "__id__": 113
+      }
+    ],
+    "_active": false,
+    "_components": [],
+    "_prefab": {
+      "__id__": 116
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 750,
+      "height": 2000
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "New Layout",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 107
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 109
+      },
+      {
+        "__id__": 110
+      },
+      {
+        "__id__": 111
+      }
+    ],
+    "_prefab": {
+      "__id__": 112
+    },
+    "_opacity": 150,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 900,
+      "height": 2000
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 108
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "9bbda31e-ad49-43c9-aaf2-f7d9896bac69"
+    },
+    "_type": 1,
+    "_sizeMode": 0,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Layout",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 108
+    },
+    "_enabled": true,
+    "_layoutSize": {
+      "__type__": "cc.Size",
+      "width": 900,
+      "height": 2000
+    },
+    "_resize": 0,
+    "_N$layoutType": 0,
+    "_N$cellSize": {
+      "__type__": "cc.Size",
+      "width": 40,
+      "height": 40
+    },
+    "_N$startAxis": 0,
+    "_N$paddingLeft": 0,
+    "_N$paddingRight": 0,
+    "_N$paddingTop": 0,
+    "_N$paddingBottom": 0,
+    "_N$spacingX": 0,
+    "_N$spacingY": 0,
+    "_N$verticalDirection": 1,
+    "_N$horizontalDirection": 0,
+    "_N$affectedByScale": false,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.BlockInputEvents",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 108
+    },
+    "_enabled": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "acV9wxe+1Cb5OiDN1YXPxc",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "label",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 107
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 114
+      }
+    ],
+    "_prefab": {
+      "__id__": 115
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 247,
+      "g": 120,
+      "b": 20,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 700,
+      "height": 340.79999999999995
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        36.47,
+        59.678,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 113
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_string": "The programmer is working on overnight development~ Stay tuned",
+    "_N$string": "The programmer is working on overnight development~ Stay tuned",
+    "_fontSize": 70,
+    "_lineHeight": 80,
+    "_enableWrapText": true,
+    "_N$file": {
+      "__uuid__": "6b3e04b9-0979-4b06-ad21-8dbba6e80223"
+    },
+    "_isSystemFontUsed": false,
+    "_spacingX": 0,
+    "_batchAsBitmap": false,
+    "_styleFlags": 0,
+    "_underlineHeight": 0,
+    "_N$horizontalAlign": 0,
+    "_N$verticalAlign": 1,
+    "_N$fontFamily": "Arial",
+    "_N$overflow": 3,
+    "_N$cacheMode": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "3f/NUEgo5Pm5SB3SHrn1Er",
+    "sync": false
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "86Iyryh5RGHICyxme6NS/l",
+    "sync": false
+  },
   {
     "__type__": "cc.BlockInputEvents",
     "_name": "",

File diff suppressed because it is too large
+ 328 - 1742
assets/resources/Prefab/Main/UIPopUps/UIRank.prefab


+ 1 - 1
assets/resources/loading/zp_x.png.meta

@@ -5,7 +5,7 @@
   "type": "sprite",
   "wrapMode": "clamp",
   "filterMode": "bilinear",
-  "premultiplyAlpha": false,
+  "premultiplyAlpha": true,
   "genMipmaps": false,
   "packable": true,
   "width": 70,