物品图标

This commit is contained in:
2024-08-29 23:59:27 +08:00
parent 01fa44c19d
commit 6b4789d07c
22 changed files with 1089 additions and 903 deletions

View File

@@ -37,13 +37,13 @@
"__id__": 64 "__id__": 64
}, },
{ {
"__id__": 70 "__id__": 78
},
{
"__id__": 74
}, },
{ {
"__id__": 84 "__id__": 84
},
{
"__id__": 88
} }
], ],
"_active": true, "_active": true,
@@ -799,7 +799,7 @@
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 0, "x": 0,
"y": 105.175, "y": 120,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {
@@ -889,8 +889,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 40, "width": 60,
"height": 5 "height": 10
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
@@ -975,8 +975,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 40, "width": 60,
"height": 5 "height": 10
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
@@ -1050,7 +1050,7 @@
"__id__": 40 "__id__": 40
}, },
"_mode": 0, "_mode": 0,
"_totalLength": 40, "_totalLength": 60,
"_progress": 1, "_progress": 1,
"_reverse": false, "_reverse": false,
"_id": "" "_id": ""
@@ -1103,7 +1103,7 @@
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 0, "x": 0,
"y": 100.175, "y": 110,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {
@@ -1193,8 +1193,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 40, "width": 60,
"height": 5 "height": 10
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
@@ -1279,8 +1279,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 40, "width": 60,
"height": 5 "height": 10
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
@@ -1354,7 +1354,7 @@
"__id__": 54 "__id__": 54
}, },
"_mode": 0, "_mode": 0,
"_totalLength": 40, "_totalLength": 60,
"_progress": 1, "_progress": 1,
"_reverse": false, "_reverse": false,
"_id": "" "_id": ""
@@ -1376,6 +1376,307 @@
"targetOverrides": null, "targetOverrides": null,
"nestedPrefabInstanceRoots": null "nestedPrefabInstanceRoots": null
}, },
{
"__type__": "cc.Node",
"_name": "shield",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 1
},
"_children": [
{
"__id__": 65
}
],
"_active": true,
"_components": [
{
"__id__": 71
},
{
"__id__": 73
},
{
"__id__": 75
}
],
"_prefab": {
"__id__": 77
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": 130,
"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": 1,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.Node",
"_name": "Bar",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 64
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 66
},
{
"__id__": 68
}
],
"_prefab": {
"__id__": 70
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 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__": 65
},
"_enabled": true,
"__prefab": {
"__id__": 67
},
"_contentSize": {
"__type__": "cc.Size",
"width": 60,
"height": 10
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "fd3dH6jldPsa66Ci7KUVI3"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 65
},
"_enabled": true,
"__prefab": {
"__id__": 69
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_spriteFrame": {
"__uuid__": "f87f53f9-2fba-4a5b-968a-79a593311ab2@5c4a5",
"__expectedType__": "cc.SpriteFrame"
},
"_type": 1,
"_fillType": 0,
"_sizeMode": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_useGrayscale": false,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "42nR/FpVZByb+otJaujBAU"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "82t+mKrT1NDK/FLaizJqmu",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 64
},
"_enabled": true,
"__prefab": {
"__id__": 72
},
"_contentSize": {
"__type__": "cc.Size",
"width": 60,
"height": 10
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "d0Vsb23mxLQp4brp5KrYoI"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 64
},
"_enabled": true,
"__prefab": {
"__id__": 74
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_spriteFrame": null,
"_type": 1,
"_fillType": 0,
"_sizeMode": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_useGrayscale": false,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "817EmqwtZOoo1jCiT331/h"
},
{
"__type__": "cc.ProgressBar",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 64
},
"_enabled": true,
"__prefab": {
"__id__": 76
},
"_barSprite": {
"__id__": 68
},
"_mode": 0,
"_totalLength": 60,
"_progress": 1,
"_reverse": false,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "03p2B8lt5IL6sqNzysZUD4"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "f5X0rdMcFOMZ0GRx4uHEc0",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "level", "_name": "level",
@@ -1388,14 +1689,14 @@
"_active": false, "_active": false,
"_components": [ "_components": [
{ {
"__id__": 65 "__id__": 79
}, },
{ {
"__id__": 67 "__id__": 81
} }
], ],
"_prefab": { "_prefab": {
"__id__": 69 "__id__": 83
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
@@ -1432,11 +1733,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 64 "__id__": 78
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 66 "__id__": 80
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
@@ -1460,11 +1761,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 64 "__id__": 78
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 68 "__id__": 82
}, },
"_customMaterial": null, "_customMaterial": null,
"_srcBlendFactor": 2, "_srcBlendFactor": 2,
@@ -1524,11 +1825,11 @@
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 71 "__id__": 85
} }
], ],
"_prefab": { "_prefab": {
"__id__": 73 "__id__": 87
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
@@ -1565,11 +1866,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 70 "__id__": 84
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 72 "__id__": 86
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
@@ -1612,20 +1913,20 @@
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 75 "__id__": 89
}, },
{ {
"__id__": 77 "__id__": 91
}, },
{ {
"__id__": 79 "__id__": 93
}, },
{ {
"__id__": 81 "__id__": 95
} }
], ],
"_prefab": { "_prefab": {
"__id__": 83 "__id__": 97
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
@@ -1662,11 +1963,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 74 "__id__": 88
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 76 "__id__": 90
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
@@ -1690,11 +1991,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 74 "__id__": 88
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 78 "__id__": 92
}, },
"enabledContactListener": true, "enabledContactListener": true,
"bullet": true, "bullet": true,
@@ -1724,11 +2025,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 74 "__id__": 88
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 80 "__id__": 94
}, },
"tag": 4, "tag": 4,
"_group": 2, "_group": 2,
@@ -1758,11 +2059,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 74 "__id__": 88
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 82 "__id__": 96
}, },
"_id": "" "_id": ""
}, },
@@ -1783,307 +2084,6 @@
"targetOverrides": null, "targetOverrides": null,
"nestedPrefabInstanceRoots": null "nestedPrefabInstanceRoots": null
}, },
{
"__type__": "cc.Node",
"_name": "shield",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 1
},
"_children": [
{
"__id__": 85
}
],
"_active": false,
"_components": [
{
"__id__": 91
},
{
"__id__": 93
},
{
"__id__": 95
}
],
"_prefab": {
"__id__": 97
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": 105.727,
"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": 1,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.Node",
"_name": "Bar",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 84
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 86
},
{
"__id__": 88
}
],
"_prefab": {
"__id__": 90
},
"_lpos": {
"__type__": "cc.Vec3",
"x": -20,
"y": 0,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 1,
"y": 1,
"z": 1
},
"_mobility": 0,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 85
},
"_enabled": true,
"__prefab": {
"__id__": 87
},
"_contentSize": {
"__type__": "cc.Size",
"width": 40,
"height": 5
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "fd3dH6jldPsa66Ci7KUVI3"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 85
},
"_enabled": true,
"__prefab": {
"__id__": 89
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_spriteFrame": {
"__uuid__": "20835ba4-6145-4fbc-a58a-051ce700aa3e@f9941",
"__expectedType__": "cc.SpriteFrame"
},
"_type": 1,
"_fillType": 0,
"_sizeMode": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_useGrayscale": true,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "42nR/FpVZByb+otJaujBAU"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "82t+mKrT1NDK/FLaizJqmu",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 84
},
"_enabled": true,
"__prefab": {
"__id__": 92
},
"_contentSize": {
"__type__": "cc.Size",
"width": 40,
"height": 5
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "d0Vsb23mxLQp4brp5KrYoI"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 84
},
"_enabled": true,
"__prefab": {
"__id__": 94
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_spriteFrame": null,
"_type": 1,
"_fillType": 0,
"_sizeMode": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_useGrayscale": false,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "817EmqwtZOoo1jCiT331/h"
},
{
"__type__": "cc.ProgressBar",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 84
},
"_enabled": true,
"__prefab": {
"__id__": 96
},
"_barSprite": {
"__id__": 88
},
"_mode": 0,
"_totalLength": 40,
"_progress": 1,
"_reverse": false,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "03p2B8lt5IL6sqNzysZUD4"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "f5X0rdMcFOMZ0GRx4uHEc0",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{ {
"__type__": "cc.UITransform", "__type__": "cc.UITransform",
"_name": "", "_name": "",
@@ -2150,7 +2150,7 @@
"__expectedType__": "cc.Material" "__expectedType__": "cc.Material"
}, },
"BoxRang": { "BoxRang": {
"__id__": 74 "__id__": 88
}, },
"_id": "" "_id": ""
}, },

View File

@@ -30,127 +30,7 @@
<key>spriteSourceSize</key> <key>spriteSourceSize</key>
<string>{102,106}</string> <string>{102,106}</string>
<key>textureRect</key> <key>textureRect</key>
<string>{{105,1},{102,106}}</string> <string>{{1,109},{102,106}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>1003.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{102,106}</string>
<key>spriteSourceSize</key>
<string>{102,106}</string>
<key>textureRect</key>
<string>{{209,1},{102,106}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>1004.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{102,106}</string>
<key>spriteSourceSize</key>
<string>{102,106}</string>
<key>textureRect</key>
<string>{{313,1},{102,106}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>1005.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{102,106}</string>
<key>spriteSourceSize</key>
<string>{102,106}</string>
<key>textureRect</key>
<string>{{417,1},{102,106}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>1006.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{102,106}</string>
<key>spriteSourceSize</key>
<string>{102,106}</string>
<key>textureRect</key>
<string>{{521,1},{102,106}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>1007.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{102,106}</string>
<key>spriteSourceSize</key>
<string>{102,106}</string>
<key>textureRect</key>
<string>{{625,1},{102,106}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>1008.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{102,106}</string>
<key>spriteSourceSize</key>
<string>{102,106}</string>
<key>textureRect</key>
<string>{{729,1},{102,106}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>1009.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{102,106}</string>
<key>spriteSourceSize</key>
<string>{102,106}</string>
<key>textureRect</key>
<string>{{833,1},{102,106}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>1010.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{102,106}</string>
<key>spriteSourceSize</key>
<string>{102,106}</string>
<key>textureRect</key>
<string>{{937,1},{102,106}}</string>
<key>textureRotated</key> <key>textureRotated</key>
<false/> <false/>
</dict> </dict>
@@ -165,7 +45,7 @@
<key>spriteSourceSize</key> <key>spriteSourceSize</key>
<string>{102,106}</string> <string>{102,106}</string>
<key>textureRect</key> <key>textureRect</key>
<string>{{1041,1},{102,106}}</string> <string>{{105,1},{102,106}}</string>
<key>textureRotated</key> <key>textureRotated</key>
<false/> <false/>
</dict> </dict>
@@ -180,7 +60,472 @@
<key>spriteSourceSize</key> <key>spriteSourceSize</key>
<string>{102,106}</string> <string>{102,106}</string>
<key>textureRect</key> <key>textureRect</key>
<string>{{1145,1},{102,106}}</string> <string>{{105,109},{102,106}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6001.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{61,63}</string>
<key>spriteSourceSize</key>
<string>{61,63}</string>
<key>textureRect</key>
<string>{{475,68},{61,63}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6002.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{70,63}</string>
<key>spriteSourceSize</key>
<string>{70,63}</string>
<key>textureRect</key>
<string>{{341,151},{70,63}}</string>
<key>textureRotated</key>
<true/>
</dict>
<key>6003.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{63,68}</string>
<key>spriteSourceSize</key>
<string>{63,68}</string>
<key>textureRect</key>
<string>{{343,1},{63,68}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6004.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{62,66}</string>
<key>spriteSourceSize</key>
<string>{62,66}</string>
<key>textureRect</key>
<string>{{408,1},{62,66}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6006.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{60,66}</string>
<key>spriteSourceSize</key>
<string>{60,66}</string>
<key>textureRect</key>
<string>{{406,146},{60,66}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6007.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{62,73}</string>
<key>spriteSourceSize</key>
<string>{62,73}</string>
<key>textureRect</key>
<string>{{278,76},{62,73}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6101.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{64,73}</string>
<key>spriteSourceSize</key>
<string>{64,73}</string>
<key>textureRect</key>
<string>{{277,1},{64,73}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6102.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{64,73}</string>
<key>spriteSourceSize</key>
<string>{64,73}</string>
<key>textureRect</key>
<string>{{209,155},{64,73}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6103.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{64,73}</string>
<key>spriteSourceSize</key>
<string>{64,73}</string>
<key>textureRect</key>
<string>{{275,155},{64,73}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6201 .png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{54,62}</string>
<key>spriteSourceSize</key>
<string>{54,62}</string>
<key>textureRect</key>
<string>{{531,133},{54,62}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6201.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{54,62}</string>
<key>spriteSourceSize</key>
<string>{54,62}</string>
<key>textureRect</key>
<string>{{531,133},{54,62}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6202 .png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{54,62}</string>
<key>spriteSourceSize</key>
<string>{54,62}</string>
<key>textureRect</key>
<string>{{538,65},{54,62}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6202.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{54,62}</string>
<key>spriteSourceSize</key>
<string>{54,62}</string>
<key>textureRect</key>
<string>{{538,65},{54,62}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6203 .png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{54,62}</string>
<key>spriteSourceSize</key>
<string>{54,62}</string>
<key>textureRect</key>
<string>{{587,129},{54,62}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6203.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{54,62}</string>
<key>spriteSourceSize</key>
<string>{54,62}</string>
<key>textureRect</key>
<string>{{587,129},{54,62}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6204.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{53,61}</string>
<key>spriteSourceSize</key>
<string>{53,61}</string>
<key>textureRect</key>
<string>{{468,202},{53,61}}</string>
<key>textureRotated</key>
<true/>
</dict>
<key>6205.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{53,61}</string>
<key>spriteSourceSize</key>
<string>{53,61}</string>
<key>textureRect</key>
<string>{{594,65},{53,61}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6206.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{53,61}</string>
<key>spriteSourceSize</key>
<string>{53,61}</string>
<key>textureRect</key>
<string>{{596,1},{53,61}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6207.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{55,59}</string>
<key>spriteSourceSize</key>
<string>{55,59}</string>
<key>textureRect</key>
<string>{{643,128},{55,59}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6208.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{55,59}</string>
<key>spriteSourceSize</key>
<string>{55,59}</string>
<key>textureRect</key>
<string>{{649,64},{55,59}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6209.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{56,59}</string>
<key>spriteSourceSize</key>
<string>{56,59}</string>
<key>textureRect</key>
<string>{{531,197},{56,59}}</string>
<key>textureRotated</key>
<true/>
</dict>
<key>6210.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{55,59}</string>
<key>spriteSourceSize</key>
<string>{55,59}</string>
<key>textureRect</key>
<string>{{651,1},{55,59}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6301.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{66,68}</string>
<key>spriteSourceSize</key>
<string>{66,68}</string>
<key>textureRect</key>
<string>{{342,76},{66,68}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6302.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{67,74}</string>
<key>spriteSourceSize</key>
<string>{67,74}</string>
<key>textureRect</key>
<string>{{209,79},{67,74}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>6303.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{47,61}</string>
<key>spriteSourceSize</key>
<string>{47,61}</string>
<key>textureRect</key>
<string>{{592,193},{47,61}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>7001.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{63,65}</string>
<key>spriteSourceSize</key>
<string>{63,65}</string>
<key>textureRect</key>
<string>{{410,69},{63,65}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>7002.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{60,62}</string>
<key>spriteSourceSize</key>
<string>{60,62}</string>
<key>textureRect</key>
<string>{{534,1},{60,62}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>7003.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{65,60}</string>
<key>spriteSourceSize</key>
<string>{65,60}</string>
<key>textureRect</key>
<string>{{472,1},{65,60}}</string>
<key>textureRotated</key>
<true/>
</dict>
<key>userinfo_icon_boss.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{66,76}</string>
<key>spriteSourceSize</key>
<string>{66,76}</string>
<key>textureRect</key>
<string>{{209,1},{66,76}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>userinfo_icon_crown.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{59,60}</string>
<key>spriteSourceSize</key>
<string>{59,60}</string>
<key>textureRect</key>
<string>{{641,193},{59,60}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>userinfo_icon_skull.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{61,64}</string>
<key>spriteSourceSize</key>
<string>{61,64}</string>
<key>textureRect</key>
<string>{{468,136},{61,64}}</string>
<key>textureRotated</key> <key>textureRotated</key>
<false/> <false/>
</dict> </dict>
@@ -196,9 +541,9 @@
<key>realTextureFileName</key> <key>realTextureFileName</key>
<string>skill.png</string> <string>skill.png</string>
<key>size</key> <key>size</key>
<string>{1248,108}</string> <string>{707,256}</string>
<key>smartupdate</key> <key>smartupdate</key>
<string>$TexturePacker:SmartUpdate:b9bbea2cc13f7dbba1426a027abcd870:9675b05d8759001d89d377d942d7bede:de628d2eabb1e43115cf8c86336e45f6$</string> <string>$TexturePacker:SmartUpdate:7fc39e8ff0df36dd133477fda5417f2c:98b26f7b38d263c48bc0ce915f0606de:de628d2eabb1e43115cf8c86336e45f6$</string>
<key>textureFileName</key> <key>textureFileName</key>
<string>skill.png</string> <string>skill.png</string>
</dict> </dict>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -0,0 +1,138 @@
import { _decorator,Sprite ,Color} from "cc";
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
import { RoleViewComp } from "./RoleViewComp";
import { RoleSpine } from "./RoleSpine";
import { Timer } from "../../../../extensions/oops-plugin-framework/assets/core/common/timer/Timer";
import { smc } from "../common/SingletonModuleComp";
const { ccclass, property } = _decorator;
/** 视图层对象 */
@ccclass('RoleBuffComp')
@ecs.register('RoleBuff', false)
export class RoleBuffComp extends CCComp {
as: RoleSpine = null!;
mv!: RoleViewComp
timer:Timer = new Timer(0.1);
buffs:any=[];
group:number=0;
/**
skill_uuid:number=0;
atk:number=0;
hp:number=0;
shield:number=0;
time:number=0;
**/
onLoad() {
this.as = this.node.getComponent(RoleSpine);
this.mv= this.getComponent(RoleViewComp);
} /** 视图层逻辑代码分离演示 */
start () {
}
add_buff(uuid:number=0,args:any[]){
// console.log("add_buff",smc.skills[uuid]);
let new_buff={
skill_uuid:uuid,
skill_name:smc.skills[uuid].name,
atk:smc.skills[uuid].atk,
hp:smc.skills[uuid].hp,
shield:smc.skills[uuid].shield,
time:smc.skills[uuid].bsd,
bcd:smc.skills[uuid].bcd,
sk_uuid:smc.skills[uuid].uuid,
args:args
}
this.buff_add(new_buff);
}
update(dt: number){
if (this.timer.update(dt)) {
this.buff_update()
}
}
reset() {
this.node.destroy();
}
buff_add(buff:any){
if(!this.node.isValid){ return }
let i = 0
if(this.buffs.length >=0){
this.buffs.forEach((b:any,index:number)=>{
if(b.skill_uuid==buff.skill_uuid){
b.time=buff.time;
if(buff.atk>0){
this.node.getChildByName("avatar").setScale(1.2,1.2)
// this.node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite).color= new Color().fromHEX("#F16F6F");
this.mv.atk+=(buff.atk+buff.args.atk-b.atk);
}
if(buff.hp>0){
this.mv.hp+=(buff.hp+buff.args.hp);
this.mv.add_hp(buff.hp+buff.args.hp);
// this.mv.hp_max+=(buff.hp-b.hp);
}
if(buff.shield>0){
this.mv.shield=(buff.shield+buff.args.shield);
// this.mv.shield_max=(buff.shield+buff.args.shield);
}
i=index
}
})
}
if (i==0||this.buffs.length==0) {
this.buffs.push(buff);
if(buff.atk>0){
this.mv.atk+=(buff.atk+buff.args.atk);
this.node.getChildByName("avatar").setScale(1.2,1.2)
// this.node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite).color= new Color().fromHEX("#F16F6F");
}
if(buff.hp>0){
this.mv.hp+=(buff.hp+buff.args.hp);
this.mv.add_hp(buff.hp+buff.args.hp);
// this.mv.hp_max+=buff.hp;
}
if(buff.shield>0){
this.mv.shield=(buff.shield+buff.args.shield);
// this.mv.shield_max=(buff.shield+buff.args.shield);
}
}
console.log("buff add:",this.mv);
}
buff_remove(index:number){
if(this.buffs[index].atk>0){
this.mv.atk-=(this.buffs[index].atk+this.buffs[index].args.atk);
this.node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite).color= new Color().fromHEX("#FFFFFF");
this.node.getChildByName("avatar").setScale(1,1)
}
if(this.buffs[index].shield>0){
this.mv.shield=0
// this.mv.shield_max-=(this.buffs[index].shield+this.buffs[index].args.shield);
}
// if(this.buffs[index].hp>0){
// this.mv.hp_max-=this.buffs[index].hp;
// }
console.log("buff remove:",this.mv,this.buffs[index]);
}
buff_update(){
this.buffs.forEach((buff:any,index:number)=>{
buff.time -= 0.1;
if(buff.time <= 0){
this.buff_remove(index);
}
})
this.buffs = this.buffs.filter((buff:any) => buff.time > 0);
// console.log(this.buffs,this.buffs);
}
}

View File

@@ -2,7 +2,7 @@
"ver": "4.0.23", "ver": "4.0.23",
"importer": "typescript", "importer": "typescript",
"imported": true, "imported": true,
"uuid": "93179a96-4683-4d2d-853c-a0f721f19f02", "uuid": "e5f012c8-982e-4eef-8f95-edc5d4bcef52",
"files": [], "files": [],
"subMetas": {}, "subMetas": {},
"userData": {} "userData": {}

View File

@@ -38,6 +38,8 @@ export class RoleViewComp extends CCComp {
atk:number = 10; atk:number = 10;
skill_uuid:number = 9003; skill_uuid:number = 9003;
max_skill_uuid:number = 1001; max_skill_uuid:number = 1001;
shield:number = 0;
shield_max:number = 200;
skin="Character01"; skin="Character01";
private atk_time:Timer = new Timer(1); private atk_time:Timer = new Timer(1);
@@ -79,6 +81,9 @@ export class RoleViewComp extends CCComp {
} }
}
add_hp(hp:number){
console.log("role add hp",hp);
} }
setSkin(){ setSkin(){
this.as.setSkin(this.skin); this.as.setSkin(this.skin);

View File

@@ -1,9 +0,0 @@
{
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "826ec938-411f-429e-9693-747a063877b4",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -1,74 +0,0 @@
/*
* @Author: dgflash
* @Date: 2022-08-04 15:08:35
* @LastEditors: dgflash
* @LastEditTime: 2022-08-04 15:26:26
*/
import { Color, Component, EventTouch, sp, Vec3, _decorator ,Node} from "cc";
import { LayerUtil } from "../../../../../extensions/oops-plugin-framework/assets/core/utils/LayerUtil";
import { smc } from "../../common/SingletonModuleComp";
import Role2SpineAnimator from "./Role2SpineAnimator";
const { ccclass, property } = _decorator;
/**
* SPINE角色模型
*/
@ccclass('Role2Spine')
export class Role2Spine extends Component {
@property({ type: Role2SpineAnimator, tooltip: '动画控制器' })
animator: Role2SpineAnimator = null!;
private spine!: sp.Skeleton;
onLoad() {
// 角色控制组件
this.initAnimator();
LayerUtil.setNodeLayer(LayerUtil.MAP, this.node);
}
atk() {
this.spine.setAnimation(1, "atk", false);
}
magic() {
this.spine.setAnimation(1, "magic", false);
}
/** 初始化动画 */
protected initAnimator() {
this.spine = this.animator.getComponent(sp.Skeleton)!;
}
setSkin(value: string): void {
console.log("RoleSpine setSkin", value);
this.spine.setSkin(value);
}
play(animName: string, loop: boolean): void {
this.spine.setAnimation(1, animName, loop);
}
setAlpha(value: number): void {
var color: Color = this.spine.color;
color.a = 255 * (value / 1);
this.spine.color = color;
}
setPos(value: Vec3): void {
this.node.position = value;
}
checkTouch(event: EventTouch): boolean {
return false;
}
onDestroy() {
this.node.destroy();
}
walk() {
}
idle() {
}
}

View File

@@ -1 +0,0 @@
{"ver":"4.0.23","importer":"typescript","imported":true,"uuid":"a12321b5-d9b0-4eb8-aa4c-9db175d0f9a8","files":[],"subMetas":{},"userData":{}}

View File

@@ -1,71 +0,0 @@
/*
* @Author: dgflash
* @Date: 2022-08-04 15:08:35
* @LastEditors: dgflash
* @LastEditTime: 2022-08-04 15:26:38
*/
import { sp, _decorator ,Component} from "cc";
const { ccclass, property, requireComponent } = _decorator;
/**
* Spine状态机组件主状态机trackIndex为0
*/
@ccclass
@requireComponent(sp.Skeleton)
export default class Role2SpineAnimator extends Component {
private animName: string = "Idle";
private loop: boolean = true;
private spine!: sp.Skeleton;
start() {
this.spine = this.getComponent(sp.Skeleton)!;
// console.log("MonsterSpineAnimator start");
this.playAnimation(this.animName, this.loop);
}
mixTime:number= 0.2;
protected onLoad(): void {
this.spine = this.getComponent(sp.Skeleton)!;
// this.spine?.setMix('atk', 'Idle', this.mixTime);
// this.spine?.setMix('Idle','atk', this.mixTime);
this.spine.setEndListener(trackEntry => {
var animationName = trackEntry.animation ? trackEntry.animation.name : "";
// console.log("[track %s][animation %s] end.", trackEntry.trackIndex, animationName);
if (animationName == "atk"||animationName == "magic") {
this.spine.setAnimation(1, "Idle", true);
}
});
}
lateUpdate(dt: number) {
//
}
play(animName: string, loop: boolean) {
if (animName) {
this.animName = animName;
this.loop = loop;
this.spine.setAnimation(1 ,this.animName, this.loop);
}
else {
}
}
/**
* 播放动画
* @override
* @param animName 动画名
* @param loop 是否循环播放
*/
protected playAnimation(animName: string, loop: boolean) {
// console.log("MonsterSpineAnimator playAnimation");
if (animName) {
// console.log("MonsterSpineAnimator playAnimation animName", animName);
this.animName = animName;
this.loop = loop;
this.spine.setAnimation(1, this.animName, this.loop);
}
else {
}
}
}

View File

@@ -1,126 +0,0 @@
/*
* @Author: dgflash
* @Date: 2021-11-18 17:42:59
* @LastEditors: dgflash
* @LastEditTime: 2022-08-17 12:36:18
*/
import { Vec3, v3,_decorator ,Collider2D,Contact2DType,IPhysics2DContact,Material,Sprite,ProgressBar} from "cc";
import { ecs } from "../../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { CCComp } from "../../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
import { Role2Spine } from "./Role2Spine";
import {BoxSet} from "../../common/config/BoxSet"
import { smc } from "../../common/SingletonModuleComp";
import { SkillCom } from "../../skills/SkillCom";
import { Skill } from "../../skills/Skill";
import { SkillSet } from "../../common/config/SkillSet";
import { Timer } from "../../../../../extensions/oops-plugin-framework/assets/core/common/timer/Timer";
import { RandomManager } from "../../../../../extensions/oops-plugin-framework/assets/core/common/random/RandomManager";
const { ccclass, property } = _decorator;
/** 角色显示组件 */
@ccclass('Role2ViewComp') // 定义为 Cocos Creator 组件
@ecs.register('RoleView2', false) // 定义为 ECS 组件
export class Role2ViewComp extends CCComp {
@property(Material)
hitFlashMaterial: Material;
orginalFlashMaterial: Material;
sprite: Sprite;
/** 角色动画 */
as: Role2Spine = null!;
/** 角色属性 */
hp: number = 1000;
hp_max:number = 1000;
power: number = 0;
stop_cd:number = 0;
atk_cd:number = 2;
atk:number = 10;
skill_uuid:number = 9003;
max_skill_uuid:number = 1001;
skin:string ="Character01";
private atk_time:Timer = new Timer(1);
onLoad() {
this.as = this.getComponent(Role2Spine);
}
start () {
// this.as.setSkin(this.skin);
this.atk_time = new Timer(this.atk_cd);
// this.sprite = this.node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite);
// this.orginalFlashMaterial = this.sprite.getRenderMaterial(0);
console.log("Role view start")
let collider = this.getComponent(Collider2D);
if (collider) {
collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
}
}
onBeginContact (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
if(otherCollider.tag==BoxSet.SKILL_TAG){
if(selfCollider.group != otherCollider.group){
let skill = otherCollider.node.getComponent(SkillCom)!;
// console.log('onPostSolve',skill);
// this.in_atked();
if(this.hp <= 0 ){
return
}
this.hp_change(skill.atk);
}
}
}
// onEndContact (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {}
// onPreSolve (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {}
// onPostSolve (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {}
update(dt: number){
if (this.atk_time.update(dt)) {
this.toAtk(this.skill_uuid);
}
}
reset() {
this.node.destroy();
}
toAtk(uuid) {
this.as.atk();
this.scheduleOnce(()=>{
this.shoot(this.skill_uuid);
},0.4)
}
shoot(skill_uuid:number){
console.log("monster shoot");
let skill = ecs.getEntity<Skill>(Skill);
let pos = v3(60,50)
let scale = 1
let speed =smc.skills[skill_uuid].speed;
let dis = smc.skills[skill_uuid].dis;
let atk = smc.skills[skill_uuid].atk+this.atk;
let uuid = skill_uuid;
skill.load(pos,speed,dis,scale,this.node,uuid,atk,2);
}
setSkin(skin:string="Character01"){
this.as.setSkin(skin);
}
in_atked() {
this.sprite.setSharedMaterial(this.hitFlashMaterial, 0);
this.scheduleOnce(() => {
this.sprite.setSharedMaterial(this.orginalFlashMaterial, 0);
}, 0.1);
}
hp_change(hp: number){
this.hp -= hp;
if(this.hp > this.hp_max){
this.hp = this.hp_max;
}
let hp_progress= this.hp/this.hp_max;
this.node.getChildByName("hp").getComponent(ProgressBar)!.progress = hp_progress;
if(this.hp <= 0){
console.log("dead");
}
}
}

View File

@@ -1 +0,0 @@
{"ver":"4.0.23","importer":"typescript","imported":true,"uuid":"4810c3ad-8287-4fcd-bdb3-dd44247d61ed","files":[],"subMetas":{},"userData":{}}

View File

@@ -42,7 +42,10 @@ export class SingletonModuleComp extends ecs.Comp {
skills:any = [] skills:any = []
monsters_dead:any = [] monsters_dead:any = []
heros_dead:any = [] heros_dead:any = []
least_hp_monster_eid:number=0;
least_hp_monster_hp:number=1000;
least_hp_hero_eid:number=0;
least_hp_hero_hp:number=1000;
vm_data: any = { vm_data: any = {
name : "纸片精灵大乱斗", name : "纸片精灵大乱斗",
/**宝石数量 */ /**宝石数量 */

View File

@@ -35,4 +35,9 @@ export enum BoxSet {
MOVE_RANGE_X = 20, MOVE_RANGE_X = 20,
MAX_SKILL_SY = 50, MAX_SKILL_SY = 50,
MAX_SKILL_BY = 80, MAX_SKILL_BY = 80,
}
export enum GameSet {
ATK_TO_ATK_RATIO=0.1,
ATK_TO_HP_RATIO=0.2,
ATK_TO_SHIELD_RATIO=2
} }

View File

@@ -11,23 +11,19 @@ export const CardType = {
export const CardList={ export const CardList={
1:[ 1:[
{uuid:1101,type:1},{uuid:1102,type:1},{uuid:1201,type:1},{uuid:1202,type:1},{uuid:1301,type:1},{uuid:1302,type:1}, {uuid:1101,type:1},{uuid:1102,type:1},{uuid:1201,type:1},{uuid:1202,type:1},{uuid:1301,type:1},{uuid:1302,type:1},
{uuid:1001,type:2},{uuid:1002,type:2},{uuid:1003,type:2},{uuid:1004,type:2},{uuid:1005,type:2},{uuid:1006,type:2}, {uuid:1001,type:2},{uuid:1002,type:2},
{uuid:1008,type:2},{uuid:1009,type:2},{uuid:1010,type:2},
], ],
2:[ 2:[
{uuid:2101,type:1},{uuid:2102,type:1},{uuid:2201,type:1},{uuid:2202,type:1},{uuid:2301,type:1},{uuid:2302,type:1}, {uuid:2101,type:1},{uuid:2102,type:1},{uuid:2201,type:1},{uuid:2202,type:1},{uuid:2301,type:1},{uuid:2302,type:1},
{uuid:2001,type:2},{uuid:2002,type:2},{uuid:2003,type:2},{uuid:2004,type:2},{uuid:2005,type:2},{uuid:2006,type:2}, {uuid:1001,type:2},{uuid:1002,type:2},
{uuid:2008,type:2},{uuid:2009,type:2},{uuid:2010,type:2},
], ],
3:[ 3:[
{uuid:3101,type:1},{uuid:3102,type:1},{uuid:3201,type:1},{uuid:3202,type:1},{uuid:3301,type:1},{uuid:3302,type:1}, {uuid:3101,type:1},{uuid:3102,type:1},{uuid:3201,type:1},{uuid:3202,type:1},{uuid:3301,type:1},{uuid:3302,type:1},
{uuid:3001,type:2},{uuid:3002,type:2},{uuid:3003,type:2},{uuid:3004,type:2},{uuid:3005,type:2},{uuid:3006,type:2}, {uuid:1001,type:2},{uuid:1002,type:2},
{uuid:3008,type:2},{uuid:3009,type:2},{uuid:3010,type:2},{uuid:1011,type:2},{uuid:1012,type:2},
], ],
4:[ 4:[
{uuid:4101,type:1},{uuid:4102,type:1},{uuid:4201,type:1},{uuid:4202,type:1},{uuid:4301,type:1},{uuid:4302,type:1}, {uuid:4101,type:1},{uuid:4102,type:1},{uuid:4201,type:1},{uuid:4202,type:1},{uuid:4301,type:1},{uuid:4302,type:1},
{uuid:4001,type:2},{uuid:4002,type:2},{uuid:4003,type:2},{uuid:4004,type:2},{uuid:4005,type:2},{uuid:4006,type:2}, {uuid:1001,type:2},{uuid:1002,type:2},
{uuid:4008,type:2},{uuid:4009,type:2},{uuid:4010,type:2},{uuid:2011,type:2},{uuid:2012,type:2},
], ],
5:[{uuid:5001,type:1},{uuid:5002,type:1},{uuid:5003,type:1},{uuid:5004,type:1}], 5:[{uuid:5001,type:1},{uuid:5002,type:1},{uuid:5003,type:1},{uuid:5004,type:1}],
// 1:[1101,1102,1103,1104,1105,1106,1201,1202,1203,1204,1205,1301,1302,1303,1304,], // 1:[1101,1102,1103,1104,1105,1106,1201,1202,1203,1204,1205,1301,1302,1303,1304,],

View File

@@ -6,6 +6,9 @@ type
4 双技能技能1技能结束后触发2技能 4 双技能技能1技能结束后触发2技能
5: 特殊技能,触发特殊弹窗选项 5: 特殊技能,触发特殊弹窗选项
9 buff 技能, 9 buff 技能,
91: 单体buff加最少血
92单体buff随机
99: 群体buff
sd 卡片技能图标持续时间 sd 卡片技能图标持续时间
cd 卡片技能释放本技能cd cd 卡片技能释放本技能cd
count卡片1次释放本技能数 count卡片1次释放本技能数
@@ -18,54 +21,10 @@ path: 图片地址
*/ */
export const SkillSet={ export const SkillSet={
1001:{uuid: 1001,path: "1001",type: 1,level: 1,name: "火球术-初级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, 1001:{uuid: 1001,path: "1001",type: 1,level: 1,name: "火球术",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
1002:{uuid: 1002,path: "1002",type: 1,level: 1,name: "寒冰箭-初级",sp_name:"ice",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, 1002:{uuid: 1002,path: "1002",type: 1,level: 1,name: "寒冰箭",sp_name:"ice",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
1003:{uuid: 1003,path: "1003",type: 9,level: 1,name: "狂暴-初级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, 4011:{uuid: 4011,path: "1011",type: 1,level: 3,name: "火焰风暴",sp_name:"fire",dis:720,count:5,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
1004:{uuid: 1004,path: "1004",type: 9,level: 1,name: "守护-初级",sp_name:"fire",dis:720,count:1,atk:0,hp:0,shield:100,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, 4012:{uuid: 4012,path: "1012",type: 1,level: 3,name: "冰晶风暴",sp_name:"ice",dis:720,count:5,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
1005:{uuid: 1005,path: "1005",type: 9,level: 1,name: "雷霆-初级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
1006:{uuid: 1006,path: "1006",type: 9,level: 1,name: "再生-初级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
1007:{uuid: 1007,path: "1007",type: 5,level: 1,name: "复生-初级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
1008:{uuid: 1008,path: "1008",type: 9,level: 1,name: "灵巧-初级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
1009:{uuid: 1009,path: "1009",type: 9,level: 1,name: "坚硬-初级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
1010:{uuid: 1010,path: "1010",type: 9,level: 1,name: "治愈-初级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
1011:{uuid: 1011,path: "1011",type: 1,level: 3,name: "火焰风暴-初级",sp_name:"fire",dis:720,count:3,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
1012:{uuid: 1012,path: "1012",type: 1,level: 3,name: "冰晶风暴-初级",sp_name:"ice",dis:720,count:3,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
2001:{uuid: 2001,path: "1001",type: 1,level: 2,name: "火球术-中级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
2002:{uuid: 2002,path: "1002",type: 1,level: 2,name: "寒冰箭-中级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
2003:{uuid: 2003,path: "1003",type: 9,level: 2,name: "狂暴-中级",sp_name:"fire",dis:720,count:1,atk:20,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
2004:{uuid: 2004,path: "1004",type: 9,level: 2,name: "守护-中级",sp_name:"fire",dis:720,count:1,atk:0,hp:0,shield:200,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
2005:{uuid: 2005,path: "1005",type: 9,level: 2,name: "雷霆-中级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
2006:{uuid: 2006,path: "1006",type: 9,level: 2,name: "再生-中级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
2007:{uuid: 2007,path: "1007",type: 5,level: 2,name: "复生-中级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
2008:{uuid: 2008,path: "1008",type: 9,level: 2,name: "灵巧-中级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
2009:{uuid: 2009,path: "1009",type: 9,level: 2,name: "坚硬-中级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
2010:{uuid: 2010,path: "1010",type: 9,level: 2,name: "治愈-中级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
2011:{uuid: 2011,path: "1011",type: 1,level: 4,name: "火焰风暴-中级",sp_name:"fire",dis:720,count:3,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
2012:{uuid: 2012,path: "1012",type: 1,level: 4,name: "冰晶风暴-中级",sp_name:"ice",dis:720,count:3,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
3001:{uuid: 3001,path: "1001",type: 1,level: 3,name: "火球术-高级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
3002:{uuid: 3002,path: "1002",type: 1,level: 3,name: "寒冰箭-高级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
3003:{uuid: 3003,path: "1003",type: 9,level: 3,name: "狂暴-高级",sp_name:"fire",dis:720,count:1,atk:40,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
3004:{uuid: 3004,path: "1004",type: 9,level: 3,name: "守护-高级",sp_name:"fire",dis:720,count:1,atk:0,hp:0,shield:400,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
3005:{uuid: 3005,path: "1005",type: 9,level: 3,name: "雷霆-高级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
3006:{uuid: 3006,path: "1006",type: 9,level: 3,name: "再生-高级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
3007:{uuid: 3007,path: "1007",type: 5,level: 3,name: "复生-高级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
3008:{uuid: 3008,path: "1008",type: 9,level: 3,name: "灵巧-高级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
3009:{uuid: 3009,path: "1009",type: 9,level: 3,name: "坚硬-高级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
3010:{uuid: 3010,path: "1010",type: 9,level: 3,name: "治愈-高级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
3011:{uuid: 3011,path: "1011",type: 1,level: 5,name: "火焰风暴-高级",sp_name:"fire",dis:720,count:5,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
3012:{uuid: 3012,path: "1012",type: 1,level: 5,name: "冰晶风暴-高级",sp_name:"ice",dis:720,count:5,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
4001:{uuid: 4001,path: "1001",type: 1,level: 4,name: "火球术-终极",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
4002:{uuid: 4002,path: "1002",type: 1,level: 4,name: "寒冰箭-终极",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
4003:{uuid: 4003,path: "1003",type: 9,level: 4,name: "狂暴-终极",sp_name:"fire",dis:720,count:1,atk:80,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
4004:{uuid: 4004,path: "1004",type: 9,level: 4,name: "守护-终极",sp_name:"fire",dis:720,count:1,atk:0,hp:0,shield:800,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
4005:{uuid: 4005,path: "1005",type: 9,level: 4,name: "雷霆-终极",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
4006:{uuid: 4006,path: "1006",type: 9,level: 4,name: "再生-终极",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
4007:{uuid: 4007,path: "1007",type: 5,level: 4,name: "复生-终极",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
4008:{uuid: 4008,path: "1008",type: 9,level: 4,name: "灵巧-终极",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
4009:{uuid: 4009,path: "1009",type: 9,level: 4,name: "坚硬-终极",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
4010:{uuid: 4010,path: "1010",type: 9,level: 4,name: "治愈-终极",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
4011:{uuid: 4011,path: "1011",type: 1,level: 6,name: "火焰风暴-终极",sp_name:"fire",dis:720,count:5,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
4012:{uuid: 4012,path: "1012",type: 1,level: 6,name: "冰晶风暴-终极",sp_name:"ice",dis:720,count:5,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,},
9001:{uuid: 9001,path: "1001",type: 1,level: 1,name: "基础攻击1",sp_name:"base",dis:70,count:1,atk:0,hp:0,shield:0,sd:10,cd:3,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:450,}, 9001:{uuid: 9001,path: "1001",type: 1,level: 1,name: "基础攻击1",sp_name:"base",dis:70,count:1,atk:0,hp:0,shield:0,sd:10,cd:3,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:450,},
9002:{uuid: 9002,path: "1001",type: 1,level: 1,name: "基础攻击2",sp_name:"base2",dis:70,count:1,atk:0,hp:0,shield:0,sd:10,cd:3,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:450,}, 9002:{uuid: 9002,path: "1001",type: 1,level: 1,name: "基础攻击2",sp_name:"base2",dis:70,count:1,atk:0,hp:0,shield:0,sd:10,cd:3,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:450,},
9003:{uuid: 9003,path: "1001",type: 2,level: 1,name: "基础攻击3",sp_name:"base3",dis:720,count:1,atk:0,hp:0,shield:0,sd:10,cd:3,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:450,}, 9003:{uuid: 9003,path: "1001",type: 2,level: 1,name: "基础攻击3",sp_name:"base3",dis:720,count:1,atk:0,hp:0,shield:0,sd:10,cd:3,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:450,},

View File

@@ -1,174 +1,174 @@
export const HeroSet={ export const HeroSet={
1101:{uuid: 1101,path: 1101,type: 1,level: 1,name: "守护犬",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 80, 1101:{uuid: 1101,path: 1101,type: 1,level: 1,name: "守护犬",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "守护",info: "自身护盾", atktype: "攻击型",mon: "狗"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "守护",info: "自身护盾", atktype: "攻击型",mon: "狗"},
1102:{uuid: 1102,path: 1102,type: 1,level: 1,name: "狂暴犬",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 80, 1102:{uuid: 1102,path: 1102,type: 1,level: 1,name: "狂暴犬",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "狂暴",info: "全体攻击", atktype: "攻击型",mon: "狗"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "狂暴",info: "全体攻击", atktype: "攻击型",mon: "狗"},
1103:{uuid: 1103,path: 1103,type: 1,level: 1,name: "火焰犬",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 80, 1103:{uuid: 1103,path: 1103,type: 1,level: 1,name: "火焰犬",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "火焰",info: "大火球", atktype: "攻击型",mon: "狗"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "火焰",info: "大火球", atktype: "攻击型",mon: "狗"},
1104:{uuid: 1104,path: 1104,type: 1,level: 1,name: "机甲犬",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 80, 1104:{uuid: 1104,path: 1104,type: 1,level: 1,name: "机甲犬",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "狗"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "狗"},
1105:{uuid: 1105,path: 1105,type: 1,level: 1,name: "战斗蚁",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 80, 1105:{uuid: 1105,path: 1105,type: 1,level: 1,name: "战斗蚁",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "蚂蚁"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "蚂蚁"},
1106:{uuid: 1106,path: 1106,type: 1,level: 1,name: "战斗蚁",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 80, 1106:{uuid: 1106,path: 1106,type: 1,level: 1,name: "战斗蚁",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "蚂蚁"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "蚂蚁"},
2101:{uuid: 2101,path: 2101,type: 1,level: 2,name: "金刚鹦鹉",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 80, 2101:{uuid: 2101,path: 2101,type: 1,level: 2,name: "金刚鹦鹉",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "金刚",info: "全体招架", atktype: "攻击型",mon: "鹦鹉"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "金刚",info: "全体招架", atktype: "攻击型",mon: "鹦鹉"},
2102:{uuid: 2102,path: 2102,type: 1,level: 2,name: "狂暴鹦鹉",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 80, 2102:{uuid: 2102,path: 2102,type: 1,level: 2,name: "狂暴鹦鹉",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "狂暴",info: "全体攻击", atktype: "攻击型",mon: "鹦鹉"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "狂暴",info: "全体攻击", atktype: "攻击型",mon: "鹦鹉"},
2103:{uuid: 2103,path: 2103,type: 1,level: 2,name: "鹰",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 80, 2103:{uuid: 2103,path: 2103,type: 1,level: 2,name: "鹰",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "鹰"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "鹰"},
2104:{uuid: 2104,path: 2104,type: 1,level: 2,name: "鹰",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 80, 2104:{uuid: 2104,path: 2104,type: 1,level: 2,name: "鹰",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "鹰"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "鹰"},
2105:{uuid: 2105,path: 2105,type: 1,level: 2,name: "鹰",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 80, 2105:{uuid: 2105,path: 2105,type: 1,level: 2,name: "鹰",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "鹰"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "鹰"},
3101:{uuid: 3101,path: 3101,type: 1,level: 3,name: "火焰山羊",atk: 9,hp: 54,atk_cd: 2,power: 50,speed: 80, 3101:{uuid: 3101,path: 3101,type: 1,level: 3,name: "火焰山羊",atk: 9,hp: 54,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "火焰",info: "大火球", atktype: "攻击型",mon: "山羊"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "火焰",info: "大火球", atktype: "攻击型",mon: "山羊"},
3102:{uuid: 3102,path: 3102,type: 1,level: 3,name: "坚韧山羊",atk: 9,hp: 54,atk_cd: 2,power: 50,speed: 80, 3102:{uuid: 3102,path: 3102,type: 1,level: 3,name: "坚韧山羊",atk: 9,hp: 54,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "守护",info: "全体护盾", atktype: "攻击型",mon: "山羊"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "守护",info: "全体护盾", atktype: "攻击型",mon: "山羊"},
3103:{uuid: 3103,path: 3103,type: 1,level: 3,name: "山羊",atk: 9,hp: 54,atk_cd: 2,power: 50,speed: 80, 3103:{uuid: 3103,path: 3103,type: 1,level: 3,name: "山羊",atk: 9,hp: 54,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "山羊"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "山羊"},
3104:{uuid: 3104,path: 3104,type: 1,level: 3,name: "山羊",atk: 9,hp: 54,atk_cd: 2,power: 50,speed: 80, 3104:{uuid: 3104,path: 3104,type: 1,level: 3,name: "山羊",atk: 9,hp: 54,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "山羊"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "山羊"},
4101:{uuid: 4101,path: 4101,type: 1,level: 4,name: "炎爆麋鹿",atk: 13,hp: 81,atk_cd: 2,power: 50,speed: 80, 4101:{uuid: 4101,path: 4101,type: 1,level: 4,name: "炎爆麋鹿",atk: 13,hp: 81,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "炎爆",info: "炎爆", atktype: "攻击型",mon: "鹿"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "炎爆",info: "炎爆", atktype: "攻击型",mon: "鹿"},
4102:{uuid: 4102,path: 4102,type: 1,level: 4,name: "金刚麋鹿",atk: 13,hp: 81,atk_cd: 2,power: 50,speed: 80, 4102:{uuid: 4102,path: 4102,type: 1,level: 4,name: "金刚麋鹿",atk: 13,hp: 81,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "金刚",info: "全体招架", atktype: "攻击型",mon: "鹿"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "金刚",info: "全体招架", atktype: "攻击型",mon: "鹿"},
4103:{uuid: 4103,path: 4103,type: 1,level: 4,name: "鹿",atk: 13,hp: 81,atk_cd: 2,power: 50,speed: 80, 4103:{uuid: 4103,path: 4103,type: 1,level: 4,name: "鹿",atk: 13,hp: 81,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "鹿"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "鹿"},
4104:{uuid: 4104,path: 4104,type: 1,level: 4,name: "鹿",atk: 13,hp: 81,atk_cd: 2,power: 50,speed: 80, 4104:{uuid: 4104,path: 4104,type: 1,level: 4,name: "鹿",atk: 13,hp: 81,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "鹿"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "鹿"},
1201:{uuid: 1201,path: 1201,type: 2,level: 1,name: "守护绵羊",atk: 2,hp: 48,atk_cd: 2,power: 50,speed: 80, 1201:{uuid: 1201,path: 1201,type: 2,level: 1,name: "守护绵羊",atk: 2,hp: 48,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "守护",info: "自身护盾", atktype: "血量型",mon: "绵羊"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "守护",info: "自身护盾", atktype: "血量型",mon: "绵羊"},
1202:{uuid: 1202,path: 1202,type: 2,level: 1,name: "再生绵羊",atk: 2,hp: 48,atk_cd: 2,power: 50,speed: 80, 1202:{uuid: 1202,path: 1202,type: 2,level: 1,name: "再生绵羊",atk: 2,hp: 48,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "再生",info: "全体回血", atktype: "血量型",mon: "绵羊"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "再生",info: "全体回血", atktype: "血量型",mon: "绵羊"},
1203:{uuid: 1203,path: 1203,type: 2,level: 1,name: "坚韧绵羊",atk: 2,hp: 48,atk_cd: 2,power: 50,speed: 80, 1203:{uuid: 1203,path: 1203,type: 2,level: 1,name: "坚韧绵羊",atk: 2,hp: 48,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,info: "全体护盾", atktype: "血量型",mon: "绵羊"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,info: "全体护盾", atktype: "血量型",mon: "绵羊"},
1204:{uuid: 1204,path: 1204,type: 2,level: 1,name: "绵羊",atk: 2,hp: 48,atk_cd: 2,power: 50,speed: 80, 1204:{uuid: 1204,path: 1204,type: 2,level: 1,name: "绵羊",atk: 2,hp: 48,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "绵羊"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "绵羊"},
2201:{uuid: 2201,path: 2201,type: 2,level: 2,name: "坚韧龟",atk: 3,hp: 72,atk_cd: 2,power: 50,speed: 80, 2201:{uuid: 2201,path: 2201,type: 2,level: 2,name: "坚韧龟",atk: 3,hp: 72,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "坚韧",info: "全体护盾", atktype: "血量型",mon: "龟"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "坚韧",info: "全体护盾", atktype: "血量型",mon: "龟"},
2202:{uuid: 2202,path: 2202,type: 2,level: 2,name: "狂暴龟",atk: 3,hp: 72,atk_cd: 2,power: 50,speed: 80, 2202:{uuid: 2202,path: 2202,type: 2,level: 2,name: "狂暴龟",atk: 3,hp: 72,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "狂暴",info: "全体攻击", atktype: "血量型",mon: "龟"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "狂暴",info: "全体攻击", atktype: "血量型",mon: "龟"},
2203:{uuid: 2203,path: 2203,type: 2,level: 2,name: "龟",atk: 3,hp: 72,atk_cd: 2,power: 50,speed: 80, 2203:{uuid: 2203,path: 2203,type: 2,level: 2,name: "龟",atk: 3,hp: 72,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "龟"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "龟"},
2204:{uuid: 2204,path: 2204,type: 2,level: 2,name: "龟",atk: 3,hp: 72,atk_cd: 2,power: 50,speed: 80, 2204:{uuid: 2204,path: 2204,type: 2,level: 2,name: "龟",atk: 3,hp: 72,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "龟"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "龟"},
3201:{uuid: 3201,path: 3201,type: 2,level: 3,name: "风刃野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 80, 3201:{uuid: 3201,path: 3201,type: 2,level: 3,name: "风刃野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "风刃",info: "风刃", atktype: "血量型",mon: "野猪"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "风刃",info: "风刃", atktype: "血量型",mon: "野猪"},
3202:{uuid: 3202,path: 3202,type: 2,level: 3,name: "急速野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 80, 3202:{uuid: 3202,path: 3202,type: 2,level: 3,name: "急速野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "急速",info: "全体闪避", atktype: "血量型",mon: "野猪"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "急速",info: "全体闪避", atktype: "血量型",mon: "野猪"},
3203:{uuid: 3203,path: 3203,type: 2,level: 3,name: "野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 80, 3203:{uuid: 3203,path: 3203,type: 2,level: 3,name: "野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "野猪"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "野猪"},
3204:{uuid: 3204,path: 3204,type: 2,level: 3,name: "野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 80, 3204:{uuid: 3204,path: 3204,type: 2,level: 3,name: "野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "野猪"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "野猪"},
3205:{uuid: 3205,path: 3205,type: 2,level: 3,name: "野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 80, 3205:{uuid: 3205,path: 3205,type: 2,level: 3,name: "野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "野猪"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "野猪"},
4201:{uuid: 4201,path: 4201,type: 2,level: 4,name: "坚韧犀牛",atk: 7,hp: 162,atk_cd: 2,power: 50,speed: 80, 4201:{uuid: 4201,path: 4201,type: 2,level: 4,name: "坚韧犀牛",atk: 7,hp: 162,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "坚韧",info: "全体护盾", atktype: "血量型",mon: "犀牛"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "坚韧",info: "全体护盾", atktype: "血量型",mon: "犀牛"},
4202:{uuid: 4202,path: 4202,type: 2,level: 4,name: "雷暴犀牛",atk: 7,hp: 162,atk_cd: 2,power: 50,speed: 80, 4202:{uuid: 4202,path: 4202,type: 2,level: 4,name: "雷暴犀牛",atk: 7,hp: 162,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "雷暴",info: "雷暴", atktype: "血量型",mon: "犀牛"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "雷暴",info: "雷暴", atktype: "血量型",mon: "犀牛"},
4203:{uuid: 4203,path: 4203,type: 2,level: 4,name: "犀牛",atk: 7,hp: 162,atk_cd: 2,power: 50,speed: 80, 4203:{uuid: 4203,path: 4203,type: 2,level: 4,name: "犀牛",atk: 7,hp: 162,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "犀牛"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "犀牛"},
4204:{uuid: 4204,path: 4204,type: 2,level: 4,name: "犀牛",atk: 7,hp: 162,atk_cd: 2,power: 50,speed: 80, 4204:{uuid: 4204,path: 4204,type: 2,level: 4,name: "犀牛",atk: 7,hp: 162,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "犀牛"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "犀牛"},
1301:{uuid: 1301,path: 1301,type: 3,level: 1,name: "守护喵",atk: 3,hp: 18,atk_cd: 2,power: 50,speed: 80, 1301:{uuid: 1301,path: 1301,type: 3,level: 1,name: "守护喵",atk: 3,hp: 18,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "守护",info: "自身护盾", atktype: "攻速型",mon: "猫"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "守护",info: "自身护盾", atktype: "攻速型",mon: "猫"},
1302:{uuid: 1302,path: 1302,type: 3,level: 1,name: "急速喵",atk: 3,hp: 18,atk_cd: 2,power: 50,speed: 80, 1302:{uuid: 1302,path: 1302,type: 3,level: 1,name: "急速喵",atk: 3,hp: 18,atk_cd: 2,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "急速",info: "全体闪避", atktype: "攻速型",mon: "猫"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "急速",info: "全体闪避", atktype: "攻速型",mon: "猫"},
1303:{uuid: 1303,path: 1303,type: 3,level: 1,name: "狂暴喵",atk: 3,hp: 18,atk_cd: 1,power: 50,speed: 80, 1303:{uuid: 1303,path: 1303,type: 3,level: 1,name: "狂暴喵",atk: 3,hp: 18,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "狂暴",info: "全体攻击", atktype: "攻速型",mon: "松鼠"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "狂暴",info: "全体攻击", atktype: "攻速型",mon: "松鼠"},
1304:{uuid: 1304,path: 1304,type: 3,level: 1,atk: 3,hp: 18,atk_cd: 1,power: 50,speed: 80, 1304:{uuid: 1304,path: 1304,type: 3,level: 1,atk: 3,hp: 18,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "鼠"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "鼠"},
2301:{uuid: 2301,path: 2301,type: 3,level: 2,name: "狂爆山猫",atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 80, 2301:{uuid: 2301,path: 2301,type: 3,level: 2,name: "狂爆山猫",atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "狂爆",info: "全体攻击", atktype: "攻速型",mon: "山猫"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "狂爆",info: "全体攻击", atktype: "攻速型",mon: "山猫"},
2302:{uuid: 2302,path: 2302,type: 3,level: 2,name: "急速山猫",atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 80, 2302:{uuid: 2302,path: 2302,type: 3,level: 2,name: "急速山猫",atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "急速",info: "全体闪避", atktype: "攻速型",mon: "山猫"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "急速",info: "全体闪避", atktype: "攻速型",mon: "山猫"},
2303:{uuid: 2303,path: 2303,type: 3,level: 2,atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 80, 2303:{uuid: 2303,path: 2303,type: 3,level: 2,atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "山猫"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "山猫"},
2304:{uuid: 2304,path: 2304,type: 3,level: 2,atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 80, 2304:{uuid: 2304,path: 2304,type: 3,level: 2,atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "机械蜜蜂"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "机械蜜蜂"},
2305:{uuid: 2305,path: 2305,type: 3,level: 2,atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 80, 2305:{uuid: 2305,path: 2305,type: 3,level: 2,atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "机械山猫"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "机械山猫"},
3301:{uuid: 3301,path: 3301,type: 3,level: 3,name: "坚韧狮",atk: 6,hp: 45,atk_cd: 1,power: 50,speed: 80, 3301:{uuid: 3301,path: 3301,type: 3,level: 3,name: "坚韧狮",atk: 6,hp: 45,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "坚韧",info: "全体护盾", atktype: "攻速型",mon: "狮子"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "坚韧",info: "全体护盾", atktype: "攻速型",mon: "狮子"},
3302:{uuid: 3302,path: 3302,type: 3,level: 3,name: "冰封狮",atk: 6,hp: 45,atk_cd: 1,power: 50,speed: 80, 3302:{uuid: 3302,path: 3302,type: 3,level: 3,name: "冰封狮",atk: 6,hp: 45,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "冰封",info: "冰封", atktype: "攻速型",mon: "狮子"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "冰封",info: "冰封", atktype: "攻速型",mon: "狮子"},
3303:{uuid: 3303,path: 3303,type: 3,level: 3,atk: 6,hp: 45,atk_cd: 1,power: 50,speed: 80, 3303:{uuid: 3303,path: 3303,type: 3,level: 3,atk: 6,hp: 45,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "狮子"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "狮子"},
3304:{uuid: 3304,path: 3304,type: 3,level: 3,atk: 6,hp: 45,atk_cd: 1,power: 50,speed: 80, 3304:{uuid: 3304,path: 3304,type: 3,level: 3,atk: 6,hp: 45,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "狮子"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "狮子"},
4301:{uuid: 4301,path: 4301,type: 3,level: 4,name: "急速独角兽",atk: 10,hp: 66,atk_cd: 1,power: 50,speed: 80, 4301:{uuid: 4301,path: 4301,type: 3,level: 4,name: "急速独角兽",atk: 10,hp: 66,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "急速",info: "全体闪避", atktype: "攻速型",mon: "独角兽"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "急速",info: "全体闪避", atktype: "攻速型",mon: "独角兽"},
4302:{uuid: 4302,path: 4302,type: 3,level: 4,name: "潮汐独角兽",atk: 10,hp: 66,atk_cd: 1,power: 50,speed: 80, 4302:{uuid: 4302,path: 4302,type: 3,level: 4,name: "潮汐独角兽",atk: 10,hp: 66,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "潮汐",info: "潮汐", atktype: "攻速型",mon: "独角兽"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "潮汐",info: "潮汐", atktype: "攻速型",mon: "独角兽"},
4303:{uuid: 4303,path: 4303,type: 3,level: 4,atk: 10,hp: 66,atk_cd: 1,power: 50,speed: 80, 4303:{uuid: 4303,path: 4303,type: 3,level: 4,atk: 10,hp: 66,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "独角兽"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "独角兽"},
4304:{uuid: 4304,path: 4304,type: 3,level: 4,atk: 10,hp: 66,atk_cd: 1,power: 50,speed: 80, 4304:{uuid: 4304,path: 4304,type: 3,level: 4,atk: 10,hp: 66,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "独角兽"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "独角兽"},
5001:{uuid: 5001,path: 5001,type: 6,level: 5,atk: 15,hp: 180,atk_cd: 1,power: 50,speed: 80, 5001:{uuid: 5001,path: 5001,type: 6,level: 5,atk: 15,hp: 180,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "精英型",mon: "雷电犀牛"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "精英型",mon: "雷电犀牛"},
5002:{uuid: 5002,path: 5002,type: 6,level: 5,atk: 15,hp: 180,atk_cd: 1,power: 50,speed: 80, 5002:{uuid: 5002,path: 5002,type: 6,level: 5,atk: 15,hp: 180,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "精英型",mon: "闪电鼠"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "精英型",mon: "闪电鼠"},
5003:{uuid: 5003,path: 5003,type: 6,level: 5,atk: 15,hp: 180,atk_cd: 1,power: 50,speed: 80, 5003:{uuid: 5003,path: 5003,type: 6,level: 5,atk: 15,hp: 180,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "精英型",mon: "龙"}, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "精英型",mon: "龙"},
5004:{uuid: 5004,path: 5004,type: 6,level: 5,atk: 15,hp: 180,atk_cd: 1,power: 50,speed: 80, 5004:{uuid: 5004,path: 5004,type: 6,level: 5,atk: 15,hp: 180,atk_cd: 1,power: 50,speed: 50,
skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "精英型",mon: "龙" skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "精英型",mon: "龙"
} }
} }

View File

@@ -44,7 +44,7 @@ export class MapViewComp extends CCComp {
let role = ecs.getEntity<Role>(Role); let role = ecs.getEntity<Role>(Role);
let pos = v3(BoxSet.HERO_START-50,BoxSet.GAME_LINE) let pos = v3(BoxSet.HERO_START-50,BoxSet.GAME_LINE)
role.load(pos,108,"Character07") role.load(pos,108,"Character07")
smc.Role=role
} }
load_data(){ load_data(){
// let heros = oops.res.get("config/game/heros") // let heros = oops.res.get("config/game/heros")

View File

@@ -7,7 +7,7 @@ import { SkillSet } from "../common/config/SkillSet";
import { Monster } from "./Monster"; import { Monster } from "./Monster";
import { MonsterModelComp } from "./MonsterModelComp"; import { MonsterModelComp } from "./MonsterModelComp";
import { MonsterViewComp } from "./MonsterViewComp"; import { MonsterViewComp } from "./MonsterViewComp";
import { BoxSet } from "../common/config/BoxSet"; import { BoxSet, GameSet } from "../common/config/BoxSet";
import { smc } from "../common/SingletonModuleComp"; import { smc } from "../common/SingletonModuleComp";
import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops"; import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops";
import { HeroModelComp } from "./HeroModelComp"; import { HeroModelComp } from "./HeroModelComp";
@@ -87,14 +87,28 @@ export class CSkillComp extends CCComp {
} }
add_buff(){ add_buff(){
let uuid= this.skill_uuid; let uuid= this.skill_uuid;
let eid = 0 let atk:number=smc.Role.RoleView.atk
let group = BoxSet.HERO; let args:any = {
atk:atk*GameSet.ATK_TO_ATK_RATIO,
hp:atk*GameSet.ATK_TO_HP_RATIO,
shield:atk*GameSet.ATK_TO_SHIELD_RATIO,
}
let heros:any = ecs.query(ecs.allOf(HeroModelComp)); let heros:any = ecs.query(ecs.allOf(HeroModelComp));
let heros_hp:any=[]
if (heros.length > 0) { if (heros.length > 0) {
for (let i = 0; i < heros.length; i++) { if(SkillSet[uuid].type==92){
let hero = heros[i]; heros[0].MonsterBuff.add_buff(uuid,args);
hero.MonsterBuff.add_buff(uuid,eid,group);
}else{
for (let i = 0; i < heros.length; i++) {
let hero = heros[i];
if(SkillSet[uuid].type==99){
hero.MonsterBuff.add_buff(uuid,args);
}
}
} }
} }
// oops.message.dispatchEvent("add_buff",{uuid:this.skill_uuid,eid:0,group:BoxSet.HERO}) // oops.message.dispatchEvent("add_buff",{uuid:this.skill_uuid,eid:0,group:BoxSet.HERO})
} }

View File

@@ -51,7 +51,7 @@ export class MonsterBuffComp extends CCComp {
} }
add_buff(uuid:number=0,eid:number=0,group:number=0){ add_buff(uuid:number=0,args:any[]){
// console.log("add_buff",smc.skills[uuid]); // console.log("add_buff",smc.skills[uuid]);
let new_buff={ let new_buff={
@@ -63,15 +63,9 @@ export class MonsterBuffComp extends CCComp {
time:smc.skills[uuid].bsd, time:smc.skills[uuid].bsd,
bcd:smc.skills[uuid].bcd, bcd:smc.skills[uuid].bcd,
sk_uuid:smc.skills[uuid].uuid, sk_uuid:smc.skills[uuid].uuid,
args:args
} }
if(eid !=0 && group ==0 ){ this.buff_add(new_buff);
if(this.mv.ent.eid == eid){
this.buff_add(new_buff);
}
}
if(eid ==0 && group == this.group){
this.buff_add(new_buff);
}
} }
@@ -96,15 +90,16 @@ export class MonsterBuffComp extends CCComp {
if(buff.atk>0){ if(buff.atk>0){
this.node.getChildByName("avatar").setScale(1.2,1.2) this.node.getChildByName("avatar").setScale(1.2,1.2)
this.node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite).color= new Color().fromHEX("#F16F6F"); this.node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite).color= new Color().fromHEX("#F16F6F");
this.mv.atk+=(buff.atk-b.atk); this.mv.atk+=(buff.atk+buff.args.atk-b.atk);
} }
if(buff.hp>0){ if(buff.hp>0){
this.mv.hp+=(buff.hp-b.hp); this.mv.hp+=(buff.hp+buff.args.hp);
this.mv.hp_max+=(buff.hp-b.hp); this.mv.add_hp(buff.hp+buff.args.hp);
// this.mv.hp_max+=(buff.hp-b.hp);
} }
if(buff.shield>0){ if(buff.shield>0){
this.mv.shield=buff.shield; this.mv.shield=(buff.shield+buff.args.shield);
this.mv.shield_max=buff.shield; // this.mv.shield_max=(buff.shield+buff.args.shield);
} }
i=index i=index
@@ -114,17 +109,18 @@ export class MonsterBuffComp extends CCComp {
if (i==0||this.buffs.length==0) { if (i==0||this.buffs.length==0) {
this.buffs.push(buff); this.buffs.push(buff);
if(buff.atk>0){ if(buff.atk>0){
this.mv.atk+=buff.atk; this.mv.atk+=(buff.atk+buff.args.atk);
this.node.getChildByName("avatar").setScale(1.2,1.2) this.node.getChildByName("avatar").setScale(1.2,1.2)
this.node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite).color= new Color().fromHEX("#F16F6F"); this.node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite).color= new Color().fromHEX("#F16F6F");
} }
if(buff.hp>0){ if(buff.hp>0){
this.mv.hp+=buff.hp; this.mv.hp+=(buff.hp+buff.args.hp);
this.mv.hp_max+=buff.hp; this.mv.add_hp(buff.hp+buff.args.hp);
// this.mv.hp_max+=buff.hp;
} }
if(buff.shield>0){ if(buff.shield>0){
this.mv.shield=buff.shield; this.mv.shield=(buff.shield+buff.args.shield);
this.mv.shield_max=buff.shield; // this.mv.shield_max=(buff.shield+buff.args.shield);
} }
} }
@@ -132,16 +128,17 @@ export class MonsterBuffComp extends CCComp {
} }
buff_remove(index:number){ buff_remove(index:number){
if(this.buffs[index].atk>0){ if(this.buffs[index].atk>0){
this.mv.atk-=this.buffs[index].atk; this.mv.atk-=(this.buffs[index].atk+this.buffs[index].args.atk);
this.node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite).color= new Color().fromHEX("#FFFFFF"); this.node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite).color= new Color().fromHEX("#FFFFFF");
this.node.getChildByName("avatar").setScale(1,1) this.node.getChildByName("avatar").setScale(1,1)
} }
if(this.buffs[index].shield>0){ if(this.buffs[index].shield>0){
this.mv.shield_max-=this.buffs[index].shield; this.mv.shield=0
// this.mv.shield_max-=(this.buffs[index].shield+this.buffs[index].args.shield);
} }
if(this.buffs[index].hp>0){ // if(this.buffs[index].hp>0){
this.mv.hp_max-=this.buffs[index].hp; // this.mv.hp_max-=this.buffs[index].hp;
} // }
console.log("buff remove:",this.mv,this.buffs[index]); console.log("buff remove:",this.mv,this.buffs[index]);
} }
buff_update(){ buff_update(){

View File

@@ -70,7 +70,7 @@ export class MonsterViewComp extends CCComp {
stop_cd: number = 0.5; /*停止倒计时*/ stop_cd: number = 0.5; /*停止倒计时*/
shield:number = 0; //护盾量 shield:number = 0; //护盾量
shield_max:number = 0; shield_max:number = 200;
shield_time:number = 0; //护盾持续时间 shield_time:number = 0; //护盾持续时间
box_group:number = 2; box_group:number = 2;
@@ -222,13 +222,14 @@ export class MonsterViewComp extends CCComp {
} }
} }
in_shield(){ in_shield(){
if(this.shield <= 0){ let shield_progress= this.shield/this.shield_max;
this.node.getChildByName("shield").active=false this.node.getChildByName("shield").getComponent(ProgressBar)!.progress = shield_progress;
}else{ // if(this.shield <= 0){
this.node.getChildByName("shield").active=true // this.node.getChildByName("shield").active=false
let shield_progress= this.shield/this.shield_max; // }else{
this.node.getChildByName("shield").getComponent(ProgressBar)!.progress = shield_progress; // this.node.getChildByName("shield").active=true
}
// }
} }
hp_change(hp: number){ hp_change(hp: number){
if(this.is_dead){ if(this.is_dead){
@@ -253,6 +254,10 @@ export class MonsterViewComp extends CCComp {
}, 15); }, 15);
} }
} }
add_hp(hp: number=0){
console.log("hero 加血动画");
this.tooltip(2,"+"+hp.toString());
}
shield_change(hp: number){ shield_change(hp: number){
let ls=this.shield - hp; let ls=this.shield - hp;
if(ls <= 0){ if(ls <= 0){

View File

@@ -35,6 +35,7 @@ export class TooltipCom extends CCComp {
case 2: case 2:
this.node.getChildByName("add_life").getChildByName("hp").getComponent(Label).string = this.value; this.node.getChildByName("add_life").getChildByName("hp").getComponent(Label).string = this.value;
this.node.getChildByName("add_life").active=true; this.node.getChildByName("add_life").active=true;
this.node.setPosition(v3(this.node.position.x,this.node.position.y+50))
break break
case 3: case 3:
// resources.load("game/heros/skill/"+smc.skills[this.s_uuid].path, SpriteFrame, (err, spriteFrame) => { // resources.load("game/heros/skill/"+smc.skills[this.s_uuid].path, SpriteFrame, (err, spriteFrame) => {