Преглед изворни кода

1,调整HpTips,增加暴击和miss不同效果
2,怪物受击效果优化,增加同时多个受击效果

zouyong пре 5 година
родитељ
комит
e08ae6eb7b
57 измењених фајлова са 1059 додато и 187 уклоњено
  1. 1 0
      tools/生成资源列表文件.bat
  2. 8 3
      tower_sanguo/assets/MOKA/manager/PoolManager.ts
  3. 11 11
      tower_sanguo/assets/resources/data/general_data.json
  4. 1 1
      tower_sanguo/assets/resources/data/mission_data.json
  5. 2 2
      tower_sanguo/assets/resources/data/monster_data.json
  6. 51 19
      tower_sanguo/assets/resources/data/resList.json
  7. 20 20
      tower_sanguo/assets/resources/module/fight/fight.prefab
  8. 219 0
      tower_sanguo/assets/resources/module/fight/prefab/attack_light.prefab
  9. 8 0
      tower_sanguo/assets/resources/module/fight/prefab/attack_light.prefab.meta
  10. 23 69
      tower_sanguo/assets/resources/module/fight/prefab/monster.prefab
  11. 1 1
      tower_sanguo/assets/resources/module/fight/spine/fight_1_boom.atlas
  12. 5 0
      tower_sanguo/assets/resources/module/fight/spine/fight_1_boom.atlas.meta
  13. 1 0
      tower_sanguo/assets/resources/module/fight/spine/fight_1_boom.json
  14. 9 0
      tower_sanguo/assets/resources/module/fight/spine/fight_1_boom.json.meta
  15. BIN
      tower_sanguo/assets/resources/module/fight/spine/fight_1_boom.png
  16. 4 4
      tower_sanguo/assets/resources/module/fight/spine/fight_1_boom.png.meta
  17. 104 0
      tower_sanguo/assets/resources/module/fight/spine/fight_3_boom.atlas
  18. 5 0
      tower_sanguo/assets/resources/module/fight/spine/fight_3_boom.atlas.meta
  19. 1 0
      tower_sanguo/assets/resources/module/fight/spine/fight_3_boom.json
  20. 9 0
      tower_sanguo/assets/resources/module/fight/spine/fight_3_boom.json.meta
  21. BIN
      tower_sanguo/assets/resources/module/fight/spine/fight_3_boom.png
  22. 36 0
      tower_sanguo/assets/resources/module/fight/spine/fight_3_boom.png.meta
  23. 62 0
      tower_sanguo/assets/resources/module/fight/spine/fight_4_boom.atlas
  24. 5 0
      tower_sanguo/assets/resources/module/fight/spine/fight_4_boom.atlas.meta
  25. 1 0
      tower_sanguo/assets/resources/module/fight/spine/fight_4_boom.json
  26. 9 0
      tower_sanguo/assets/resources/module/fight/spine/fight_4_boom.json.meta
  27. BIN
      tower_sanguo/assets/resources/module/fight/spine/fight_4_boom.png
  28. 36 0
      tower_sanguo/assets/resources/module/fight/spine/fight_4_boom.png.meta
  29. 55 0
      tower_sanguo/assets/resources/module/fight/spine/fight_5_boom.atlas
  30. 5 0
      tower_sanguo/assets/resources/module/fight/spine/fight_5_boom.atlas.meta
  31. 1 0
      tower_sanguo/assets/resources/module/fight/spine/fight_5_boom.json
  32. 9 0
      tower_sanguo/assets/resources/module/fight/spine/fight_5_boom.json.meta
  33. BIN
      tower_sanguo/assets/resources/module/fight/spine/fight_5_boom.png
  34. 36 0
      tower_sanguo/assets/resources/module/fight/spine/fight_5_boom.png.meta
  35. 0 5
      tower_sanguo/assets/resources/module/fight/spine/knife_light.atlas.meta
  36. 0 1
      tower_sanguo/assets/resources/module/fight/spine/knife_light.json
  37. 0 9
      tower_sanguo/assets/resources/module/fight/spine/knife_light.json.meta
  38. BIN
      tower_sanguo/assets/resources/module/fight/spine/knife_light.png
  39. BIN
      tower_sanguo/assets/resources/module/fight/texture/fight_1.png
  40. 6 6
      tower_sanguo/assets/resources/module/fight/texture/fight_1.png.meta
  41. BIN
      tower_sanguo/assets/resources/module/fight/texture/fight_2.png
  42. 36 0
      tower_sanguo/assets/resources/module/fight/texture/fight_2.png.meta
  43. BIN
      tower_sanguo/assets/resources/module/fight/texture/fight_3.png
  44. 36 0
      tower_sanguo/assets/resources/module/fight/texture/fight_3.png.meta
  45. BIN
      tower_sanguo/assets/resources/module/fight/texture/fight_4.png
  46. 36 0
      tower_sanguo/assets/resources/module/fight/texture/fight_4.png.meta
  47. BIN
      tower_sanguo/assets/resources/module/fight/texture/fight_5.png
  48. 36 0
      tower_sanguo/assets/resources/module/fight/texture/fight_5.png.meta
  49. 15 6
      tower_sanguo/assets/scripts/data/GameData.ts
  50. 1 1
      tower_sanguo/assets/scripts/module/fight/FightUI.ts
  51. 27 3
      tower_sanguo/assets/scripts/module/fight/HpTips.ts
  52. 55 0
      tower_sanguo/assets/scripts/module/fight/model/attack/AttackLight.ts
  53. 9 0
      tower_sanguo/assets/scripts/module/fight/model/attack/AttackLight.ts.meta
  54. 2 2
      tower_sanguo/assets/scripts/module/fight/model/attack/AttackModel.ts
  55. 5 1
      tower_sanguo/assets/scripts/module/fight/model/generals/General.ts
  56. 50 20
      tower_sanguo/assets/scripts/module/fight/model/monsters/Monster.ts
  57. 7 3
      tower_sanguo/assets/scripts/vo/GeneralVO.ts

+ 1 - 0
tools/生成资源列表文件.bat

@@ -0,0 +1 @@
+node createResList.js

+ 8 - 3
tower_sanguo/assets/MOKA/manager/PoolManager.ts

@@ -1,5 +1,4 @@
 import GameController from "../../scripts/GameController";
-import HpTips from "../../scripts/module/fight/HpTips";
 
 
 const { ccclass, } = cc._decorator;
@@ -17,7 +16,7 @@ export default class PoolManager {
      * 初始化对象池 
      * @param pools {name:类名,num:预创建的个数} prefab对应脚本的名字 该类内部必须含有对应prefab的路径prefabUrl
      */
-     initPoolsByClassName(pools: { name, num }[]) {
+    initPoolsByClassName(pools: { name, num }[]) {
         this.poolList = {};
 
         for (let i = 0; i < pools.length; i++) {
@@ -91,7 +90,13 @@ export default class PoolManager {
      * @param node 脚本对应node
      */
     returnPrefabByClassName(classname, node: cc.Node) {
-        this.poolList[classname] && this.poolList[classname].put(node);
+        let pool = this.poolList[classname];
+        if (pool) {
+            pool.put(node);
+        }
+        else {
+            console.log("pool is underfined:" + classname);
+        }
     }
 
     clearPool(name) {

+ 11 - 11
tower_sanguo/assets/resources/data/general_data.json

@@ -456,7 +456,7 @@
 		"initStar": 3,
 		"attSpeed": 1.99,
 		"skillID": 100021,
-		"hero_res": "hero_shu_HZ",
+		"hero_res": "hero_shu_GY",
 		"atk_res": "fight_1",
 		"attack": 130,
 		"cri": 500,
@@ -471,7 +471,7 @@
 		"commander": 96,
 		"initStar": 3,
 		"attSpeed": 1.27,
-		"skillID": 100031,
+		"skillID": 100001,
 		"hero_res": "hero_shu_GY",
 		"atk_res": "fight_1",
 		"attack": 150,
@@ -488,8 +488,8 @@
 		"initStar": 1,
 		"attSpeed": 0.97,
 		"skillID": 100001,
-		"hero_res": "hero_wu_HD",
-		"atk_res": "fight_1",
+		"hero_res": "hero_shu_GY",
+		"atk_res": "fight_2",
 		"attack": 60,
 		"cri": 500,
 		"acc": 10000,
@@ -504,8 +504,8 @@
 		"initStar": 1,
 		"attSpeed": 1.96,
 		"skillID": 100001,
-		"hero_res": "hero_wu_ZM",
-		"atk_res": "fight_1",
+		"hero_res": "hero_shu_GY",
+		"atk_res": "fight_3",
 		"attack": 60,
 		"cri": 500,
 		"acc": 10000,
@@ -520,8 +520,8 @@
 		"initStar": 1,
 		"attSpeed": 1.99,
 		"skillID": 100001,
-		"hero_res": "hero_wu_JQ",
-		"atk_res": "fight_1",
+		"hero_res": "hero_shu_GY",
+		"atk_res": "fight_4",
 		"attack": 60,
 		"cri": 500,
 		"acc": 10000,
@@ -535,9 +535,9 @@
 		"commander": 81,
 		"initStar": 2,
 		"attSpeed": 1.98,
-		"skillID": 100011,
-		"hero_res": "hero_wu_CP",
-		"atk_res": "fight_1",
+		"skillID": 100001,
+		"hero_res": "hero_shu_GY",
+		"atk_res": "fight_5",
 		"attack": 105,
 		"cri": 500,
 		"acc": 10000,

+ 1 - 1
tower_sanguo/assets/resources/data/mission_data.json

@@ -2,7 +2,7 @@
 	"1": {
 		"id": 1,
 		"type": 1,
-		"monsterData": "2,2,100,0.3"
+		"monsterData": "2,2,1,1"
 	},
 	"2": {
 		"id": 2,

+ 2 - 2
tower_sanguo/assets/resources/data/monster_data.json

@@ -3,7 +3,7 @@
 		"id": 1,
 		"resource": "bing_1",
 		"type": 1,
-		"hp": 200,
+		"hp": 200000,
 		"miss": 0,
 		"award": "1:5"
 	},
@@ -11,7 +11,7 @@
 		"id": 2,
 		"resource": "bing_1",
 		"type": 1,
-		"hp": 400,
+		"hp": 20000000,
 		"miss": 0,
 		"award": "1:5"
 	},

+ 51 - 19
tower_sanguo/assets/resources/data/resList.json

@@ -1,6 +1,6 @@
 [
 	{
-		"url": "data/general_data",
+		"url": "data/buff_data",
 		"type": "json"
 	},
 	{
@@ -8,15 +8,15 @@
 		"type": "bin"
 	},
 	{
-		"url": "data/buff_data",
+		"url": "data/mission_data",
 		"type": "json"
 	},
 	{
-		"url": "data/monster_data",
+		"url": "data/general_data",
 		"type": "json"
 	},
 	{
-		"url": "data/mission_data",
+		"url": "data/monster_data",
 		"type": "json"
 	},
 	{
@@ -24,24 +24,24 @@
 		"type": "json"
 	},
 	{
-		"url": "data/resList",
-		"type": "json"
+		"url": "module/loading/loading",
+		"type": "prefab"
 	},
 	{
-		"url": "music/Sutra_PickUP",
-		"type": "wav"
+		"url": "data/resList",
+		"type": "json"
 	},
 	{
-		"url": "module/main/main",
+		"url": "module/main/missionitem",
 		"type": "prefab"
 	},
 	{
-		"url": "module/loading/loading",
+		"url": "module/main/main",
 		"type": "prefab"
 	},
 	{
-		"url": "module/main/missionitem",
-		"type": "prefab"
+		"url": "music/Sutra_PickUP",
+		"type": "wav"
 	},
 	{
 		"url": "music/victory",
@@ -56,7 +56,7 @@
 		"type": "prefab"
 	},
 	{
-		"url": "module/fight/prefab/bar_monster",
+		"url": "module/fight/prefab/attack_light",
 		"type": "prefab"
 	},
 	{
@@ -64,7 +64,7 @@
 		"type": "prefab"
 	},
 	{
-		"url": "module/fight/prefab/hp_tips",
+		"url": "module/fight/prefab/bar_monster",
 		"type": "prefab"
 	},
 	{
@@ -72,27 +72,59 @@
 		"type": "prefab"
 	},
 	{
+		"url": "module/fight/prefab/hp_tips",
+		"type": "prefab"
+	},
+	{
 		"url": "module/fight/spine/bing_die",
 		"type": "spine"
 	},
 	{
-		"url": "module/fight/spine/knife_light",
+		"url": "module/fight/spine/fight_1_boom",
+		"type": "spine"
+	},
+	{
+		"url": "module/fight/spine/fight_3_boom",
 		"type": "spine"
 	},
 	{
+		"url": "module/fight/spine/fight_4_boom",
+		"type": "spine"
+	},
+	{
+		"url": "module/fight/spine/fight_5_boom",
+		"type": "spine"
+	},
+	{
+		"url": "module/fight/texture/fight_2",
+		"type": "texture"
+	},
+	{
 		"url": "module/fight/texture/fight_1",
 		"type": "texture"
 	},
 	{
-		"url": "module/fight/spine/attack_full/2/skeleton",
+		"url": "module/fight/texture/fight_4",
+		"type": "texture"
+	},
+	{
+		"url": "module/fight/texture/fight_3",
+		"type": "texture"
+	},
+	{
+		"url": "module/fight/texture/fight_5",
+		"type": "texture"
+	},
+	{
+		"url": "module/fight/spine/attack_full/1/skeleton",
 		"type": "spine"
 	},
 	{
-		"url": "module/fight/spine/attack_full/4/skeleton",
+		"url": "module/fight/spine/attack_full/2/skeleton",
 		"type": "spine"
 	},
 	{
-		"url": "module/fight/spine/attack_full/1/skeleton",
+		"url": "module/fight/spine/attack_full/1/skeleton2",
 		"type": "spine"
 	},
 	{
@@ -100,7 +132,7 @@
 		"type": "spine"
 	},
 	{
-		"url": "module/fight/spine/attack_full/1/skeleton2",
+		"url": "module/fight/spine/attack_full/4/skeleton",
 		"type": "spine"
 	}
 ]

+ 20 - 20
tower_sanguo/assets/resources/module/fight/fight.prefab

@@ -241,8 +241,8 @@
       "__type__": "TypedArray",
       "ctor": "Float64Array",
       "array": [
-        -85.568,
-        203.988,
+        -118.918,
+        262.992,
         0,
         0,
         0,
@@ -348,8 +348,8 @@
       "__type__": "TypedArray",
       "ctor": "Float64Array",
       "array": [
-        135.115,
-        197.363,
+        147.942,
+        264.063,
         0,
         0,
         0,
@@ -455,8 +455,8 @@
       "__type__": "TypedArray",
       "ctor": "Float64Array",
       "array": [
-        -101.694,
-        -92.462,
+        -137.609,
+        -123.247,
         0,
         0,
         0,
@@ -562,8 +562,8 @@
       "__type__": "TypedArray",
       "ctor": "Float64Array",
       "array": [
-        139.511,
-        -86.25,
+        162.599,
+        -132.427,
         0,
         0,
         0,
@@ -669,8 +669,8 @@
       "__type__": "TypedArray",
       "ctor": "Float64Array",
       "array": [
-        16.334,
-        43.924,
+        21.465,
+        59.316,
         0,
         0,
         0,
@@ -855,8 +855,8 @@
       "__type__": "TypedArray",
       "ctor": "Float64Array",
       "array": [
-        -85.539,
-        260.986,
+        -118.889,
+        319.99,
         0,
         0,
         0,
@@ -962,8 +962,8 @@
       "__type__": "TypedArray",
       "ctor": "Float64Array",
       "array": [
-        137.214,
-        257.804,
+        150.041,
+        324.504,
         0,
         0,
         0,
@@ -1069,8 +1069,8 @@
       "__type__": "TypedArray",
       "ctor": "Float64Array",
       "array": [
-        -95.086,
-        -60.415,
+        -131.001,
+        -91.2,
         0,
         0,
         0,
@@ -1176,8 +1176,8 @@
       "__type__": "TypedArray",
       "ctor": "Float64Array",
       "array": [
-        132.441,
-        -76.326,
+        155.529,
+        -122.503,
         0,
         0,
         0,
@@ -1283,8 +1283,8 @@
       "__type__": "TypedArray",
       "ctor": "Float64Array",
       "array": [
-        17.882,
-        58.917,
+        23.013,
+        74.309,
         0,
         0,
         0,

+ 219 - 0
tower_sanguo/assets/resources/module/fight/prefab/attack_light.prefab

@@ -0,0 +1,219 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "",
+    "_objFlags": 0,
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "asyncLoadAssets": false,
+    "readonly": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "attack_light",
+    "_objFlags": 0,
+    "_parent": null,
+    "_children": [
+      {
+        "__id__": 2
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 5
+      }
+    ],
+    "_prefab": {
+      "__id__": 6
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_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": "attack_light",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 3
+      }
+    ],
+    "_prefab": {
+      "__id__": 4
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_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__": "sp.Skeleton",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "7afd064b-113f-480e-b793-8817d19f63c3"
+      }
+    ],
+    "paused": false,
+    "defaultSkin": "",
+    "defaultAnimation": "",
+    "_preCacheMode": -1,
+    "_cacheMode": 0,
+    "loop": false,
+    "premultipliedAlpha": true,
+    "timeScale": 1,
+    "_accTime": 0,
+    "_playCount": 0,
+    "_frameCache": null,
+    "_curFrame": null,
+    "_skeletonCache": null,
+    "_animationName": "",
+    "_animationQueue": [],
+    "_headAniInfo": null,
+    "_playTimes": 0,
+    "_isAniComplete": true,
+    "_N$skeletonData": null,
+    "_N$_defaultCacheMode": 0,
+    "_N$debugSlots": false,
+    "_N$debugBones": false,
+    "_N$debugMesh": false,
+    "_N$useTint": false,
+    "_N$enableBatch": false,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "050184f4-1ed8-46c5-a38d-fa00c8a1bd3d"
+    },
+    "fileId": "c2XnehNPFCT6kEoaB1UD4e",
+    "sync": false
+  },
+  {
+    "__type__": "21404NW081MgqPkrWFp6hWY",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "light": {
+      "__id__": 3
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "050184f4-1ed8-46c5-a38d-fa00c8a1bd3d"
+    },
+    "fileId": "3eATkmw7pBp5lETakSa+AF",
+    "sync": false
+  }
+]

+ 8 - 0
tower_sanguo/assets/resources/module/fight/prefab/attack_light.prefab.meta

@@ -0,0 +1,8 @@
+{
+  "ver": "1.2.7",
+  "uuid": "050184f4-1ed8-46c5-a38d-fa00c8a1bd3d",
+  "optimizationPolicy": "AUTO",
+  "asyncLoadAssets": false,
+  "readonly": false,
+  "subMetas": {}
+}

+ 23 - 69
tower_sanguo/assets/resources/module/fight/prefab/monster.prefab

@@ -27,26 +27,26 @@
         "__id__": 17
       },
       {
-        "__id__": 20
+        "__id__": 19
       },
       {
-        "__id__": 23
+        "__id__": 22
       },
       {
-        "__id__": 26
+        "__id__": 25
       },
       {
-        "__id__": 28
+        "__id__": 27
       }
     ],
     "_active": true,
     "_components": [
       {
-        "__id__": 31
+        "__id__": 30
       }
     ],
     "_prefab": {
-      "__id__": 32
+      "__id__": 31
     },
     "_opacity": 255,
     "_color": {
@@ -643,14 +643,10 @@
       "__id__": 1
     },
     "_children": [],
-    "_active": false,
-    "_components": [
-      {
-        "__id__": 18
-      }
-    ],
+    "_active": true,
+    "_components": [],
     "_prefab": {
-      "__id__": 19
+      "__id__": 18
     },
     "_opacity": 255,
     "_color": {
@@ -700,48 +696,6 @@
     "_id": ""
   },
   {
-    "__type__": "sp.Skeleton",
-    "_name": "",
-    "_objFlags": 0,
-    "node": {
-      "__id__": 17
-    },
-    "_enabled": true,
-    "_materials": [
-      {
-        "__uuid__": "7afd064b-113f-480e-b793-8817d19f63c3"
-      }
-    ],
-    "paused": false,
-    "defaultSkin": "default",
-    "defaultAnimation": "",
-    "_preCacheMode": 0,
-    "_cacheMode": 0,
-    "loop": false,
-    "premultipliedAlpha": true,
-    "timeScale": 1,
-    "_accTime": 0,
-    "_playCount": 0,
-    "_frameCache": null,
-    "_curFrame": null,
-    "_skeletonCache": null,
-    "_animationName": "daoguang",
-    "_animationQueue": [],
-    "_headAniInfo": null,
-    "_playTimes": 0,
-    "_isAniComplete": true,
-    "_N$skeletonData": {
-      "__uuid__": "905497bc-6f40-4055-9fff-154210d8eadb"
-    },
-    "_N$_defaultCacheMode": 0,
-    "_N$debugSlots": false,
-    "_N$debugBones": false,
-    "_N$debugMesh": false,
-    "_N$useTint": false,
-    "_N$enableBatch": false,
-    "_id": ""
-  },
-  {
     "__type__": "cc.PrefabInfo",
     "root": {
       "__id__": 1
@@ -763,11 +717,11 @@
     "_active": false,
     "_components": [
       {
-        "__id__": 21
+        "__id__": 20
       }
     ],
     "_prefab": {
-      "__id__": 22
+      "__id__": 21
     },
     "_opacity": 255,
     "_color": {
@@ -821,7 +775,7 @@
     "_name": "",
     "_objFlags": 0,
     "node": {
-      "__id__": 20
+      "__id__": 19
     },
     "_enabled": true,
     "_materials": [
@@ -880,11 +834,11 @@
     "_active": false,
     "_components": [
       {
-        "__id__": 24
+        "__id__": 23
       }
     ],
     "_prefab": {
-      "__id__": 25
+      "__id__": 24
     },
     "_opacity": 255,
     "_color": {
@@ -938,7 +892,7 @@
     "_name": "",
     "_objFlags": 0,
     "node": {
-      "__id__": 23
+      "__id__": 22
     },
     "_enabled": true,
     "_materials": [
@@ -987,7 +941,7 @@
     "_active": true,
     "_components": [],
     "_prefab": {
-      "__id__": 27
+      "__id__": 26
     },
     "_opacity": 255,
     "_color": {
@@ -1058,11 +1012,11 @@
     "_active": true,
     "_components": [
       {
-        "__id__": 29
+        "__id__": 28
       }
     ],
     "_prefab": {
-      "__id__": 30
+      "__id__": 29
     },
     "_opacity": 255,
     "_color": {
@@ -1116,7 +1070,7 @@
     "_name": "",
     "_objFlags": 0,
     "node": {
-      "__id__": 28
+      "__id__": 27
     },
     "_enabled": true,
     "_materials": [
@@ -1166,20 +1120,20 @@
       "__id__": 12
     },
     "bing_die": {
-      "__id__": 21
+      "__id__": 20
     },
     "knife_light": {
-      "__id__": 18
+      "__id__": 17
     },
     "img_select": {
-      "__id__": 24
+      "__id__": 23
     },
     "skeleton": {
       "__id__": 15
     },
     "attachNode": null,
     "lbl_id": {
-      "__id__": 29
+      "__id__": 28
     },
     "_id": ""
   },

+ 1 - 1
tower_sanguo/assets/resources/module/fight/spine/knife_light.atlas → tower_sanguo/assets/resources/module/fight/spine/fight_1_boom.atlas

@@ -1,5 +1,5 @@
 
-knife_light.png
+fight_1_boom.png
 size: 272,516
 format: RGBA8888
 filter: Linear,Linear

+ 5 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_1_boom.atlas.meta

@@ -0,0 +1,5 @@
+{
+  "ver": "1.0.1",
+  "uuid": "cf6d29b4-ff56-40c5-b571-54f07f7504f3",
+  "subMetas": {}
+}

+ 1 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_1_boom.json

@@ -0,0 +1 @@
+{"skeleton":{"hash":"1Y2VhHaKtzbMXSKfuh/7Q124KfQ","spine":"3.8.99","images":"","audio":""},"bones":[{"name":"root"},{"name":"daoguang_00000","parent":"root","x":-2.52,"y":-2.44,"scaleX":1.2899,"scaleY":1.2899}],"slots":[{"name":"daoguang_00000","bone":"daoguang_00000"}],"skins":[{"name":"default","attachments":{"daoguang_00000":{"daoguang_00000":{"x":2.52,"y":2.44,"width":191,"height":187},"daoguang_00001":{"x":2.52,"y":2.44,"width":191,"height":187},"daoguang_00002":{"x":2.52,"y":2.44,"width":191,"height":187},"daoguang_00003":{"x":2.52,"y":2.44,"width":191,"height":187},"daoguang_00004":{"x":2.52,"y":2.44,"width":191,"height":187},"daoguang_00005":{"x":2.52,"y":2.44,"width":191,"height":187},"daoguang_00006":{"x":2.52,"y":2.44,"width":191,"height":187}}}}],"animations":{"animation":{"slots":{"daoguang_00000":{"color":[{"time":0.2,"color":"ffffffff"},{"time":0.3,"color":"ffffff00"}],"attachment":[{"name":"daoguang_00000"},{"time":0.0333,"name":"daoguang_00001"},{"time":0.0667,"name":"daoguang_00002"},{"time":0.1,"name":"daoguang_00003"},{"time":0.1333,"name":"daoguang_00004"},{"time":0.1667,"name":"daoguang_00005"},{"time":0.2,"name":"daoguang_00006"}]}},"bones":{"daoguang_00000":{"scale":[{"time":0.1333},{"time":0.3,"x":1.214,"y":1.214}]}}}}}

+ 9 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_1_boom.json.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.3",
+  "uuid": "64cc5733-5941-4a48-9211-4e6b8461f2bf",
+  "textures": [
+    "61c11f04-cfbf-448d-b626-8c3b9818c110"
+  ],
+  "scale": 1,
+  "subMetas": {}
+}

BIN
tower_sanguo/assets/resources/module/fight/spine/fight_1_boom.png


+ 4 - 4
tower_sanguo/assets/resources/module/fight/spine/knife_light.png.meta → tower_sanguo/assets/resources/module/fight/spine/fight_1_boom.png.meta

@@ -1,6 +1,6 @@
 {
   "ver": "2.3.4",
-  "uuid": "d8786b67-2196-464e-b4a2-1acf7e2ad832",
+  "uuid": "61c11f04-cfbf-448d-b626-8c3b9818c110",
   "type": "sprite",
   "wrapMode": "clamp",
   "filterMode": "bilinear",
@@ -11,10 +11,10 @@
   "height": 516,
   "platformSettings": {},
   "subMetas": {
-    "knife_light": {
+    "fight_1_boom": {
       "ver": "1.0.4",
-      "uuid": "417a2028-c3c8-4afe-b7f3-3c65edf90da5",
-      "rawTextureUuid": "d8786b67-2196-464e-b4a2-1acf7e2ad832",
+      "uuid": "be28ef03-6c8f-466c-8d38-7c3f51a11e55",
+      "rawTextureUuid": "61c11f04-cfbf-448d-b626-8c3b9818c110",
       "trimType": "auto",
       "trimThreshold": 1,
       "rotated": false,

+ 104 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_3_boom.atlas

@@ -0,0 +1,104 @@
+
+fight_3_boom.png
+size: 1548,130
+format: RGBA8888
+filter: Linear,Linear
+repeat: none
+gj_00000
+  rotate: false
+  xy: 1472, 28
+  size: 23, 24
+  orig: 139, 138
+  offset: 58, 57
+  index: -1
+gj_00001
+  rotate: false
+  xy: 1472, 54
+  size: 74, 74
+  orig: 139, 138
+  offset: 32, 32
+  index: -1
+gj_00002
+  rotate: false
+  xy: 1358, 16
+  size: 112, 112
+  orig: 139, 138
+  offset: 13, 13
+  index: -1
+gj_00003
+  rotate: false
+  xy: 630, 8
+  size: 120, 120
+  orig: 139, 138
+  offset: 9, 9
+  index: -1
+gj_00004
+  rotate: false
+  xy: 752, 8
+  size: 120, 120
+  orig: 139, 138
+  offset: 9, 9
+  index: -1
+gj_00005
+  rotate: false
+  xy: 1118, 10
+  size: 118, 118
+  orig: 139, 138
+  offset: 10, 10
+  index: -1
+gj_00006
+  rotate: false
+  xy: 874, 8
+  size: 120, 120
+  orig: 139, 138
+  offset: 9, 9
+  index: -1
+gj_00007
+  rotate: false
+  xy: 506, 6
+  size: 122, 122
+  orig: 139, 138
+  offset: 8, 8
+  index: -1
+gj_00008
+  rotate: false
+  xy: 256, 4
+  size: 124, 124
+  orig: 139, 138
+  offset: 7, 7
+  index: -1
+gj_00009
+  rotate: false
+  xy: 2, 2
+  size: 126, 126
+  orig: 139, 138
+  offset: 6, 6
+  index: -1
+gj_00010
+  rotate: true
+  xy: 130, 2
+  size: 126, 124
+  orig: 139, 138
+  offset: 6, 7
+  index: -1
+gj_00011
+  rotate: false
+  xy: 1238, 10
+  size: 118, 118
+  orig: 139, 138
+  offset: 10, 10
+  index: -1
+gj_00012
+  rotate: false
+  xy: 996, 8
+  size: 120, 120
+  orig: 139, 138
+  offset: 9, 9
+  index: -1
+gj_00013
+  rotate: false
+  xy: 382, 6
+  size: 122, 122
+  orig: 139, 138
+  offset: 8, 8
+  index: -1

+ 5 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_3_boom.atlas.meta

@@ -0,0 +1,5 @@
+{
+  "ver": "1.0.1",
+  "uuid": "5c6f10b9-4d9e-4ef9-888c-994f708c2e56",
+  "subMetas": {}
+}

+ 1 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_3_boom.json

@@ -0,0 +1 @@
+{"skeleton":{"hash":"hNNLq8gfimr7i3JGtJST1/YdI7A","spine":"3.8.99","images":"","audio":""},"bones":[{"name":"root"},{"name":"gj_00000","parent":"root","x":-0.11,"y":-2.26}],"slots":[{"name":"gj_00000","bone":"gj_00000"}],"skins":[{"name":"default","attachments":{"gj_00000":{"gj_00000":{"x":0.11,"y":2.26,"width":139,"height":138},"gj_00001":{"x":0.11,"y":2.26,"width":139,"height":138},"gj_00002":{"x":0.11,"y":2.26,"width":139,"height":138},"gj_00003":{"x":0.11,"y":2.26,"width":139,"height":138},"gj_00004":{"x":0.11,"y":2.26,"width":139,"height":138},"gj_00005":{"x":0.11,"y":2.26,"width":139,"height":138},"gj_00006":{"x":0.11,"y":2.26,"width":139,"height":138},"gj_00007":{"x":0.11,"y":2.26,"width":139,"height":138},"gj_00008":{"x":0.11,"y":2.26,"width":139,"height":138},"gj_00009":{"x":0.11,"y":2.26,"width":139,"height":138},"gj_00010":{"x":0.11,"y":2.26,"width":139,"height":138},"gj_00011":{"x":0.11,"y":2.26,"width":139,"height":138},"gj_00012":{"x":0.11,"y":2.26,"width":139,"height":138},"gj_00013":{"x":0.11,"y":2.26,"width":139,"height":138}}}}],"animations":{"animation":{"slots":{"gj_00000":{"attachment":[{"name":"gj_00000"},{"time":0.0333,"name":"gj_00001"},{"time":0.0667,"name":"gj_00002"},{"time":0.1,"name":"gj_00003"},{"time":0.1333,"name":"gj_00004"},{"time":0.1667,"name":"gj_00005"},{"time":0.2,"name":"gj_00006"},{"time":0.2333,"name":"gj_00007"},{"time":0.2667,"name":"gj_00008"},{"time":0.3,"name":"gj_00009"},{"time":0.3333,"name":"gj_00010"},{"time":0.3667,"name":"gj_00011"},{"time":0.4,"name":"gj_00012"},{"time":0.4333,"name":"gj_00013"},{"time":0.4667,"name":null}]}}}}}

+ 9 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_3_boom.json.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.3",
+  "uuid": "e2a22fef-965c-4954-838d-ab1453c1fe6f",
+  "textures": [
+    "add50178-d604-4d72-a38f-0d48946c4fd6"
+  ],
+  "scale": 1,
+  "subMetas": {}
+}

BIN
tower_sanguo/assets/resources/module/fight/spine/fight_3_boom.png


+ 36 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_3_boom.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.4",
+  "uuid": "add50178-d604-4d72-a38f-0d48946c4fd6",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 1548,
+  "height": 130,
+  "platformSettings": {},
+  "subMetas": {
+    "fight_3_boom": {
+      "ver": "1.0.4",
+      "uuid": "839a9c52-5cd0-4db1-b2b5-102dd241ad2d",
+      "rawTextureUuid": "add50178-d604-4d72-a38f-0d48946c4fd6",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 2,
+      "trimY": 2,
+      "width": 1544,
+      "height": 126,
+      "rawWidth": 1548,
+      "rawHeight": 130,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

+ 62 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_4_boom.atlas

@@ -0,0 +1,62 @@
+
+fight_4_boom.png
+size: 1233,155
+format: RGBA8888
+filter: Linear,Linear
+repeat: none
+huoyan_00000
+  rotate: false
+  xy: 1116, 38
+  size: 115, 115
+  orig: 202, 187
+  offset: 42, 41
+  index: -1
+huoyan_00001
+  rotate: true
+  xy: 998, 36
+  size: 117, 116
+  orig: 202, 187
+  offset: 41, 41
+  index: -1
+huoyan_00002
+  rotate: false
+  xy: 678, 15
+  size: 158, 138
+  orig: 202, 187
+  offset: 21, 28
+  index: -1
+huoyan_00003
+  rotate: false
+  xy: 838, 15
+  size: 158, 138
+  orig: 202, 187
+  offset: 21, 28
+  index: -1
+huoyan_00004
+  rotate: false
+  xy: 347, 7
+  size: 168, 146
+  orig: 202, 187
+  offset: 16, 23
+  index: -1
+huoyan_00005
+  rotate: false
+  xy: 175, 5
+  size: 170, 148
+  orig: 202, 187
+  offset: 15, 22
+  index: -1
+huoyan_00006
+  rotate: false
+  xy: 2, 2
+  size: 171, 151
+  orig: 202, 187
+  offset: 15, 21
+  index: -1
+huoyan_00007
+  rotate: false
+  xy: 517, 2
+  size: 159, 151
+  orig: 202, 187
+  offset: 14, 21
+  index: -1

+ 5 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_4_boom.atlas.meta

@@ -0,0 +1,5 @@
+{
+  "ver": "1.0.1",
+  "uuid": "c31647da-49fe-4baa-bf31-c9492a893024",
+  "subMetas": {}
+}

+ 1 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_4_boom.json

@@ -0,0 +1 @@
+{"skeleton":{"hash":"rJVAuwom2r/j3/MFCX7MEjqyAGk","spine":"3.8.99","images":"","audio":""},"bones":[{"name":"root"},{"name":"huoyan_00000","parent":"root","x":-6.31,"y":-0.26}],"slots":[{"name":"huoyan_00000","bone":"huoyan_00000"}],"skins":[{"name":"default","attachments":{"huoyan_00000":{"huoyan_00000":{"x":6.31,"y":0.26,"width":202,"height":187},"huoyan_00001":{"x":6.31,"y":0.26,"width":202,"height":187},"huoyan_00002":{"x":6.31,"y":0.26,"width":202,"height":187},"huoyan_00003":{"x":6.31,"y":0.26,"width":202,"height":187},"huoyan_00004":{"x":6.31,"y":0.26,"width":202,"height":187},"huoyan_00005":{"x":6.31,"y":0.26,"width":202,"height":187},"huoyan_00006":{"x":6.31,"y":0.26,"width":202,"height":187},"huoyan_00007":{"x":6.31,"y":0.26,"width":202,"height":187}}}}],"animations":{"animation":{"slots":{"huoyan_00000":{"attachment":[{"name":"huoyan_00000"},{"time":0.0333,"name":"huoyan_00001"},{"time":0.0667,"name":"huoyan_00002"},{"time":0.1,"name":"huoyan_00003"},{"time":0.1333,"name":"huoyan_00004"},{"time":0.1667,"name":"huoyan_00005"},{"time":0.2,"name":"huoyan_00006"},{"time":0.2333,"name":"huoyan_00007"},{"time":0.2667,"name":null}]}},"bones":{"huoyan_00000":{"translate":[{"time":1.1,"y":0.6}]}}}}}

+ 9 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_4_boom.json.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.3",
+  "uuid": "bdbb4cc2-6d8f-4f68-b8b4-3637066b168f",
+  "textures": [
+    "efcbc756-42f4-49e5-bc73-a254eb5b687d"
+  ],
+  "scale": 1,
+  "subMetas": {}
+}

BIN
tower_sanguo/assets/resources/module/fight/spine/fight_4_boom.png


+ 36 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_4_boom.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.4",
+  "uuid": "efcbc756-42f4-49e5-bc73-a254eb5b687d",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 1233,
+  "height": 155,
+  "platformSettings": {},
+  "subMetas": {
+    "fight_4_boom": {
+      "ver": "1.0.4",
+      "uuid": "611c90ea-086b-4c1b-be65-cfa522414daf",
+      "rawTextureUuid": "efcbc756-42f4-49e5-bc73-a254eb5b687d",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 2,
+      "trimY": 2,
+      "width": 1229,
+      "height": 151,
+      "rawWidth": 1233,
+      "rawHeight": 155,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

+ 55 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_5_boom.atlas

@@ -0,0 +1,55 @@
+
+fight_5_boom.png
+size: 158,266
+format: RGBA8888
+filter: Linear,Linear
+repeat: none
+suibing_00000
+  rotate: false
+  xy: 91, 154
+  size: 53, 52
+  orig: 101, 105
+  offset: 24, 25
+  index: -1
+suibing_00001
+  rotate: false
+  xy: 91, 208
+  size: 61, 56
+  orig: 101, 105
+  offset: 16, 23
+  index: -1
+suibing_00002
+  rotate: true
+  xy: 84, 75
+  size: 77, 72
+  orig: 101, 105
+  offset: 11, 16
+  index: -1
+suibing_00003
+  rotate: false
+  xy: 2, 97
+  size: 80, 77
+  orig: 101, 105
+  offset: 9, 14
+  index: -1
+suibing_00004
+  rotate: false
+  xy: 2, 176
+  size: 87, 88
+  orig: 101, 105
+  offset: 6, 7
+  index: -1
+suibing_00005
+  rotate: false
+  xy: 76, 2
+  size: 75, 71
+  orig: 101, 105
+  offset: 8, 14
+  index: -1
+suibing_00006
+  rotate: true
+  xy: 2, 13
+  size: 82, 72
+  orig: 101, 105
+  offset: 7, 13
+  index: -1

+ 5 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_5_boom.atlas.meta

@@ -0,0 +1,5 @@
+{
+  "ver": "1.0.1",
+  "uuid": "9cd3bdfb-9e83-4855-8c2f-fd481199f173",
+  "subMetas": {}
+}

+ 1 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_5_boom.json

@@ -0,0 +1 @@
+{"skeleton":{"hash":"hFsEXpdSDpG3mcXwaImZl/zuGc0","spine":"3.8.99","images":"","audio":""},"bones":[{"name":"root"},{"name":"suibing_00000","parent":"root","x":1.2,"y":-1.01}],"slots":[{"name":"suibing_00000","bone":"suibing_00000"}],"skins":[{"name":"default","attachments":{"suibing_00000":{"suibing_00000":{"x":-1.2,"y":1.01,"width":101,"height":105},"suibing_00001":{"x":-1.2,"y":1.01,"width":101,"height":105},"suibing_00002":{"x":-1.2,"y":1.01,"width":101,"height":105},"suibing_00003":{"x":-1.2,"y":1.01,"width":101,"height":105},"suibing_00004":{"x":-1.2,"y":1.01,"width":101,"height":105},"suibing_00005":{"x":-1.2,"y":1.01,"width":101,"height":105},"suibing_00006":{"x":-1.2,"y":1.01,"width":101,"height":105}}}}],"animations":{"animation":{"slots":{"suibing_00000":{"attachment":[{"name":"suibing_00000"},{"time":0.0333,"name":"suibing_00001"},{"time":0.0667,"name":"suibing_00002"},{"time":0.1,"name":"suibing_00003"},{"time":0.1333,"name":"suibing_00004"},{"time":0.1667,"name":"suibing_00005"},{"time":0.2,"name":"suibing_00006"},{"time":0.2333,"name":null}]}}}}}

+ 9 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_5_boom.json.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.3",
+  "uuid": "e910bc81-4e53-4993-9208-d0f4beba74b2",
+  "textures": [
+    "130ceb4a-e9b9-4379-9ca8-d25f3963b559"
+  ],
+  "scale": 1,
+  "subMetas": {}
+}

BIN
tower_sanguo/assets/resources/module/fight/spine/fight_5_boom.png


+ 36 - 0
tower_sanguo/assets/resources/module/fight/spine/fight_5_boom.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.4",
+  "uuid": "130ceb4a-e9b9-4379-9ca8-d25f3963b559",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 158,
+  "height": 266,
+  "platformSettings": {},
+  "subMetas": {
+    "fight_5_boom": {
+      "ver": "1.0.4",
+      "uuid": "e48e58aa-a2e1-4e6d-9196-f07e62be4d23",
+      "rawTextureUuid": "130ceb4a-e9b9-4379-9ca8-d25f3963b559",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 2,
+      "trimY": 2,
+      "width": 154,
+      "height": 262,
+      "rawWidth": 158,
+      "rawHeight": 266,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

+ 0 - 5
tower_sanguo/assets/resources/module/fight/spine/knife_light.atlas.meta

@@ -1,5 +0,0 @@
-{
-  "ver": "1.0.1",
-  "uuid": "6d6e0dfb-16cd-4994-b62e-f563fb2e936e",
-  "subMetas": {}
-}

+ 0 - 1
tower_sanguo/assets/resources/module/fight/spine/knife_light.json

@@ -1 +0,0 @@
-{"skeleton":{"hash":"lmgjOF0GSkfw5sr83H4aYwZQvuk","spine":"3.8.99","images":"","audio":""},"bones":[{"name":"root"},{"name":"daoguang_00000","parent":"root","x":-2.52,"y":-2.44}],"slots":[{"name":"daoguang_00000","bone":"daoguang_00000"}],"skins":[{"name":"default","attachments":{"daoguang_00000":{"daoguang_00000":{"x":2.52,"y":2.44,"width":191,"height":187},"daoguang_00001":{"x":2.52,"y":2.44,"width":191,"height":187},"daoguang_00002":{"x":2.52,"y":2.44,"width":191,"height":187},"daoguang_00003":{"x":2.52,"y":2.44,"width":191,"height":187},"daoguang_00004":{"x":2.52,"y":2.44,"width":191,"height":187},"daoguang_00005":{"x":2.52,"y":2.44,"width":191,"height":187},"daoguang_00006":{"x":2.52,"y":2.44,"width":191,"height":187}}}}],"animations":{"daoguang":{"slots":{"daoguang_00000":{"color":[{"time":0.2,"color":"ffffffff"},{"time":0.3,"color":"ffffff00"}],"attachment":[{"name":"daoguang_00000"},{"time":0.0333,"name":"daoguang_00001"},{"time":0.0667,"name":"daoguang_00002"},{"time":0.1,"name":"daoguang_00003"},{"time":0.1333,"name":"daoguang_00004"},{"time":0.1667,"name":"daoguang_00005"},{"time":0.2,"name":"daoguang_00006"}]}},"bones":{"daoguang_00000":{"scale":[{"time":0.1333},{"time":0.3,"x":1.214,"y":1.214}]}}}}}

+ 0 - 9
tower_sanguo/assets/resources/module/fight/spine/knife_light.json.meta

@@ -1,9 +0,0 @@
-{
-  "ver": "1.2.3",
-  "uuid": "905497bc-6f40-4055-9fff-154210d8eadb",
-  "textures": [
-    "d8786b67-2196-464e-b4a2-1acf7e2ad832"
-  ],
-  "scale": 1,
-  "subMetas": {}
-}

BIN
tower_sanguo/assets/resources/module/fight/spine/knife_light.png


BIN
tower_sanguo/assets/resources/module/fight/texture/fight_1.png


+ 6 - 6
tower_sanguo/assets/resources/module/fight/texture/fight_1.png.meta

@@ -7,8 +7,8 @@
   "premultiplyAlpha": false,
   "genMipmaps": false,
   "packable": true,
-  "width": 125,
-  "height": 108,
+  "width": 63,
+  "height": 70,
   "platformSettings": {},
   "subMetas": {
     "fight_1": {
@@ -22,10 +22,10 @@
       "offsetY": 0,
       "trimX": 0,
       "trimY": 0,
-      "width": 125,
-      "height": 108,
-      "rawWidth": 125,
-      "rawHeight": 108,
+      "width": 63,
+      "height": 70,
+      "rawWidth": 63,
+      "rawHeight": 70,
       "borderTop": 0,
       "borderBottom": 0,
       "borderLeft": 0,

BIN
tower_sanguo/assets/resources/module/fight/texture/fight_2.png


+ 36 - 0
tower_sanguo/assets/resources/module/fight/texture/fight_2.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.4",
+  "uuid": "2c0c329e-a9e9-497a-89e5-56391d038e19",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 123,
+  "height": 24,
+  "platformSettings": {},
+  "subMetas": {
+    "fight_2": {
+      "ver": "1.0.4",
+      "uuid": "307d6b14-78c6-48b7-b1da-feb778c1fb62",
+      "rawTextureUuid": "2c0c329e-a9e9-497a-89e5-56391d038e19",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 123,
+      "height": 24,
+      "rawWidth": 123,
+      "rawHeight": 24,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

BIN
tower_sanguo/assets/resources/module/fight/texture/fight_3.png


+ 36 - 0
tower_sanguo/assets/resources/module/fight/texture/fight_3.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.4",
+  "uuid": "3f47afad-cf0a-465f-afb2-48924b4d6b35",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 118,
+  "height": 38,
+  "platformSettings": {},
+  "subMetas": {
+    "fight_3": {
+      "ver": "1.0.4",
+      "uuid": "9419ceb1-2d8a-4c63-b2f6-07c62bd7678d",
+      "rawTextureUuid": "3f47afad-cf0a-465f-afb2-48924b4d6b35",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 118,
+      "height": 38,
+      "rawWidth": 118,
+      "rawHeight": 38,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

BIN
tower_sanguo/assets/resources/module/fight/texture/fight_4.png


+ 36 - 0
tower_sanguo/assets/resources/module/fight/texture/fight_4.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.4",
+  "uuid": "efe7da71-2743-4b7b-adb0-a6beed953ae2",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 85,
+  "height": 40,
+  "platformSettings": {},
+  "subMetas": {
+    "fight_4": {
+      "ver": "1.0.4",
+      "uuid": "fb0063a6-d50f-456d-98d0-3986c9c192a0",
+      "rawTextureUuid": "efe7da71-2743-4b7b-adb0-a6beed953ae2",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 85,
+      "height": 40,
+      "rawWidth": 85,
+      "rawHeight": 40,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

BIN
tower_sanguo/assets/resources/module/fight/texture/fight_5.png


+ 36 - 0
tower_sanguo/assets/resources/module/fight/texture/fight_5.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.4",
+  "uuid": "2d9d4ffa-3ff6-4a6e-aa69-d50aa1096ed5",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 96,
+  "height": 34,
+  "platformSettings": {},
+  "subMetas": {
+    "fight_5": {
+      "ver": "1.0.4",
+      "uuid": "fa0b208d-4daa-4d1f-833a-b3d2c3a51def",
+      "rawTextureUuid": "2d9d4ffa-3ff6-4a6e-aa69-d50aa1096ed5",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 96,
+      "height": 34,
+      "rawWidth": 96,
+      "rawHeight": 34,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

+ 15 - 6
tower_sanguo/assets/scripts/data/GameData.ts

@@ -22,7 +22,8 @@ export default class GameData {
     pools = [
         { name: "HpTips", num: 20 },
         { name: "Monster", num: 120 },
-        { name: "AttackModel", num: 40 },
+        { name: "AttackModel", num: 10 },
+        { name: 'AttackLight', num: 20 },
         { name: 'General', num: 6 },
     ];
     private buff_data: any;
@@ -39,10 +40,10 @@ export default class GameData {
             this.monster_data = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/monster_data.json?v=' + new Date().getTime());
             this.mission_data = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/mission_data.json?v=' + new Date().getTime());
 
-            // this.skill_data = cc.loader.getRes('data/skill_data').json;
-            // this.general_data = cc.loader.getRes('data/general_data').json;
-            // this.monster_data = cc.loader.getRes('data/monster_data').json;
-            // this.mission_data = cc.loader.getRes('data/mission_data').json;
+            this.skill_data = cc.loader.getRes('data/skill_data').json;
+            this.general_data = cc.loader.getRes('data/general_data').json;
+            this.monster_data = cc.loader.getRes('data/monster_data').json;
+            this.mission_data = cc.loader.getRes('data/mission_data').json;
 
             this.initJsonData();
         }
@@ -137,7 +138,8 @@ export default class GameData {
         ServerDataUtil.decompressServerConfigs(data);
 
         this.player = new PlayerVO();
-        this.player.generals = [0, 124014, 0, -1, 0];
+        this.player.generals = [124014, 131001, 131002, 131003, 132004];
+        // this.player.generals = [124014, 0, 0, 0, 131001];
         this.player.generals_bag = [];
         this.player.current_mission = 1;
         this.player.max_mission = 1;
@@ -196,4 +198,11 @@ export enum VIDEO_TYPE {
 
 export enum POOLNAME {
     HPTIPS = 'HpTips',
+}
+
+export enum DAMAGE_TYPE{
+    MISS = 0,
+    NORMAL = 1,
+    CRIT = 2,
+    
 }

+ 1 - 1
tower_sanguo/assets/scripts/module/fight/FightUI.ts

@@ -284,7 +284,7 @@ export default class FightUI extends BaseUI {
         }
         let node = GameController.pool.getPrefabByClassName("AttackModel");
         let attack_model = node.getComponent(AttackModel) as AttackModel;
-        node.scaleX = node.scaleY = scaleRate;
+        node.scaleX = node.scaleY = target.vo.type == 1 ? 1 : 1.2;
         this.node.addChild(node);
         attack_model.init(general, target);
     }

+ 27 - 3
tower_sanguo/assets/scripts/module/fight/HpTips.ts

@@ -1,3 +1,4 @@
+import { DAMAGE_TYPE } from "../../data/GameData";
 import GameController from "../../GameController";
 
 const { ccclass, property } = cc._decorator;
@@ -21,20 +22,43 @@ export default class HpTips extends cc.Component implements IPool {
 		this.node.scaleX = this.node.scaleY = 0;
 		this.node.x = 0;
 		this.node.y = 0;
+		this.lbl_damage.node.color = new cc.Color().fromHEX('0xffffff');
+		this.lbl_damage.fontSize = 40;
 	}
 
-	play() {
+	play(type: DAMAGE_TYPE) {
 		if (!this.node) {
 			return;
 		}
+
+		let tarx = -80 + Math.random() * 160;
+		let tary = 230 + Math.random() * 40;
+		let color = '#FFFFFF';
+		let size = 40;
+		switch (type) {
+			case DAMAGE_TYPE.CRIT:
+				color = '#ff0000';
+				tarx = -40 + Math.random() * 80;
+				tary = 280;
+				size = 50;
+				break;
+			case DAMAGE_TYPE.MISS:
+				color = '#33ff00';
+				tarx = 80;
+				break;
+		}
+		this.lbl_damage.node.color = new cc.Color().fromHEX(color);
+		this.lbl_damage.fontSize = size;
+
 		cc.tween(this.node)
-			.to(0.2, { scaleX: 1, scaleY: 1, position: cc.v2(80, 250) }, { easing: 'sineOutIn' })
-			.call(this.clear.bind(this))
+			.to(0.4, { scaleX: 1, scaleY: 1, x: tarx, y: tary }, { easing: 'sineOutIn' })
+			.call(this.clear.bind(this, false))
 			.start();
 	}
 
 	clear(rightnow: boolean = false) {
 		if (rightnow) {
+			this.reset();
 			GameController.pool.returnPrefabByClassName('HpTips', this.node);
 			return;
 		}

+ 55 - 0
tower_sanguo/assets/scripts/module/fight/model/attack/AttackLight.ts

@@ -0,0 +1,55 @@
+import GameController from "../../../../GameController";
+
+
+/**
+ * 
+ * 怪物受击特效
+ * 
+ */
+const { ccclass, property } = cc._decorator;
+
+
+@ccclass
+export default class AttackLight extends cc.Component implements IPool {
+
+    public static prefabUrl = 'module/fight/prefab/attack_light';
+
+    @property(sp.Skeleton)
+    light: sp.Skeleton = null;
+
+    private callback = null;
+
+    onLoad() {
+
+    }
+
+    init(type,comCallback){
+        this.callback = comCallback;
+        this.light.skeletonData = cc.loader.getRes('module/fight/spine/' + 'fight_' + type + '_boom', sp.SkeletonData);
+        this.light.setCompleteListener(this.animCom.bind(this));
+        this.light.animation = 'animation';
+    }
+
+    animCom(){
+        this.callback && this.callback();
+        this.clear();
+    }
+
+    reset() {
+        this.light.setCompleteListener(null);
+        this.light.skeletonData = null;
+    }
+
+    protected clear() {
+        this.reset();
+
+        if (this.node && this.node.parent) {
+            this.node.parent.removeChild(this.node);
+        }
+        GameController.pool.returnPrefabByClassName("AttackLight", this.node);
+    }
+
+
+
+}
+

+ 9 - 0
tower_sanguo/assets/scripts/module/fight/model/attack/AttackLight.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.0.8",
+  "uuid": "21404356-d3cd-4c82-a3e4-ad6169ea1598",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

+ 2 - 2
tower_sanguo/assets/scripts/module/fight/model/attack/AttackModel.ts

@@ -27,7 +27,7 @@ export default class AttackModel extends cc.Component implements IPool {
     protected attachNode: cc.Node;
 
     /** 每一帧到移动像素 */
-    private speed: number = 30;
+    private speed: number = 20;
 
     onLoad() {
 
@@ -56,7 +56,7 @@ export default class AttackModel extends cc.Component implements IPool {
     onHit() {
         if (this.target && !this.target.isDead()) {
             let hitrate = (this.src.vo.acc - this.target.vo.miss) / 10000;
-            this.target.onAttack(hitrate, this.src.getDamage());
+            this.target.onAttack(hitrate, this.src.getDamage(),this.src.vo.atk_res);
         }
         this.clear();
     }

+ 5 - 1
tower_sanguo/assets/scripts/module/fight/model/generals/General.ts

@@ -65,7 +65,7 @@ export default class General extends cc.Component implements IPool {
         this.vo.lv = 1;
         this.vo.star = 1;
         
-        this.scaleRate = pos == 4 ? 1 : 0.6;
+        this.scaleRate = pos == 4 ? 0.8 : 0.65;
         this.node.scaleX = this.node.scaleY = this.scaleRate;
 
         this.skeleton.skeletonData = cc.loader.getRes("spine/person/" + v.resource, sp.SkeletonData);
@@ -81,6 +81,10 @@ export default class General extends cc.Component implements IPool {
         this.action = GENERAL_ACTION.IDLE;
     }
 
+    /**
+     * 
+     * @returns {iscrit:boolean,damage:number}
+     */
     getDamage() {
         return this.vo.getDamage();
     }

+ 50 - 20
tower_sanguo/assets/scripts/module/fight/model/monsters/Monster.ts

@@ -5,6 +5,8 @@ import ProgressBar from "../../../../component/ProgressBar";
 import GameController from "../../../../GameController";
 import HpTips from "../../HpTips";
 import MonsterVO from "../../../../vo/MonsterVO";
+import AttackLight from "../attack/AttackLight";
+import { DAMAGE_TYPE } from "../../../../data/GameData";
 
 
 /**
@@ -25,8 +27,8 @@ export default class Monster extends cc.Component implements IPool {
     @property(sp.Skeleton)
     bing_die: sp.Skeleton = null;
 
-    @property(sp.Skeleton)
-    knife_light: sp.Skeleton = null;
+    @property(cc.Node)
+    knife_light: cc.Node = null;
 
     @property(cc.Sprite)
     img_select: cc.Sprite = null;
@@ -48,6 +50,8 @@ export default class Monster extends cc.Component implements IPool {
 
     private isdead: boolean;
 
+    scaleRate: number;
+
 
     getAttachNodeCrood() {
         if (!this.attachNode) {
@@ -62,7 +66,6 @@ export default class Monster extends cc.Component implements IPool {
 
     start() {
         this.bing_die.setCompleteListener(this.realDead.bind(this));
-        this.knife_light.setCompleteListener(this.hitAnimCom.bind(this));
     }
 
     init(v: MonsterVO) {
@@ -72,6 +75,8 @@ export default class Monster extends cc.Component implements IPool {
         this.moveCroods = FightUI.moveCroods;
         this.node.x = this.moveCroods[0];
         this.node.y = this.moveCroods[1];
+        this.scaleRate = v.type == 1 ? 0.57 : 0.9;
+        this.node.scale = this.scaleRate;
 
         this.lbl_id.string = v.id + "";
 
@@ -82,9 +87,9 @@ export default class Monster extends cc.Component implements IPool {
         this.skeleton.animation = 'run';
 
         let attachUtil = this.skeleton.attachUtil;
-        let boneNodes = attachUtil.generateAttachedNodes('eye1');
+        let boneNodes = attachUtil.generateAttachedNodes('boddy2');
         if (boneNodes.length == 0) {
-            console.log("找不到该挂点:eye1");
+            console.log("找不到该挂点:boddy2");
             return;
         }
         this.attachNode = boneNodes[0];
@@ -93,15 +98,18 @@ export default class Monster extends cc.Component implements IPool {
     /**
      * 受到攻击
      * @param hitrate 命中率
-     * @param attack_value 伤害
+     * @param damage {iscrit:boolean,damage:number}
      */
-    onAttack(hitrate: number, attack_value: number) {
-        let hitvalue = Math.random() < hitrate ? attack_value : 0;
+    onAttack(hitrate: number, damage: { iscrit: boolean, damage: number }, attack_res: string) {
+        let isHit = Math.random() < hitrate;
+        let isCrit = isHit ? damage.iscrit : false;
+        let hitvalue = isHit ? damage.damage : 0;
+        let hitstr = isHit ? '-' + hitvalue : "miss";
+        let type = isHit ? (isCrit ? DAMAGE_TYPE.CRIT : DAMAGE_TYPE.NORMAL) : DAMAGE_TYPE.MISS;
 
-        this.knife_light.node.active = true;
-        this.knife_light.animation = 'daoguang';
+        this.addLight(attack_res);
 
-        this.popHpTips(hitvalue > 0 ? '-' + hitvalue : "miss");
+        this.popHpTips(hitstr, type);
 
         this.vo.hp -= hitvalue;
         if (this.vo.hp <= 0) {
@@ -112,7 +120,31 @@ export default class Monster extends cc.Component implements IPool {
         this.bar_monster.setProgress(this.vo.hp, true);
     }
 
-    private popHpTips(str) {
+    /** 受击特效 */
+    private addLight(attack_res: string) {
+        let type = attack_res.slice(attack_res.length - 1);
+        if (type == "2") {
+            type = "1";
+        }
+
+        let node = GameController.pool.getPrefabByClassName("AttackLight");
+        let attack_light = node.getComponent(AttackLight) as AttackLight;
+        attack_light.init(type, this.hitAnimCom.bind(this));
+        this.knife_light.addChild(node);
+    }
+    private hitAnimCom() {
+        if (this.canAttack()) {
+            this.dead();
+        }
+    }
+
+    /**
+     * 
+     * @param str 
+     * @param type  
+     * @returns 
+     */
+    private popHpTips(str, type: DAMAGE_TYPE) {
         if (!this.node) {
             return;
         }
@@ -120,7 +152,7 @@ export default class Monster extends cc.Component implements IPool {
         let script = node.getComponent(HpTips) as HpTips;
         let lbl: cc.Label = node.getChildByName("lbl_hptips").getComponent(cc.Label);
         lbl.string = str;
-        script.play();
+        script.play(type);
         this.node.addChild(node, 0);
     }
 
@@ -144,12 +176,6 @@ export default class Monster extends cc.Component implements IPool {
         this.isdead = true;
     }
 
-    private hitAnimCom() {
-        if (this.canAttack()) {
-            this.dead();
-        }
-    }
-
     private realDead() {
         this.clear();
     }
@@ -182,6 +208,8 @@ export default class Monster extends cc.Component implements IPool {
         else {
             this.node.y += (disy > 0 ? this.vo.speed : -this.vo.speed);
         }
+        this.node.x = -275;
+        this.node.y = 0;
         if (arrive == 2) {
             this.moveStep++;
             if (this.moveStep >= this.moveCroods.length / 2) {
@@ -200,9 +228,11 @@ export default class Monster extends cc.Component implements IPool {
         this.skeleton.node.active = true;
         this.img_select.node.active = false;
         this.bing_die.node.active = false;
-        this.knife_light.node.active = false;
         this.bar_monster.node.active = true;
+        this.knife_light.removeAllChildren();
 
+        this.node.scale = 1;
+        this.scaleRate = 1;
         this.moveCroods = null;
         this.moveStep = null;
         this.id = null;

+ 7 - 3
tower_sanguo/assets/scripts/vo/GeneralVO.ts

@@ -14,11 +14,11 @@ export default class GeneralVO {
 
 
     id: number;
-    camp:number;
+    camp: number;
     name: string;
     color: number;
     attSpeed: number;
-    atk_res:string;
+    atk_res: string;
     private _skillID: number;
     set skillID(v: number) {
         this._skillID = v;
@@ -74,7 +74,11 @@ export default class GeneralVO {
 
     /** 最终伤害   暴击=Damage_基础*1.5 */
     getDamage() {
-        return this.getDamageNormal() * (Math.random() < this.crit_rate ? 1.5 : 1);
+        let iscrit = Math.random() < this.crit_rate;
+        return {
+            iscrit: iscrit,
+            damage: this.getDamageNormal() * (iscrit ? 1.5 : 1)
+        };
     }
 
     _star: number;