This commit is contained in:
2024-08-11 16:50:42 +08:00
parent 37bc93aa1c
commit 6355d80a2c
70 changed files with 1696 additions and 2535 deletions

View File

@@ -29,10 +29,13 @@
"_components": [
{
"__id__": 14
},
{
"__id__": 16
}
],
"_prefab": {
"__id__": 16
"__id__": 18
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -222,8 +225,8 @@
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 18.159,
"y": 5.803,
"x": 55,
"y": 55,
"z": 0
},
"_lrot": {
@@ -268,8 +271,8 @@
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
"x": 0.5,
"y": 0.5
},
"_id": ""
},
@@ -363,6 +366,24 @@
"__type__": "cc.CompPrefabInfo",
"fileId": "10FOdA4JlCO7yvtiz10/Pn"
},
{
"__type__": "ad422rQFOdFR4cDG7TVsQ0B",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 17
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "5cziae6FNK4LiAaF6qi4ql"
},
{
"__type__": "cc.PrefabInfo",
"root": {

View File

@@ -28,17 +28,17 @@
"_active": true,
"_components": [
{
"__id__": 97
"__id__": 81
},
{
"__id__": 99
"__id__": 83
},
{
"__id__": 101
"__id__": 85
}
],
"_prefab": {
"__id__": 103
"__id__": 87
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -197,17 +197,17 @@
"_active": true,
"_components": [
{
"__id__": 90
"__id__": 74
},
{
"__id__": 92
"__id__": 76
},
{
"__id__": 94
"__id__": 78
}
],
"_prefab": {
"__id__": 96
"__id__": 80
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -251,23 +251,23 @@
"__id__": 8
},
{
"__id__": 63
"__id__": 55
},
{
"__id__": 75
"__id__": 59
},
{
"__id__": 81
"__id__": 65
}
],
"_active": true,
"_components": [
{
"__id__": 87
"__id__": 71
}
],
"_prefab": {
"__id__": 89
"__id__": 73
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -314,14 +314,14 @@
"_active": true,
"_components": [
{
"__id__": 58
"__id__": 50
},
{
"__id__": 60
"__id__": 52
}
],
"_prefab": {
"__id__": 62
"__id__": 54
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -369,25 +369,19 @@
},
{
"__id__": 31
},
{
"__id__": 41
},
{
"__id__": 47
}
],
"_active": true,
"_components": [
{
"__id__": 53
"__id__": 45
},
{
"__id__": 55
"__id__": 47
}
],
"_prefab": {
"__id__": 57
"__id__": 49
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -446,7 +440,7 @@
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": 417.574,
"y": 523.833,
"z": 0
},
"_lrot": {
@@ -706,8 +700,8 @@
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": 46.059,
"x": -16.518,
"y": 149.594,
"z": 0
},
"_lrot": {
@@ -841,15 +835,21 @@
},
{
"__id__": 38
},
{
"__id__": 40
},
{
"__id__": 42
}
],
"_prefab": {
"__id__": 40
"__id__": 44
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": -390.325,
"y": -285.585,
"z": 0
},
"_lrot": {
@@ -1016,6 +1016,74 @@
"__type__": "cc.CompPrefabInfo",
"fileId": "fexeczFgpEObyOHYY30dp9"
},
{
"__type__": "cc.BoxCollider2D",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 31
},
"_enabled": true,
"__prefab": {
"__id__": 41
},
"tag": 0,
"_group": 1,
"_density": 1,
"_sensor": false,
"_friction": 0.2,
"_restitution": 0,
"_offset": {
"__type__": "cc.Vec2",
"x": 772.6,
"y": 294
},
"_size": {
"__type__": "cc.Size",
"width": 826.9,
"height": 1473.1
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "9fhhEkjyRAg7KBWa7BQ8y2"
},
{
"__type__": "cc.BoxCollider2D",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 31
},
"_enabled": true,
"__prefab": {
"__id__": 43
},
"tag": 0,
"_group": 1,
"_density": 1,
"_sensor": false,
"_friction": 0.2,
"_restitution": 0,
"_offset": {
"__type__": "cc.Vec2",
"x": -681.5,
"y": 293.2
},
"_size": {
"__type__": "cc.Size",
"width": 659.8,
"height": 1471.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "dclJIfE5FF96M6AV1wbuKr"
},
{
"__type__": "cc.PrefabInfo",
"root": {
@@ -1030,289 +1098,17 @@
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.Node",
"_name": "hero_start",
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"node": {
"__id__": 9
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 42
},
{
"__id__": 44
}
],
"_prefab": {
"_enabled": true,
"__prefab": {
"__id__": 46
},
"_lpos": {
"__type__": "cc.Vec3",
"x": -302.335,
"y": 10.956,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 0.6,
"y": 0.6,
"z": 1
},
"_mobility": 0,
"_layer": 1,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 41
},
"_enabled": true,
"__prefab": {
"__id__": 43
},
"_contentSize": {
"__type__": "cc.Size",
"width": 213.7100067138672,
"height": 50.540000915527344
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.49997658096179276,
"y": 0.49525129072476076
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "bfDLB5FjJGoZeRJ+6ZnDRw"
},
{
"__type__": "sp.Skeleton",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 41
},
"_enabled": true,
"__prefab": {
"__id__": 45
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_skeletonData": {
"__uuid__": "790a7841-0c16-430a-aae3-54b392e8e255",
"__expectedType__": "sp.SkeletonData"
},
"defaultSkin": "default",
"defaultAnimation": "move",
"_premultipliedAlpha": true,
"_timeScale": 1,
"_preCacheMode": 0,
"_cacheMode": 0,
"_sockets": [],
"_useTint": false,
"_debugMesh": false,
"_debugBones": false,
"_debugSlots": false,
"_enableBatch": false,
"loop": true,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "23lmIVbnxOQZ/D2L0zYMqM"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "deV2rRAxJBQr4J43Ifwca1",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.Node",
"_name": "monster_start",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 9
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 48
},
{
"__id__": 50
}
],
"_prefab": {
"__id__": 52
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 299.971,
"y": 10.956,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 0.6,
"y": 0.6,
"z": 1
},
"_mobility": 0,
"_layer": 1,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 47
},
"_enabled": true,
"__prefab": {
"__id__": 49
},
"_contentSize": {
"__type__": "cc.Size",
"width": 213.7100067138672,
"height": 50.540000915527344
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.49997658096179276,
"y": 0.49525129072476076
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "a1BEvYEjVJKJXkGH1HdpGC"
},
{
"__type__": "sp.Skeleton",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 47
},
"_enabled": true,
"__prefab": {
"__id__": 51
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_skeletonData": {
"__uuid__": "790a7841-0c16-430a-aae3-54b392e8e255",
"__expectedType__": "sp.SkeletonData"
},
"defaultSkin": "default",
"defaultAnimation": "move",
"_premultipliedAlpha": true,
"_timeScale": 1,
"_preCacheMode": 0,
"_cacheMode": 0,
"_sockets": [],
"_useTint": false,
"_debugMesh": false,
"_debugBones": false,
"_debugSlots": false,
"_enableBatch": false,
"loop": true,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "a3HdE6I0NFBZJ/fpTSZMBi"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "5bWjNWeZBEUZ+bAtAkRvmm",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 9
},
"_enabled": true,
"__prefab": {
"__id__": 54
},
"_contentSize": {
"__type__": "cc.Size",
"width": 0,
@@ -1339,7 +1135,7 @@
},
"_enabled": true,
"__prefab": {
"__id__": 56
"__id__": 48
},
"_customMaterial": null,
"_srcBlendFactor": 2,
@@ -1397,7 +1193,7 @@
},
"_enabled": true,
"__prefab": {
"__id__": 59
"__id__": 51
},
"_contentSize": {
"__type__": "cc.Size",
@@ -1425,10 +1221,10 @@
},
"_enabled": true,
"__prefab": {
"__id__": 61
"__id__": 53
},
"bgImg": {
"__id__": 55
"__id__": 47
},
"_id": ""
},
@@ -1457,77 +1253,20 @@
"_parent": {
"__id__": 7
},
"_children": [
{
"__id__": 64
}
],
"_active": true,
"_components": [
{
"__id__": 72
}
],
"_prefab": {
"__id__": 74
},
"_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": 1,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.Node",
"_name": "data",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 63
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 65
},
{
"__id__": 67
},
{
"__id__": 69
"__id__": 56
}
],
"_prefab": {
"__id__": 71
"__id__": 58
},
"_lpos": {
"__type__": "cc.Vec3",
"x": -191.8,
"y": 568.433,
"x": 0,
"y": 0,
"z": 0
},
"_lrot": {
@@ -1559,142 +1298,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 64
"__id__": 55
},
"_enabled": true,
"__prefab": {
"__id__": 66
},
"_contentSize": {
"__type__": "cc.Size",
"width": 84.51171875,
"height": 50.4
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "99+7M3vtBKVKL1+HWxsqgs"
},
{
"__type__": "cc.Label",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 64
},
"_enabled": true,
"__prefab": {
"__id__": 68
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_string": "label",
"_horizontalAlign": 1,
"_verticalAlign": 1,
"_actualFontSize": 40,
"_fontSize": 40,
"_fontFamily": "Arial",
"_lineHeight": 40,
"_overflow": 0,
"_enableWrapText": true,
"_font": null,
"_isSystemFontUsed": true,
"_spacingX": 0,
"_isItalic": false,
"_isBold": false,
"_isUnderline": false,
"_underlineHeight": 2,
"_cacheMode": 0,
"_enableOutline": false,
"_outlineColor": {
"__type__": "cc.Color",
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"_outlineWidth": 2,
"_enableShadow": false,
"_shadowColor": {
"__type__": "cc.Color",
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"_shadowOffset": {
"__type__": "cc.Vec2",
"x": 2,
"y": 2
},
"_shadowBlur": 2,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "0a/R7r3dhB140c/1czByKm"
},
{
"__type__": "545c05XsG9GDJispEGWKvYv",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 64
},
"_enabled": true,
"__prefab": {
"__id__": 70
},
"templateMode": false,
"watchPath": "data.name",
"labelType": "cc.Label",
"watchPathArr": [],
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "b5tQWW68RLQ5wXfJLcSi2h"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "c506SM3uVMs4Dt+gEWBotY",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 63
},
"_enabled": true,
"__prefab": {
"__id__": 73
"__id__": 57
},
"_contentSize": {
"__type__": "cc.Size",
@@ -1737,14 +1345,14 @@
"_active": true,
"_components": [
{
"__id__": 76
"__id__": 60
},
{
"__id__": 78
"__id__": 62
}
],
"_prefab": {
"__id__": 80
"__id__": 64
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -1781,11 +1389,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 75
"__id__": 59
},
"_enabled": true,
"__prefab": {
"__id__": 77
"__id__": 61
},
"_contentSize": {
"__type__": "cc.Size",
@@ -1809,11 +1417,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 75
"__id__": 59
},
"_enabled": true,
"__prefab": {
"__id__": 79
"__id__": 63
},
"_id": ""
},
@@ -1846,14 +1454,14 @@
"_active": true,
"_components": [
{
"__id__": 82
"__id__": 66
},
{
"__id__": 84
"__id__": 68
}
],
"_prefab": {
"__id__": 86
"__id__": 70
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -1890,11 +1498,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 81
"__id__": 65
},
"_enabled": true,
"__prefab": {
"__id__": 83
"__id__": 67
},
"_contentSize": {
"__type__": "cc.Size",
@@ -1918,11 +1526,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 81
"__id__": 65
},
"_enabled": true,
"__prefab": {
"__id__": 85
"__id__": 69
},
"light": {
"__uuid__": "683fa094-5032-4f8d-a8c6-63a962c9bdd5",
@@ -1957,7 +1565,7 @@
},
"_enabled": true,
"__prefab": {
"__id__": 88
"__id__": 72
},
"_contentSize": {
"__type__": "cc.Size",
@@ -1998,7 +1606,7 @@
},
"_enabled": true,
"__prefab": {
"__id__": 91
"__id__": 75
},
"_contentSize": {
"__type__": "cc.Size",
@@ -2026,7 +1634,7 @@
},
"_enabled": true,
"__prefab": {
"__id__": 93
"__id__": 77
},
"camera": {
"__id__": 3
@@ -2035,13 +1643,13 @@
"__id__": 7
},
"mapLayer": {
"__id__": 60
"__id__": 52
},
"floorLayer": {
"__id__": 63
"__id__": 55
},
"entityLayer": {
"__id__": 78
"__id__": 62
},
"isFollowPlayer": true,
"_id": ""
@@ -2060,7 +1668,7 @@
},
"_enabled": true,
"__prefab": {
"__id__": 95
"__id__": 79
},
"_id": ""
},
@@ -2091,7 +1699,7 @@
},
"_enabled": true,
"__prefab": {
"__id__": 98
"__id__": 82
},
"_contentSize": {
"__type__": "cc.Size",
@@ -2119,7 +1727,7 @@
},
"_enabled": true,
"__prefab": {
"__id__": 100
"__id__": 84
},
"_cameraComponent": {
"__id__": 3
@@ -2141,7 +1749,7 @@
},
"_enabled": true,
"__prefab": {
"__id__": 102
"__id__": 86
},
"_alignFlags": 45,
"_target": null,

View File

@@ -2,7 +2,7 @@
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "8c0a92f5-59bf-4269-80b0-1864542c72f5",
"uuid": "03a08c3e-98fa-47c1-b8c4-83253a1134c0",
"files": [],
"subMetas": {},
"userData": {}

View File

@@ -25,10 +25,13 @@
},
{
"__id__": 4
},
{
"__id__": 6
}
],
"_prefab": {
"__id__": 6
"__id__": 8
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -73,13 +76,13 @@
},
"_contentSize": {
"__type__": "cc.Size",
"width": 33.599998474121094,
"height": 56.099998474121094
"width": 76,
"height": 76
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.4973262099356479
"y": 0.5
},
"_id": ""
},
@@ -132,6 +135,24 @@
"__type__": "cc.CompPrefabInfo",
"fileId": "38BwtUqNBFS5wrOvMgZuHn"
},
{
"__type__": "65d62Zvu6ZLmINDKmdkLsfr",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 7
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "ccrrq3MYxI361Grntyyq6O"
},
{
"__type__": "cc.PrefabInfo",
"root": {
@@ -141,6 +162,7 @@
"__id__": 0
},
"fileId": "cfqCWnxbFLNoQMedQXsav3",
"instance": null,
"targetOverrides": null
}
]

View File

@@ -1,20 +1,13 @@
skeleton.png
size: 270,76
size: 80,80
format: RGBA8888
filter: Linear,Linear
repeat: none
shock
rotate: true
xy: 191, 2
size: 72, 77
orig: 72, 83
offset: 0, 3
index: -1
shock2
rotate: true
xy: 2, 23
size: 51, 187
orig: 112, 187
offset: 31, 0
123
rotate: false
xy: 2, 2
size: 76, 76
orig: 76, 76
offset: 0, 0
index: -1

View File

@@ -2,7 +2,7 @@
"ver": "1.0.1",
"importer": "*",
"imported": true,
"uuid": "868f74aa-e494-4ff3-a215-68e6279fce6c",
"uuid": "91931c12-0fa3-4f90-bbb2-7e77bcefd516",
"files": [
".atlas",
".json"

View File

@@ -1,27 +1,26 @@
{
"skeleton": {
"hash": "Vb/ssedFfDJsjUnry/6JQl8TvS0",
"hash": "16EHKkySIjdHjHmLr6ZnyajUKu0",
"spine": "3.8.99",
"x": -4.26,
"y": -12.15,
"width": 8.52,
"height": 24.9,
"images": "D:/Game/方块英雄/skills/ATCED",
"x": -8.2,
"y": -11.4,
"width": 16.4,
"height": 22.8,
"images": "",
"audio": ""
},
"bones": [
{ "name": "root", "scaleX": 0.1585, "scaleY": 0.3 }
{ "name": "root", "scaleX": 0.2158, "scaleY": 0.3 }
],
"slots": [
{ "name": "shock", "bone": "root", "attachment": "shock" }
{ "name": "shock", "bone": "root", "attachment": "123" }
],
"skins": [
{
"name": "default",
"attachments": {
"shock": {
"shock": { "y": 1, "scaleX": 0.7465, "width": 72, "height": 83 },
"shock2": { "y": 0.5, "width": 112, "height": 187 }
"123": { "width": 76, "height": 76 }
}
}
}

View File

@@ -2,7 +2,7 @@
"ver": "1.2.6",
"importer": "spine-data",
"imported": true,
"uuid": "6a4fc12c-e408-49f9-9b85-cdffa4b7190f",
"uuid": "2309ba59-9c86-4995-a595-abc5e63a8833",
"files": [
".json"
],

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -2,7 +2,7 @@
"ver": "1.0.26",
"importer": "image",
"imported": true,
"uuid": "293ade68-2fb2-4dff-909e-4f12ca51f975",
"uuid": "fcc08bcd-bf6b-436c-985c-ff4adceba252",
"files": [
".json",
".png"
@@ -10,7 +10,7 @@
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "293ade68-2fb2-4dff-909e-4f12ca51f975@6c48a",
"uuid": "fcc08bcd-bf6b-436c-985c-ff4adceba252@6c48a",
"displayName": "skeleton",
"id": "6c48a",
"name": "texture",
@@ -22,7 +22,7 @@
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "293ade68-2fb2-4dff-909e-4f12ca51f975",
"imageUuidOrDatabaseUri": "fcc08bcd-bf6b-436c-985c-ff4adceba252",
"visible": false
},
"ver": "1.0.22",
@@ -37,6 +37,6 @@
"hasAlpha": true,
"type": "texture",
"fixAlphaTransparencyArtifacts": false,
"redirect": "293ade68-2fb2-4dff-909e-4f12ca51f975@6c48a"
"redirect": "fcc08bcd-bf6b-436c-985c-ff4adceba252@6c48a"
}
}

View File

@@ -1,9 +0,0 @@
{
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "03a08c3e-98fa-47c1-b8c4-83253a1134c0",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -1,27 +0,0 @@
skeleton.png
size: 191,129
format: RGBA8888
filter: Linear,Linear
repeat: none
shock
rotate: true
xy: 2, 2
size: 72, 77
orig: 72, 83
offset: 0, 3
index: -1
shock2
rotate: true
xy: 2, 76
size: 51, 187
orig: 112, 187
offset: 31, 0
index: -1
shock3
rotate: false
xy: 81, 2
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1

View File

@@ -1,12 +0,0 @@
{
"ver": "1.0.1",
"importer": "*",
"imported": true,
"uuid": "91931c12-0fa3-4f90-bbb2-7e77bcefd516",
"files": [
".atlas",
".json"
],
"subMetas": {},
"userData": {}
}

View File

@@ -1,42 +0,0 @@
{
"skeleton": {
"hash": "bV8kosUDGMav7+mfda32D8b+h00",
"spine": "3.8.99",
"x": -7.77,
"y": -10.8,
"width": 15.53,
"height": 21.6,
"images": "D:/Game/方块英雄/skills/ATCED",
"audio": ""
},
"bones": [
{ "name": "root", "scaleX": 0.2158, "scaleY": 0.3 }
],
"slots": [
{ "name": "shock", "bone": "root", "attachment": "shock3" }
],
"skins": [
{
"name": "default",
"attachments": {
"shock": {
"shock": { "y": 1, "scaleX": 0.7465, "width": 72, "height": 83 },
"shock2": { "y": 0.5, "width": 112, "height": 187 },
"shock3": { "width": 72, "height": 72 }
}
}
}
],
"animations": {
"animation": {
"bones": {
"root": {
"scale": [
{ "x": 0.333, "y": 0.333 },
{ "time": 0.3333, "x": 3.333, "y": 3.333 }
]
}
}
}
}
}

View File

@@ -1,11 +0,0 @@
{
"ver": "1.2.6",
"importer": "spine-data",
"imported": true,
"uuid": "2309ba59-9c86-4995-a595-abc5e63a8833",
"files": [
".json"
],
"subMetas": {},
"userData": {}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

View File

@@ -1,42 +0,0 @@
{
"ver": "1.0.26",
"importer": "image",
"imported": true,
"uuid": "fcc08bcd-bf6b-436c-985c-ff4adceba252",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "fcc08bcd-bf6b-436c-985c-ff4adceba252@6c48a",
"displayName": "skeleton",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "repeat",
"wrapModeT": "repeat",
"minfilter": "linear",
"magfilter": "linear",
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "fcc08bcd-bf6b-436c-985c-ff4adceba252",
"visible": false
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"hasAlpha": true,
"type": "texture",
"fixAlphaTransparencyArtifacts": false,
"redirect": "fcc08bcd-bf6b-436c-985c-ff4adceba252@6c48a"
}
}

View File

@@ -92,16 +92,16 @@
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 32,
"y": 0,
"x": 0,
"y": -15,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0.7071067811865475,
"w": 0.7071067811865476
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
@@ -115,7 +115,7 @@
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 90
"z": 0
},
"_id": ""
},
@@ -133,8 +133,8 @@
},
"_contentSize": {
"__type__": "cc.Size",
"width": 32,
"height": 32
"width": 64,
"height": 64
},
"_anchorPoint": {
"__type__": "cc.Vec2",
@@ -170,7 +170,7 @@
"a": 255
},
"_spriteFrame": {
"__uuid__": "273b7fca-6127-4f97-a9f3-9db27cca0220@4ca53",
"__uuid__": "fb27f6e8-632c-4c87-ae46-af1859a05b15@f9941",
"__expectedType__": "cc.SpriteFrame"
},
"_type": 0,

View File

@@ -1,71 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>frames</key>
<dict>
<key>1.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{124,72}</string>
<key>spriteSourceSize</key>
<string>{124,72}</string>
<key>textureRect</key>
<string>{{319,1},{124,72}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>2.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{148,73}</string>
<key>spriteSourceSize</key>
<string>{148,73}</string>
<key>textureRect</key>
<string>{{169,1},{148,73}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>heroic-5.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{85,166}</string>
<key>spriteSourceSize</key>
<string>{85,166}</string>
<key>textureRect</key>
<string>{{1,1},{85,166}}</string>
<key>textureRotated</key>
<true/>
</dict>
</dict>
<key>metadata</key>
<dict>
<key>format</key>
<integer>3</integer>
<key>pixelFormat</key>
<string>RGBA8888</string>
<key>premultiplyAlpha</key>
<false/>
<key>realTextureFileName</key>
<string>base_skill.png</string>
<key>size</key>
<string>{444,87}</string>
<key>smartupdate</key>
<string>$TexturePacker:SmartUpdate:7b8e635bb7872aa3f50a6f724a2d5dee:c7d01d3ba6995aa7586e4efbae24d79c:a7df538edd03f24f47645c95a85bbb00$</string>
<key>textureFileName</key>
<string>base_skill.png</string>
</dict>
</dict>
</plist>

View File

@@ -1,155 +0,0 @@
{
"ver": "1.0.8",
"importer": "sprite-atlas",
"imported": true,
"uuid": "273b7fca-6127-4f97-a9f3-9db27cca0220",
"files": [
".json"
],
"subMetas": {
"c30fb": {
"importer": "sprite-frame",
"uuid": "273b7fca-6127-4f97-a9f3-9db27cca0220@c30fb",
"displayName": "",
"id": "c30fb",
"name": "1",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 319,
"trimY": 1,
"width": 124,
"height": 72,
"rawWidth": 124,
"rawHeight": 72,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [],
"indexes": [],
"uv": [],
"nuv": [],
"minPos": [],
"maxPos": []
},
"isUuid": true,
"imageUuidOrDatabaseUri": "703b2e7c-a885-4c4d-bcfc-67b558e7ab62@6c48a",
"atlasUuid": "273b7fca-6127-4f97-a9f3-9db27cca0220"
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"c86cc": {
"importer": "sprite-frame",
"uuid": "273b7fca-6127-4f97-a9f3-9db27cca0220@c86cc",
"displayName": "",
"id": "c86cc",
"name": "2",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 169,
"trimY": 1,
"width": 148,
"height": 73,
"rawWidth": 148,
"rawHeight": 73,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [],
"indexes": [],
"uv": [],
"nuv": [],
"minPos": [],
"maxPos": []
},
"isUuid": true,
"imageUuidOrDatabaseUri": "703b2e7c-a885-4c4d-bcfc-67b558e7ab62@6c48a",
"atlasUuid": "273b7fca-6127-4f97-a9f3-9db27cca0220"
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"4ca53": {
"importer": "sprite-frame",
"uuid": "273b7fca-6127-4f97-a9f3-9db27cca0220@4ca53",
"displayName": "",
"id": "4ca53",
"name": "heroic-5",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": true,
"offsetX": 0,
"offsetY": 0,
"trimX": 1,
"trimY": 1,
"width": 85,
"height": 166,
"rawWidth": 85,
"rawHeight": 166,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [],
"indexes": [],
"uv": [],
"nuv": [],
"minPos": [],
"maxPos": []
},
"isUuid": true,
"imageUuidOrDatabaseUri": "703b2e7c-a885-4c4d-bcfc-67b558e7ab62@6c48a",
"atlasUuid": "273b7fca-6127-4f97-a9f3-9db27cca0220"
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"atlasTextureName": "base_skill.png",
"format": 3,
"uuid": "273b7fca-6127-4f97-a9f3-9db27cca0220",
"textureUuid": "703b2e7c-a885-4c4d-bcfc-67b558e7ab62@6c48a"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -1,42 +0,0 @@
{
"ver": "1.0.26",
"importer": "image",
"imported": true,
"uuid": "703b2e7c-a885-4c4d-bcfc-67b558e7ab62",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "703b2e7c-a885-4c4d-bcfc-67b558e7ab62@6c48a",
"displayName": "base_skill",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "repeat",
"wrapModeT": "repeat",
"minfilter": "linear",
"magfilter": "linear",
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "703b2e7c-a885-4c4d-bcfc-67b558e7ab62",
"visible": false
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"hasAlpha": true,
"type": "texture",
"fixAlphaTransparencyArtifacts": false,
"redirect": "703b2e7c-a885-4c4d-bcfc-67b558e7ab62@6c48a"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -2,7 +2,7 @@
"ver": "1.0.26",
"importer": "image",
"imported": true,
"uuid": "9ba0f793-16d0-4bc2-8a7f-a76272fd11f9",
"uuid": "fb27f6e8-632c-4c87-ae46-af1859a05b15",
"files": [
".json",
".png"
@@ -10,8 +10,8 @@
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "9ba0f793-16d0-4bc2-8a7f-a76272fd11f9@6c48a",
"displayName": "health_bar-04",
"uuid": "fb27f6e8-632c-4c87-ae46-af1859a05b15@6c48a",
"displayName": "breathspark02",
"id": "6c48a",
"name": "texture",
"userData": {
@@ -22,7 +22,7 @@
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "9ba0f793-16d0-4bc2-8a7f-a76272fd11f9",
"imageUuidOrDatabaseUri": "fb27f6e8-632c-4c87-ae46-af1859a05b15",
"visible": false
},
"ver": "1.0.22",
@@ -34,22 +34,22 @@
},
"f9941": {
"importer": "sprite-frame",
"uuid": "9ba0f793-16d0-4bc2-8a7f-a76272fd11f9@f9941",
"displayName": "health_bar-04",
"uuid": "fb27f6e8-632c-4c87-ae46-af1859a05b15@f9941",
"displayName": "breathspark02",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetX": -1,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 708,
"height": 80,
"rawWidth": 708,
"rawHeight": 80,
"width": 70,
"height": 96,
"rawWidth": 72,
"rawHeight": 96,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
@@ -61,17 +61,17 @@
"meshType": 0,
"vertices": {
"rawPosition": [
-354,
-40,
-35,
-48,
0,
354,
-40,
35,
-48,
0,
-354,
40,
-35,
48,
0,
354,
40,
35,
48,
0
],
"indexes": [
@@ -84,37 +84,37 @@
],
"uv": [
0,
80,
708,
80,
96,
70,
96,
0,
0,
708,
70,
0
],
"nuv": [
0,
0,
1,
0.9722222222222222,
0,
0,
1,
1,
0.9722222222222222,
1
],
"minPos": [
-354,
-40,
-35,
-48,
0
],
"maxPos": [
354,
40,
35,
48,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "9ba0f793-16d0-4bc2-8a7f-a76272fd11f9@6c48a",
"imageUuidOrDatabaseUri": "fb27f6e8-632c-4c87-ae46-af1859a05b15@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
@@ -129,6 +129,6 @@
"hasAlpha": true,
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": false,
"redirect": "9ba0f793-16d0-4bc2-8a7f-a76272fd11f9@f9941"
"redirect": "fb27f6e8-632c-4c87-ae46-af1859a05b15@f9941"
}
}

View File

@@ -0,0 +1,136 @@
[
{
"__type__": "cc.AnimationClip",
"_name": "dead",
"_objFlags": 0,
"__editorExtras__": {
"embeddedPlayerGroups": []
},
"_native": "",
"sample": 60,
"speed": 1,
"wrapMode": 1,
"enableTrsBlending": false,
"_duration": 0.16666666666666666,
"_hash": 500763545,
"_tracks": [
{
"__id__": 1
}
],
"_exoticAnimation": null,
"_events": [
{
"frame": 0,
"func": "",
"params": []
}
],
"_embeddedPlayers": [],
"_additiveSettings": {
"__id__": 7
},
"_auxiliaryCurveEntries": []
},
{
"__type__": "cc.animation.ObjectTrack",
"_binding": {
"__type__": "cc.animation.TrackBinding",
"path": {
"__id__": 2
},
"proxy": null
},
"_channel": {
"__id__": 5
}
},
{
"__type__": "cc.animation.TrackPath",
"_paths": [
{
"__id__": 3
},
{
"__id__": 4
},
"spriteFrame"
]
},
{
"__type__": "cc.animation.HierarchyPath",
"path": "anm"
},
{
"__type__": "cc.animation.ComponentPath",
"component": "cc.Sprite"
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 6
}
},
{
"__type__": "cc.ObjectCurve",
"_times": [
0,
0.016666666666666666,
0.03333333333333333,
0.05,
0.06666666666666667,
0.08333333333333333,
0.1,
0.11666666666666667,
0.13333333333333333,
0.15
],
"_values": [
{
"__uuid__": "a74f2427-b54c-4887-b596-9cd5a037ae61@b83ed",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "a74f2427-b54c-4887-b596-9cd5a037ae61@d6530",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "a74f2427-b54c-4887-b596-9cd5a037ae61@b8fbb",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "a74f2427-b54c-4887-b596-9cd5a037ae61@768f7",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "a74f2427-b54c-4887-b596-9cd5a037ae61@371c9",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "a74f2427-b54c-4887-b596-9cd5a037ae61@4d127",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "a74f2427-b54c-4887-b596-9cd5a037ae61@58d19",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "a74f2427-b54c-4887-b596-9cd5a037ae61@ea1f4",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "a74f2427-b54c-4887-b596-9cd5a037ae61@b79ea",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "a74f2427-b54c-4887-b596-9cd5a037ae61@9c6e4",
"__expectedType__": "cc.SpriteFrame"
}
]
},
{
"__type__": "cc.AnimationClipAdditiveSettings",
"enabled": false,
"refClip": null
}
]

View File

@@ -0,0 +1,13 @@
{
"ver": "2.0.3",
"importer": "animation-clip",
"imported": true,
"uuid": "e8c8e45b-6b0f-41bf-8eaf-cd65a80c41de",
"files": [
".cconb"
],
"subMetas": {},
"userData": {
"name": "dead"
}
}

View File

@@ -0,0 +1,292 @@
[
{
"__type__": "cc.Prefab",
"_name": "dead",
"_objFlags": 0,
"__editorExtras__": {},
"_native": "",
"data": {
"__id__": 1
},
"optimizationPolicy": 0,
"persistent": false
},
{
"__type__": "cc.Node",
"_name": "dead",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": null,
"_children": [
{
"__id__": 2
}
],
"_active": true,
"_components": [
{
"__id__": 8
},
{
"__id__": 10
},
{
"__id__": 12
}
],
"_prefab": {
"__id__": 14
},
"_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": 1073741824,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.Node",
"_name": "anm",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 3
},
{
"__id__": 5
}
],
"_prefab": {
"__id__": 7
},
"_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": 1073741824,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 2
},
"_enabled": true,
"__prefab": {
"__id__": 4
},
"_contentSize": {
"__type__": "cc.Size",
"width": 39,
"height": 37
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "01FBqz+axCIrE15UAPUnpi"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 2
},
"_enabled": true,
"__prefab": {
"__id__": 6
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_spriteFrame": {
"__uuid__": "a74f2427-b54c-4887-b596-9cd5a037ae61@b83ed",
"__expectedType__": "cc.SpriteFrame"
},
"_type": 0,
"_fillType": 0,
"_sizeMode": 1,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_useGrayscale": false,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "2fm5zC8NdOi5k7F7m5FDEJ"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "5cpwV2QJ1JDbXGWZJjQCMP",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 9
},
"_contentSize": {
"__type__": "cc.Size",
"width": 100,
"height": 100
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "01IMZEgkxMCK03nb5+tcKV"
},
{
"__type__": "cc.Animation",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 11
},
"playOnLoad": true,
"_clips": [
{
"__uuid__": "e8c8e45b-6b0f-41bf-8eaf-cd65a80c41de",
"__expectedType__": "cc.AnimationClip"
}
],
"_defaultClip": {
"__uuid__": "e8c8e45b-6b0f-41bf-8eaf-cd65a80c41de",
"__expectedType__": "cc.AnimationClip"
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "b2BH5nPpFP4qEBIvMCAFQ4"
},
{
"__type__": "0f3c4JhFbFO2rEFqBJJ7hFv",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 13
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "530lfiZgZALLgaK9LZE76I"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
"instance": null,
"targetOverrides": null
}
]

View File

@@ -0,0 +1,13 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "13d57b84-2fa0-4d5e-9896-ed2930c0590e",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "dead"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -1,134 +0,0 @@
{
"ver": "1.0.26",
"importer": "image",
"imported": true,
"uuid": "5425790a-354d-463c-b2f1-b5b0bf6a1373",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "5425790a-354d-463c-b2f1-b5b0bf6a1373@6c48a",
"displayName": "health_bar-02",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"minfilter": "linear",
"magfilter": "linear",
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "5425790a-354d-463c-b2f1-b5b0bf6a1373",
"visible": false
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "5425790a-354d-463c-b2f1-b5b0bf6a1373@f9941",
"displayName": "health_bar-02",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -7.5,
"offsetY": -10,
"trimX": 98,
"trimY": 119,
"width": 710,
"height": 81,
"rawWidth": 921,
"rawHeight": 299,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-355,
-40.5,
0,
355,
-40.5,
0,
-355,
40.5,
0,
355,
40.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
98,
180,
808,
180,
98,
99,
808,
99
],
"nuv": [
0.10640608034744843,
0.3311036789297659,
0.8773072747014115,
0.3311036789297659,
0.10640608034744843,
0.6020066889632107,
0.8773072747014115,
0.6020066889632107
],
"minPos": [
-355,
-40.5,
0
],
"maxPos": [
355,
40.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "5425790a-354d-463c-b2f1-b5b0bf6a1373@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"hasAlpha": true,
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": false,
"redirect": "5425790a-354d-463c-b2f1-b5b0bf6a1373@f9941"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 KiB

View File

@@ -1,134 +0,0 @@
{
"ver": "1.0.26",
"importer": "image",
"imported": true,
"uuid": "ba1ed396-e109-4d80-ac9d-bd368a320906",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "ba1ed396-e109-4d80-ac9d-bd368a320906@6c48a",
"displayName": "health_bar-05",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"minfilter": "linear",
"magfilter": "linear",
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "ba1ed396-e109-4d80-ac9d-bd368a320906",
"visible": false
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "ba1ed396-e109-4d80-ac9d-bd368a320906@f9941",
"displayName": "health_bar-05",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 709,
"height": 80,
"rawWidth": 709,
"rawHeight": 80,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-354.5,
-40,
0,
354.5,
-40,
0,
-354.5,
40,
0,
354.5,
40,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
80,
709,
80,
0,
0,
709,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-354.5,
-40,
0
],
"maxPos": [
354.5,
40,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "ba1ed396-e109-4d80-ac9d-bd368a320906@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"hasAlpha": true,
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": false,
"redirect": "ba1ed396-e109-4d80-ac9d-bd368a320906@f9941"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 KiB

View File

@@ -1,134 +0,0 @@
{
"ver": "1.0.26",
"importer": "image",
"imported": true,
"uuid": "06a46e7a-243b-4c2f-bd2d-d7e11a433c2c",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "06a46e7a-243b-4c2f-bd2d-d7e11a433c2c@6c48a",
"displayName": "health_bar-06",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"minfilter": "linear",
"magfilter": "linear",
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "06a46e7a-243b-4c2f-bd2d-d7e11a433c2c",
"visible": false
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "06a46e7a-243b-4c2f-bd2d-d7e11a433c2c@f9941",
"displayName": "health_bar-06",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -0.5,
"offsetY": 0.5,
"trimX": 7,
"trimY": 6,
"width": 694,
"height": 67,
"rawWidth": 709,
"rawHeight": 80,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-347,
-33.5,
0,
347,
-33.5,
0,
-347,
33.5,
0,
347,
33.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
7,
74,
701,
74,
7,
7,
701,
7
],
"nuv": [
0.009873060648801129,
0.0875,
0.9887165021156559,
0.0875,
0.009873060648801129,
0.925,
0.9887165021156559,
0.925
],
"minPos": [
-347,
-33.5,
0
],
"maxPos": [
347,
33.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "06a46e7a-243b-4c2f-bd2d-d7e11a433c2c@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"hasAlpha": true,
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": false,
"redirect": "06a46e7a-243b-4c2f-bd2d-d7e11a433c2c@f9941"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 KiB

View File

@@ -1,134 +0,0 @@
{
"ver": "1.0.26",
"importer": "image",
"imported": true,
"uuid": "6914c629-5103-4b3d-b0a7-64e27b3be1f6",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "6914c629-5103-4b3d-b0a7-64e27b3be1f6@6c48a",
"displayName": "health_bar-07",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"minfilter": "linear",
"magfilter": "linear",
"mipfilter": "none",
"anisotropy": 0,
"isUuid": true,
"imageUuidOrDatabaseUri": "6914c629-5103-4b3d-b0a7-64e27b3be1f6",
"visible": false
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "6914c629-5103-4b3d-b0a7-64e27b3be1f6@f9941",
"displayName": "health_bar-07",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -1.5,
"offsetY": 0.5,
"trimX": 6,
"trimY": 6,
"width": 694,
"height": 67,
"rawWidth": 709,
"rawHeight": 80,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-347,
-33.5,
0,
347,
-33.5,
0,
-347,
33.5,
0,
347,
33.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
6,
74,
700,
74,
6,
7,
700,
7
],
"nuv": [
0.00846262341325811,
0.0875,
0.9873060648801129,
0.0875,
0.00846262341325811,
0.925,
0.9873060648801129,
0.925
],
"minPos": [
-347,
-33.5,
0
],
"maxPos": [
347,
33.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "6914c629-5103-4b3d-b0a7-64e27b3be1f6@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"hasAlpha": true,
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": false,
"redirect": "6914c629-5103-4b3d-b0a7-64e27b3be1f6@f9941"
}
}

View File

@@ -124,7 +124,7 @@
"_lpos": {
"__type__": "cc.Vec3",
"x": -355,
"y": -190,
"y": -25,
"z": 0
},
"_lrot": {
@@ -1065,7 +1065,7 @@
"_left": 5,
"_right": 0,
"_top": 774.7149999999999,
"_bottom": 450,
"_bottom": 615,
"_horizontalCenter": 0,
"_verticalCenter": 0,
"_isAbsLeft": true,
@@ -1140,7 +1140,7 @@
"_lpos": {
"__type__": "cc.Vec3",
"x": -120,
"y": -190,
"y": -25,
"z": 0
},
"_lrot": {
@@ -2448,7 +2448,7 @@
"_left": 240,
"_right": 0,
"_top": 779.934,
"_bottom": 450,
"_bottom": 615,
"_horizontalCenter": 0,
"_verticalCenter": 0,
"_isAbsLeft": true,
@@ -2517,7 +2517,7 @@
"_lpos": {
"__type__": "cc.Vec3",
"x": 115,
"y": -190,
"y": -25,
"z": 0
},
"_lrot": {
@@ -3458,7 +3458,7 @@
"_left": 475,
"_right": 68.59100000000001,
"_top": 0,
"_bottom": 450,
"_bottom": 615,
"_horizontalCenter": 0,
"_verticalCenter": 0,
"_isAbsLeft": true,

View File

@@ -25,18 +25,17 @@ export class Main extends Root {
protected async run() {
smc.initialize = ecs.getEntity<Initialize>(Initialize);
smc.monsters = [
{prefab_path:'lang',name:'迅狼',speed:40},
// {prefab_path:'hero',name:'火猴',speed:40},
// {prefab_path:'lang',name:'m3',speed:40},
// {prefab_path:'lang',name:'m4',speed:40},
// {prefab_path:'lang',name:'m3',speed:40},
// {prefab_path:'lang',name:'m4',speed:40},
{prefab_path:'lang',name:'迅狼',speed:100},
{prefab_path:'hero',name:'火猴',speed:45},
{prefab_path:'lang',name:'m3',speed:40},
{prefab_path:'lang',name:'m4',speed:40},
{prefab_path:'lang',name:'m3',speed:40},
{prefab_path:'lang',name:'m4',speed:40},
]
smc.heros = [
// {prefab_path:'lang',name:'迅狼',speed:110},
{prefab_path:'liubang',name:'刘邦',speed:40},
// {prefab_path:'mulan',name:'花木兰',speed:40},
// {prefab_path:'yinzheng',name:'嬴政',speed:40},
{prefab_path:'lang',name:'迅狼',speed:110},
{prefab_path:'liubang',name:'刘邦',speed:110},
{prefab_path:'yinzheng',name:'嬴政',speed:110},
]
console.log("Game start");
smc.vmAdd()

View File

@@ -19,8 +19,8 @@ export enum BoxSet {
//地图边界
LETF_END = -400,
RIGHT_END = 400,
HERO_START = -309,
MONSTER_START = 309,
HERO_START = -500,
MONSTER_START = 500,
//游戏地平线
GAME_LINE = 30,
}

View File

@@ -0,0 +1,20 @@
/*
* @Author: dgflash
* @Date: 2021-11-23 15:28:39
* @LastEditors: dgflash
* @LastEditTime: 2022-01-26 16:42:00
*/
export const CardSet = {
1001:{
uuid:1001,
name:'嬴政',
level:1,
prefab_path:'yinzheng',
hp:100,
power:100,
speed:100,
skill:{ }
},
}

View File

@@ -2,7 +2,7 @@
"ver": "4.0.23",
"importer": "typescript",
"imported": true,
"uuid": "977105e0-d01b-402a-b649-080e33733218",
"uuid": "ffda71d7-624d-40de-8c09-712edd44bfdc",
"files": [],
"subMetas": {},
"userData": {}

View File

@@ -7,7 +7,6 @@
import { Color, Component, EventTouch, sp, Vec3, _decorator } from "cc";
import { LayerUtil } from "../../../../extensions/oops-plugin-framework/assets/core/utils/LayerUtil";
import { smc } from "../../../script/game/common/SingletonModuleComp";
// import Charactor, { CharactorDirection, CharactorState } from "../../map/view/map/charactor/Charactor";
import HeroSpineAnimator from "./HeroSpineAnimator";
const { ccclass, property } = _decorator;
@@ -21,15 +20,11 @@ export class HeroSpine extends Component {
animator: HeroSpineAnimator = null!;
private spine!: sp.Skeleton;
// private charactor!: Charactor;
onLoad() {
// 角色控制组件
// this.charactor = this.addComponent(Charactor)!;
this.initAnimator();
// this.setSkin("magic");
// this.animator.play("idle", true);
LayerUtil.setNodeLayer(LayerUtil.MAP, this.node);
}
@@ -38,21 +33,6 @@ export class HeroSpine extends Component {
this.spine = this.animator.getComponent(sp.Skeleton)!;
}
// setState(value: CharactorState): void {
// switch (value) {
// case CharactorState.Idle:
// this.idle();
// break;
// case CharactorState.Run:
// this.walk();
// break;
// }
// }
setSkin(value: string): void {
console.log("HeroSpine setSkin", value);
this.spine.setSkin(value);

View File

@@ -1,9 +1,10 @@
import { _decorator } from "cc";
import { _decorator,v3 } 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 { smc } from "../common/SingletonModuleComp";
import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops";
import { HeroCard } from "../monster/HeroCard";
import { HeroCardViewComp } from "../monster/HeroCardViewComp";
const { ccclass, property } = _decorator;
/** 视图层对象 */
@@ -12,6 +13,7 @@ const { ccclass, property } = _decorator;
export class ControllerComp extends CCComp {
/** 视图层逻辑代码分离演示 */
start() {
this.load_cards()
// var entity = this.ent as ecs.Entity; // ecs.Entity 可转为当前模块的具体实体对象
// this.on(ModuleEvent.Cmd, this.onHandler, this);
}
@@ -27,11 +29,30 @@ export class ControllerComp extends CCComp {
smc.vm_data.shuaxin.min += smc.vm_data.shuaxin.speed*dt;
if (smc.vm_data.shuaxin.min >= smc.vm_data.shuaxin.max) {
smc.vm_data.shuaxin.min = 0;
oops.message.dispatchEvent("do_add_hero",this)
// oops.message.dispatchEvent("do_add_hero",this)
this.load_cards()
}
}
load_cards() {
let old_cards = ecs.query(ecs.allOf(HeroCardViewComp))
if (old_cards.length > 0) {
old_cards.forEach(element => {
element.destroy();
});
}
// console.log(old_cards)
let cards_node= this.node.getChildByName("cards")
let x=0
let y=0
for (let i = 0; i < 5; i++) {
let card = ecs.getEntity<HeroCard>(HeroCard);
let pos = v3(x,y)
card.load(pos,1001,cards_node);
x=x+120
}
}
/** 转场 */
protected update(dt: number): void {
protected update(dt: number): void {
this.shuaxin(dt)
}

View File

@@ -10,6 +10,7 @@ import { Monster } from "../../monster/Monster";
import { MapViewScene } from "./MapViewScene";
import { Timer } from "../../../../../extensions/oops-plugin-framework/assets/core/common/timer/Timer";
import { oops } from "../../../../../extensions/oops-plugin-framework/assets/core/Oops";
import { CardSet } from "../../common/config/CardSet";
const { ccclass, property } = _decorator;
@ccclass('MapViewComp')
@@ -34,7 +35,8 @@ export class MapViewComp extends CCComp {
this.addMonster()
}
private on_do_add_hero(event: string, args: any) {
this.addHero()
console.log("do_add_hero",args.HeroCardView)
this.addHero(args.HeroCardView.card_uid)
this.addMonster()
}
@@ -74,18 +76,15 @@ export class MapViewComp extends CCComp {
}
}
/** 添加玩家 */
private addHero() {
private addHero(uuid:number=1001) {
this.scene.node.active = true
if(smc.heros.length>0) {
let hero = ecs.getEntity<Hero>(Hero);
let pos = v3(BoxSet.HERO_START,BoxSet.GAME_LINE)
let speed =smc.heros[0].speed
let camp = 1
let prefab_path = smc.heros[0].prefab_path
let name = smc.heros[0].name
hero.load(pos,speed,camp,prefab_path,name);
smc.heros.splice(0,1)
}
let hero = ecs.getEntity<Hero>(Hero);
let pos = v3(BoxSet.HERO_START,BoxSet.GAME_LINE)
let speed =CardSet[uuid].speed
let camp = 1
let prefab_path = CardSet[uuid].prefab_path
let name = CardSet[uuid].name
hero.load(pos,speed,camp,prefab_path,name);
}
private addMonster() {
this.scene.node.active = true

View File

@@ -1,12 +0,0 @@
{
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "f58752f0-7320-4a2f-b7a3-d4d59e42c1f6",
"files": [],
"subMetas": {},
"userData": {
"compressionType": {},
"isRemoteBundle": {}
}
}

View File

@@ -1,146 +0,0 @@
import { Component, game, Vec3, _decorator } from 'cc';
import { MapViewScene } from '../../MapViewScene';
import RoadNode from '../road/RoadNode';
import { RoadType } from '../road/RoadType';
import { ICharactorClip } from './ICharactorClip';
const { ccclass, property } = _decorator;
export enum CharactorState {
Idle = 0,
Run = 1
}
export enum CharactorDirection {
none = -1,
bottom = 0,
left_bottom = 1,
left = 2,
left_up = 3,
up = 4,
right_up = 5,
right = 6,
right_bottom = 7
}
/**
* 场景角色
*/
@ccclass('Charactor')
export default class Charactor extends Component {
/** 优化后的路点移动 */
static WalkRoadNode: string = "WalkRoadNode";
/** 移动到新的一个格子路点 */
static NextRoadNode: string = "NextRoadNode";
private _direction: CharactorDirection = CharactorDirection.bottom;
public get direction(): CharactorDirection {
return this._direction;
}
public set direction(value: CharactorDirection) {
this._direction = value;
// this.clip.setDirection(value);
}
private _state: CharactorState = 0;
public get state(): CharactorState {
return this._state;
}
public set state(value: CharactorState) {
this._state = value;
// this.clip.setState(value);
}
private _alpha: number = 1;
public get alpha(): number {
return this._alpha;
}
public set alpha(value: number) {
this._alpha = value;
// this.clip.setAlpha(value);
}
private _zIndex: number = 0;
/** 深度排序 */
public get zIndex(): number {
return this._zIndex;
}
private _pos!: Vec3;
/** 玩家地图上的位置 */
public get pos(): Vec3 {
return this._pos;
}
public set pos(value: Vec3) {
this._pos = value;
// this.clip.setPos(value);
}
public sceneMap: MapViewScene = null!;
public clip!: ICharactorClip;
public moving: boolean = false;
public joystic: boolean = false;
public joystic_dir: Vec3 = new Vec3();
public moveSpeed: number = 200;
/**
* 玩家当前所站在的地图节点
*/
private _currentNode!: RoadNode;
private _moveAngle: number = 0;
private _roadNodeArr: RoadNode[] = [];
private _nodeIndex: number = 0;
start() {
this.direction = CharactorDirection.bottom;
this.state = CharactorState.Idle;
}
update(dt: number) {
}
joystick(dir: Vec3) {
if (this.moving) {
this.moving = false;
this._roadNodeArr.splice(0, this._roadNodeArr.length);
}
if (dir.strictEquals(Vec3.ZERO)) {
this.joystic = false;
this.state = CharactorState.Idle;
}
else {
this.joystic = true;
this.state = CharactorState.Run;
}
this.joystic_dir.set(dir);
}
public updateZIndex() {
this._zIndex = this.sceneMap.mapLayer!.height - this._pos.y;
}
private walk() {
if (this._nodeIndex < this._roadNodeArr.length - 1) {
this._nodeIndex++;
// 移动一个路点事件
this.node.emit(Charactor.WalkRoadNode, this._roadNodeArr[this._nodeIndex]);
}
}
public move() {
this.joystic = false;
this.moving = true;
this.state = CharactorState.Run;
}
public stop() {
this.moving = false;
this.state = CharactorState.Idle;
}
}

View File

@@ -1,10 +0,0 @@
import { EventTouch, Vec3 } from "cc";
import { CharactorDirection, CharactorState } from "./Charactor";
export interface ICharactorClip {
setDirection(value: CharactorDirection): void;
setState(value: CharactorState): void;
setAlpha(value: number): void;
setPos(value: Vec3): void;
checkTouch(event: EventTouch): boolean;
}

View File

@@ -1,230 +0,0 @@
import { CCBoolean, CCFloat, CCInteger, Component, Rect, Size, Sprite, SpriteFrame, Texture2D, UITransform, Vec2, _decorator } from 'cc';
const { ccclass, property } = _decorator;
/**
* 动画播放器
* @author 落日故人 QQ 583051842
*
*/
@ccclass('MovieClip')
export default class MovieClip extends Component {
/** Sprite渲染器 */
protected m_sprite: Sprite | null = null;;
/** 动画计时间隔 每隔0.1s更新一帧 */
protected timer: number = 0.1;
/** 播放 时间 间隔 */
@property({ type: CCFloat })
public interval: number = 0.1;
/** 贴图文件名 */
@property({ type: Texture2D })
public texture: Texture2D | null = null;
/** 播放次数 */
@property({ type: CCInteger })
public playTimes: number = 0;
@property({ type: CCInteger })
public row: number = 4;
/** 图片切割成几列 */
@property({ type: CCInteger })
public col: number = 4;
@property({ type: CCInteger })
public rowIndex: number = 0;
@property(CCBoolean)
public isAll: boolean = false;
@property(CCBoolean)
public autoPlayOnLoad: boolean = true;
/** 播放完自动销毁 */
@property(CCBoolean)
public autoDestroy: boolean = false;
@property(CCFloat)
public begin: number = 0;
@property(CCFloat)
public end: number = 0;
/** 动画帧数 */
public totalFrame: number = 8;
/** 当前帧数 */
public currentFrame: number = 0;
/** 当前播放了第几次 */
private currentTimes: number = 0;
/** 影片是否在跑动中 */
public running: boolean = true;
//private _direction:number = 1;
private _playIndex: number = 0;
private _pieceWidth: number = 0;
private _pieceHeight: number = 0;
private _bitmapArr: SpriteFrame[][] = [];
onLoad() {
//this. m_clips = new SpriteFrame[this.row][this.col];
//Texture2D tex = Resources.Load<Texture2D>("Image/Avatar/" + m_sprite_name);
//this.begin = 0;
if (this.end == 0) {
this.end = this.col;
}
this.rowIndex = this.clamp(this.rowIndex, 0, this.row - 1);
this._pieceWidth = this.texture!.width / this.col;
this._pieceHeight = this.texture!.height / this.row;
this.m_sprite = this.getComponent(Sprite);
if (!this.m_sprite) {
this.m_sprite = this.addComponent(Sprite);
}
for (var i = 0; i < this.row; i++) {
this._bitmapArr[i] = [];
for (var j = 0; j < this.col; j++) {
var spriteFrame: SpriteFrame = new SpriteFrame();
spriteFrame.texture = this.texture!;
spriteFrame.rect = new Rect(j * this._pieceWidth, i * this._pieceHeight, this._pieceWidth, this._pieceHeight);
spriteFrame.rotated = false;
spriteFrame.offset = new Vec2(0, 0);
spriteFrame.originalSize = new Size(this._pieceWidth, this._pieceHeight);
this._bitmapArr[i][j] = spriteFrame;
}
}
this.m_sprite!.spriteFrame = this._bitmapArr[this.rowIndex][0];
this.m_sprite!.spriteFrame.width
var uiTransform = this.getComponent(UITransform);
if (uiTransform) {
uiTransform.width = this._pieceWidth;
uiTransform.height = this._pieceHeight;
}
this.timer = 0;
this.running = this.autoPlayOnLoad;
}
update(dt: number) {
if (!this.running)
return;
if (this.playTimes != 0 && this.currentTimes == this.playTimes) {
this.running = false;
return;
}
this.timer -= dt;
if (this.timer <= 0) {
this.timer = this.interval;
this.currentFrame = this.currentFrame % this.col;
this.playAction();
this.currentFrame++;
if (this.currentFrame == this.col) {
if (this.isAll) {
this.rowIndex++;
if (this.rowIndex == this.row) {
this.currentTimes++;
this.node.emit("completeTimes");
if (this.playTimes != 0 && this.currentTimes == this.playTimes) {
this.node.emit("complete");
if (this.autoDestroy) {
this.node.destroy();
}
}
}
this.rowIndex %= this.row;
}
else {
this.currentTimes++;
this.node.emit("completeTimes");
if (this.playTimes != 0 && this.currentTimes == this.playTimes) {
this.node.emit("complete");
if (this.autoDestroy) {
this.node.destroy();
}
}
}
}
}
}
private playAction() {
this.rowIndex = this.clamp(this.rowIndex, 0, this.row - 1);
this._playIndex = this._playIndex % (this.end - this.begin) + this.begin;
this.m_sprite!.spriteFrame = this._bitmapArr[this.rowIndex][this._playIndex];
//this.m_sprite.spriteFrame.setRect(this.rect);
this._playIndex++;
}
/** 播放影片 */
public play() {
this.running = true;
}
/** 停止播放影片 */
public stop() {
this.running = false;
}
/**
* 跳帧播放
* @param frame 帧
*/
public gotoAndPlay(frame: number) {
this.running = true;
this._playIndex = frame;
this._playIndex = this.clamp(this._playIndex, 0, this.col - 1);
}
/**
* 跳帧停止
* @param frame 帧
*/
public gotoAndStop(frame: number) {
this.running = false;
this._playIndex = frame;
this._playIndex = this.clamp(this._playIndex, 0, this.col - 1);
this.m_sprite!.spriteFrame = this._bitmapArr[this.rowIndex][this._playIndex];
}
public clamp(value: number, minLimit: number, maxLimit: number) {
if (value < minLimit) {
return minLimit;
}
if (value > maxLimit) {
return maxLimit;
}
return value;
}
}

View File

@@ -25,11 +25,7 @@ export default class EntityLayer extends Component {
// this.node.children.sort(this.zIndexSort);
}
// private zIndexSort(a: Node, b: Node) {
// let a_zIndex = a.getComponent(Charactor)!.zIndex;
// let b_zIndex = b.getComponent(Charactor)!.zIndex;
// return a_zIndex - b_zIndex;
// }
public clear() {
this.node.children.forEach(n => {

View File

@@ -14,102 +14,19 @@ const { ccclass, property } = _decorator;
*/
@ccclass('MapLayer')
export default class MapLayer extends Component {
/** 切割小图片集 */
private _sliceImgDic: { [key: string]: Sprite | null } = {};
private _mapParams: MapParams | null = null;
@property(Sprite)
private bgImg: Sprite | null = null;
public init(mapParams: MapParams): void {
this._mapParams = mapParams;
if (!this.bgImg) {
var bgNode: Node = new Node();
this.node.addChild(bgNode);
bgNode.layer = Layers.Enum.UI_2D;
this.bgImg = bgNode.addComponent(Sprite);
this.bgImg.sizeMode = Sprite.SizeMode.RAW;
bgNode.getComponent(UITransform)!.anchorX = 0;
bgNode.getComponent(UITransform)!.anchorY = 0;
}
var spriteFrame: SpriteFrame = new SpriteFrame();
spriteFrame.texture = this._mapParams.bgTex!;
this.bgImg.spriteFrame = spriteFrame;
//如果是马赛克小地图,则需要把小地图缩放成原始地图一样大小
if (mapParams.mapLoadModel == MapLoadModel.slices) {
this.bgImg.getComponent(UITransform)!.width = mapParams.mapWidth;
this.bgImg.getComponent(UITransform)!.height = mapParams.mapHeight;
}
this.getComponent(UITransform)!.width = this.width;
this.getComponent(UITransform)!.height = this.height;
}
/**
* 根据视图区域加载小地图
* @param px 滚动视图左上角的x坐标
* @param py 滚动视图左上角的y坐标
*
*/
public loadSliceImage(px: number, py: number): void {
// var iy1: number = Math.floor(py / this._mapParams!.sliceHeight);
// var iy2: number = Math.floor((py + this._mapParams!.viewHeight) / this._mapParams!.sliceHeight);
// var jx1: number = Math.floor(px / this._mapParams!.sliceWidth);
// var jx2: number = Math.floor((px + this._mapParams!.viewWidth) / this._mapParams!.sliceWidth);
// var key: string;
// for (var i: number = iy1; i <= iy2; i++) {
// for (var j: number = jx1; j <= jx2; j++) {
// key = (i + 1) + "_" + (j + 1); // 图片的索引是从1开始的所以要加1
// if (!this._sliceImgDic[key]) {
// let bitmap: Sprite = this.getSliceSprite(key)
// this._sliceImgDic[key] = bitmap;
// this.node.addChild(bitmap.node);
// bitmap.node.position = new Vec3(j * this._mapParams!.sliceWidth, i * this._mapParams!.sliceHeight, 0)
// // var path: string = `maps/${this._mapParams!.bgName}/${this._mapParams!.bgName}/slices/${key}/texture`;
// // oops.res.load("remote", path, Texture2D, (error: Error | null, tex: Texture2D) => {
// var path: string = smc.map.MapModel.getResContentSlices(this._mapParams!.bgName, key);
// oops.res.load(path, Texture2D, (error: Error | null, tex: Texture2D) => {
// if (error) {
// console.error(error);
// }
// var spriteFrame: SpriteFrame = new SpriteFrame();
// spriteFrame.texture = tex;
// bitmap.spriteFrame = spriteFrame;
// });
// }
// }
// }
}
private getSliceSprite(name: string) {
var node: Node = new Node(name);
node.layer = LayerUtil.MAP.mask; // Layers.Enum.UI_2D;
var sprite: Sprite = node.addComponent(Sprite);
sprite.sizeMode = Sprite.SizeMode.RAW;
node.getComponent(UITransform)!.anchorX = 0;
node.getComponent(UITransform)!.anchorY = 0;
return sprite;
}
public clear(): void {
this.bgImg!.spriteFrame = null;
for (var key in this._sliceImgDic) {
var sprite: Sprite | null = this._sliceImgDic[key];
sprite && sprite.node.destroy();
this._sliceImgDic[key] = null;
delete this._sliceImgDic[key];
}
}
public get bgImage(): Sprite {
@@ -121,7 +38,6 @@ export default class MapLayer extends Component {
return this.bgImg.getComponent(UITransform)!.width;
}
return this._mapParams!.viewWidth;
}
public get height(): number {
@@ -129,6 +45,5 @@ export default class MapLayer extends Component {
return this.bgImg.getComponent(UITransform)!.height;
}
return this._mapParams!.viewHeight;
}
}

View File

@@ -42,11 +42,7 @@ export default class SkillLayer extends Component {
// this.node.children.sort(this.zIndexSort);
}
// private zIndexSort(a: Node, b: Node) {
// let a_zIndex = a.getComponent(Charactor)!.zIndex;
// let b_zIndex = b.getComponent(Charactor)!.zIndex;
// return a_zIndex - b_zIndex;
// }
public clear() {
this.node.children.forEach(n => {

View File

@@ -36,7 +36,7 @@ export class Hero extends ecs.Entity {
/** 加载角色 */
load(pos: Vec3 = Vec3.ZERO,speed:number = 100,camp:number = 1,prefab_path:string = "monster",name:string="hero") {
// var path = "game/monster/"+prefab_path;
var path = "game/monster/hero";
var path = "game/heros/hero";
var prefab: Prefab = oops.res.get(path, Prefab)!;
var node = instantiate(prefab);

View File

@@ -11,7 +11,8 @@ import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/O
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { UIID } from "../common/config/GameUIConfig";
import { smc } from "../common/SingletonModuleComp";
import{HeroCardViewComp} from "./HeroCardViewComp";
import { CardSet } from "../common/config/CardSet";
/** 角色实体 */
@ecs.register(`HeroCard`)
export class HeroCard extends ecs.Entity {
@@ -27,28 +28,31 @@ export class HeroCard extends ecs.Entity {
}
destroy(): void {
// this.remove(MonsterViewComp);
this.remove(HeroCardViewComp);
super.destroy();
}
/** 加载角色 */
load(pos: Vec3 = Vec3.ZERO,speed:number = 100,camp:number = 1,prefab_path:string = "monster",name:string="hero") {
load(pos: Vec3 = Vec3.ZERO,uuid:number=1001,parent:Node) {
// var path = "game/monster/"+prefab_path;
var path = "game/monster/hero";
var path = "game/heros/cards/hero_card";
var prefab: Prefab = oops.res.get(path, Prefab)!;
var node = instantiate(prefab);
var scene = smc.map.MapView.scene;
node.parent = scene.entityLayer!.node!;
node.getChildByName("avatar").setScale(node.getChildByName("avatar").scale.x*camp, node.getChildByName("avatar").scale.y, node.getChildByName("avatar").scale.z);
node.parent = parent;
// node.getChildByName("avatar").setScale(node.getChildByName("avatar").scale.x*camp, node.getChildByName("avatar").scale.y, node.getChildByName("avatar").scale.z);
node.setPosition(pos)
// console.log(node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite))
const url = 'game/heros/hero/'+prefab_path+'/spriteFrame';
resources.load(url, SpriteFrame, (err: any, spriteFrame) => {
const sprite = node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite);
sprite.spriteFrame = spriteFrame;
});
var hcv = node.getComponent(HeroCardViewComp)!;
hcv.card_name=CardSet[uuid].name
hcv.card_uid=uuid
this.add(hcv);
// // console.log(node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite))
// const url = 'game/heros/hero/'+prefab_path+'/spriteFrame';
// resources.load(url, SpriteFrame, (err: any, spriteFrame) => {
// const sprite = node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite);
// sprite.spriteFrame = spriteFrame;
// });
}

View File

@@ -0,0 +1,77 @@
import { _decorator ,Vec2,NodeEventType,EventTouch} 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 { data } from "../data/data";
import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops";
const { ccclass, property } = _decorator;
/** 视图层对象 */
@ccclass('HeroCardViewComp')
@ecs.register('HeroCardView', false)
export class HeroCardViewComp extends CCComp {
card_name:string = "hero_card";
card_type:string = "hero";
card_uid:number = 1000;
/** 方向 */
private _dir: Vec2 = new Vec2(0, 0);
public get dir(): Vec2 {
return this._dir;
}
public set dir(value: Vec2) {
this._dir = value;
}
pos_x=0;
pos_y=0;
protected onLoad(): void {
this.node.on(NodeEventType.TOUCH_START, this.onTouchMove, this);
this.node.on(NodeEventType.TOUCH_MOVE, this.onTouchMove, this);
this.node.on(NodeEventType.TOUCH_END, this.onTouchEnd, this);
this.node.on(NodeEventType.TOUCH_CANCEL, this.onTouchEnd, this);
oops.message.on("destroy hero_card", this.on_destroy_node, this);
}
private on_destroy_node(event: string, args: any) {
// if(this.ent.eid == args){
// this.reset();
// }
}
onTouchMove(event: EventTouch) {
console.log("onTouchMove");
let delta = event.getDelta();
this.node.setPosition(this.node.position.x+delta.x,this.node.position.y+delta.y);
}
onTouchEnd(){
if(this.node.position.y-this.pos_y > 50){
this.use_card()
}else{
this.node.setPosition(this.pos_x,this.pos_y);
}
console.log(ecs.query(ecs.allOf(HeroCardViewComp)))
}
use_card(){
oops.message.dispatchEvent("do_add_hero",this.ent)
this.ent.destroy();
}
/** 视图层逻辑代码分离演示 */
start() {
this.pos_x=this.node.position.x;
this.pos_y=this.node.position.y;
}
/** 全局消息逻辑处理 */
// private onHandler(event: string, args: any) {
// switch (event) {
// case ModuleEvent.Cmd:
// break;
// }
// }
/** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */
reset() {
this.node.destroy();
}
}

View File

@@ -2,10 +2,8 @@
"ver": "4.0.23",
"importer": "typescript",
"imported": true,
"uuid": "cb924b7b-003d-4995-a223-f41612b1d87c",
"uuid": "ad422ad0-14e7-4547-8703-1bb4d5b10d01",
"files": [],
"subMetas": {},
"userData": {
"simulateGlobals": []
}
"userData": {}
}

View File

@@ -36,7 +36,7 @@ export class Monster extends ecs.Entity {
/** 加载角色 */
load(pos: Vec3 = Vec3.ZERO,speed:number = 100,camp:number = 1,prefab_path:string = "monster",name:string="hero") {
// var path = "game/monster/"+prefab_path;
var path = "game/monster/hero";
var path = "game/heros/hero";
var prefab: Prefab = oops.res.get(path, Prefab)!;
var node = instantiate(prefab);
@@ -70,7 +70,7 @@ export class Monster extends ecs.Entity {
oops.message.dispatchEvent("monster_load",this)
}
console.log(smc.heros_in,smc.monsters_in)
// console.log(smc.heros_in,smc.monsters_in)
}

View File

@@ -7,7 +7,6 @@
import { Color, Component, EventTouch, sp, Vec3, _decorator } from "cc";
import { LayerUtil } from "../../../../extensions/oops-plugin-framework/assets/core/utils/LayerUtil";
import { smc } from "../../../script/game/common/SingletonModuleComp";
// import Charactor, { CharactorDirection, CharactorState } from "../../map/view/map/charactor/Charactor";
import MonsterSpineAnimator from "./MonsterSpineAnimator";
const { ccclass, property } = _decorator;
@@ -21,11 +20,9 @@ export class MonsterSpine extends Component {
animator: MonsterSpineAnimator = null!;
private spine!: sp.Skeleton;
// private charactor!: Charactor;
onLoad() {
// 角色控制组件
// this.charactor = this.addComponent(Charactor)!;
this.initAnimator();
// this.setSkin("magic");
@@ -43,16 +40,7 @@ export class MonsterSpine extends Component {
// setState(value: CharactorState): void {
// switch (value) {
// case CharactorState.Idle:
// this.idle();
// break;
// case CharactorState.Run:
// this.walk();
// break;
// }
// }
setSkin(value: string): void {
console.log("MonsterSpine setSkin", value);

View File

@@ -5,7 +5,7 @@
* @LastEditTime: 2022-08-17 12:36:18
*/
import { Vec3, _decorator , v3,Collider2D,Contact2DType,IPhysics2DContact,EPhysics2DDrawFlags,Label,Node,Prefab,instantiate} from "cc";
import { Vec3, _decorator , v3,Collider2D,Contact2DType,IPhysics2DContact,EPhysics2DDrawFlags,Label,Node,Prefab,instantiate,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 { MonsterSpine } from "./MonsterSpine";
@@ -17,6 +17,7 @@ import { smc } from "../common/SingletonModuleComp";
import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops";
import { baseCom } from "../skills/baseCom";
import { Skill } from "../skills/Skill";
import { Timer } from "../../../../extensions/oops-plugin-framework/assets/core/common/timer/Timer";
const { ccclass, property } = _decorator;
/** 角色显示组件 */
@@ -30,23 +31,37 @@ export class MonsterViewComp extends CCComp {
camp: number = 1;
/**角色类型 1近战 2 远程 */
type: number = 1;
/** 状态 1move ,2: act 3: stop */
state: number = 1;
/** 血量 */
hp: number = 100;
hp_max: number = 100;
hp_speed: number = 0; //回复速度
/**能量**/
power: number = 0;
power_max: number = 100;
power_speed: number = 1; //回复速度
skill_name: string = "base";
max_skill_name: string = "base";
/**攻击力 */
atk: number = 10;
/**攻击速度 */
// atk_speed: number = 1;
atk_cd: number = 1.3;
atk_time: number = 0;
/** 角色移动速度 */
speed: number = 100;
/** 角色初始速度 */
ospeed: number = 100;
/**攻击速度 */
atk_speed: number = 1;
atk_cd: number = 0;
/** 状态 1move ,2: act 3: stop */
state: number = 1;
Tpos: Vec3 = v3(0,-60,0);
timer: number = 0;
stop_cd: number = 0;
private timer:Timer = new Timer(0.1);
is_dead:boolean = false;
/** 视图层逻辑代码分离演示 */
start () {
// 注册单个碰撞体的回调函数
let collider = this.getComponent(Collider2D);
if (collider) {
collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
collider.on(Contact2DType.END_CONTACT, this.onEndContact, this);
@@ -55,36 +70,9 @@ export class MonsterViewComp extends CCComp {
}
}
onBeginContact (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
switch (selfCollider.group) {
case BoxSet.MONSTER:
switch (otherCollider.group){
case BoxSet.HERO:
this.state = 2;
// console.log('onBeginContact',selfCollider,otherCollider);
// this.speed = 0;
// this.timer = 1;
// console.log("speed:"+this.speed+" | timer:"+this.timer);
break;
case BoxSet.HERO_SKILL:
break;
case BoxSet.MONSTER_SKILL:
break;
}
break;
case BoxSet.HERO:
switch (otherCollider.group){
case BoxSet.MONSTER:
this.state = 2;
break;
case BoxSet.HERO_SKILL:
break;
}
}
}
onEndContact (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
@@ -96,17 +84,47 @@ export class MonsterViewComp extends CCComp {
// console.log('onPreSolve');
// }
onPostSolve (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
if (otherCollider.group === BoxSet.HERO && selfCollider.group === BoxSet.MONSTER) {
// console.log('onPostSolve otherCollider.group :'+otherCollider.group);
// this.speed = 0;
// this.timer = 1;
if(otherCollider.group== BoxSet.HERO_SKILL || otherCollider.group== BoxSet.MONSTER_SKILL){
this.in_atked();
this.hp_change(10);
}
// switch (selfCollider.group) {
// case BoxSet.HERO:
// switch (otherCollider.group){
// case BoxSet.MONSTER:
// break;
// case BoxSet.MONSTER_SKILL:
// this.in_atked();
// this.hp_change(10);
// break;
// }
// case BoxSet.MONSTER:
// switch (otherCollider.group){
// case BoxSet.HERO:
// // console.log('onBeginContact',selfCollider,otherCollider);
// // setTimeout(() => {
// // this.toDestroy();
// // }, 10);
// // this.speed = 0;
// // this.stop_cd = 1;
// // console.log("speed:"+this.speed+" | stop_cd:"+this.stop_cd);
// break;
// case BoxSet.HERO_SKILL:
// this.in_atked();
// this.hp_change(10);
// break;
// // case BoxSet.MONSTER_SKILL:
// // break;
// }
// break;
// }
}
onLoad() {
this.as = this.getComponent(MonsterSpine);
// console.log('hero load ent:',this);
// PhysicsSystem2D.instance.debugDrawFlags = EPhysics2DDrawFlags.Aabb |
// EPhysics2DDrawFlags.Pair |
@@ -116,7 +134,7 @@ export class MonsterViewComp extends CCComp {
}
change_name(hero_name:string='hero',camp:number=1){
this.name=hero_name;
let label:any =this.node.getChildByName("top").getChildByName("lab_name")
let label:any =this.node.getChildByName("lab_name")
label.getComponent(Label)!.string = hero_name;
let collider = this.getComponent(Collider2D);
if(camp==1){
@@ -124,10 +142,12 @@ export class MonsterViewComp extends CCComp {
}else{
collider.group=BoxSet.MONSTER;
}
}
update(dt: number){
update(dt: number){
if (this.timer.update(dt)) {
this.power_change(this.power_speed)
}
this.in_destroy();
this.in_stop(dt);
this.in_act(dt);
@@ -148,22 +168,49 @@ export class MonsterViewComp extends CCComp {
move(dt: number){
this.node.setPosition(this.node.position.x+dt*this.speed*this.camp, this.node.position.y, this.node.position.z);
}
power_change(power: number){
this.power += power;
if(this.power >= this.power_max){
this.load_skill(this.max_skill_name);
this.power = 0
}
let power_progress= this.power/this.power_max;
this.node.getChildByName("power").getComponent(ProgressBar)!.progress = power_progress;
}
in_act(dt: number) {
if(this.atk_cd >= this.atk_speed){
this.atk_cd = 0;
if(this.atk_time >= this.atk_cd){
this.atk_time = 0;
// console.log("atk_cd:"+this.atk_cd);
this.as.atk();
this.load_skill();
this.load_skill(this.skill_name);
}
this.atk_time += dt;
}
hp_change(hp: number){
if(this.is_dead){
return;
}
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){
this.is_dead = true;
setTimeout(() => {
this.toDestroy();
}, 15);
}
this.atk_cd += dt;
}
/** 静止时间 */
in_stop (dt: number) {
if(this.timer > 0){
this.timer -= dt;
if(this.timer <= 0){
if(this.stop_cd > 0){
this.stop_cd -= dt;
if(this.stop_cd <= 0){
this.speed = this.ospeed;
this.timer = 0;
this.stop_cd = 0;
}
}
}
@@ -171,12 +218,12 @@ export class MonsterViewComp extends CCComp {
switch (this.camp) {
case -1:
if(this.node.position.x < BoxSet.LETF_END){
this.reset();
this.toDestroy();
}
break;
case 1:
if(this.node.position.x > BoxSet.RIGHT_END){
this.reset();
this.toDestroy();
}
break;
}
@@ -188,25 +235,38 @@ export class MonsterViewComp extends CCComp {
}
});
}
load_skill(){
load_skill(skill_name){
// console.log("load_skill");
let skill = ecs.getEntity<Skill>(Skill);
let pos = v3(0,0)
let speed =200
let speed =150
let scale = this.camp
let range = 80
skill.load(pos,speed,range,scale,this.node);
skill.load(pos,speed,range,scale,this.node,skill_name,this.atk);
}
in_atked() {
var path = "game/skills/atked";
var prefab: Prefab = oops.res.get(path, Prefab)!;
var node = instantiate(prefab);
let pos = v3(0,0)
node.setPosition(pos)
node.parent = this.node;
}
dead(){
var path = "game/skills/dead";
var prefab: Prefab = oops.res.get(path, Prefab)!;
var node = instantiate(prefab);
node.setPosition(this.node.position)
node.parent = this.node.parent;
}
toDestroy(){
this.dead();
smc.monsters_in = smc.monsters_in.filter(element => element.eid !== this.ent.eid);
smc.monsters_in = smc.monsters_in.filter(element => element.eid !== this.ent.eid);
this.ent.destroy();
}
reset() {
// console.log("node destroy:",this.node,this.ent)
smc.monsters_in = smc.monsters_in.filter(element => element.eid !== this.ent.eid);
smc.monsters_in = smc.monsters_in.filter(element => element.eid !== this.ent.eid);
this.is_dead = false;
this.node.destroy();
}

View File

@@ -7,7 +7,6 @@
import { Color, Component, EventTouch, sp, Vec3, _decorator } from "cc";
import { LayerUtil } from "../../../../../extensions/oops-plugin-framework/assets/core/utils/LayerUtil";
import { smc } from "../../common/SingletonModuleComp";
// import Charactor, { CharactorDirection, CharactorState } from "../../map/view/map/charactor/Charactor";
import RoleSpineAnimator from "./RoleSpineAnimator";
const { ccclass, property } = _decorator;
@@ -21,11 +20,9 @@ export class RoleSpine extends Component {
animator: RoleSpineAnimator = null!;
private spine!: sp.Skeleton;
// private charactor!: Charactor;
onLoad() {
// 角色控制组件
// this.charactor = this.addComponent(Charactor)!;
this.initAnimator();
// this.setSkin("magic");
@@ -42,17 +39,6 @@ export class RoleSpine extends Component {
// setState(value: CharactorState): void {
// switch (value) {
// case CharactorState.Idle:
// this.idle();
// break;
// case CharactorState.Run:
// this.walk();
// break;
// }
// }
setSkin(value: string): void {
console.log("RoleSpine setSkin", value);
this.spine.setSkin(value);

View File

@@ -27,23 +27,23 @@ export class Skill extends ecs.Entity {
this.remove(SkillCom);
super.destroy();
}
load(pos: Vec3 = Vec3.ZERO,speed:number = 100,range:number = 50,scale:number = 1,parent:Node) {
// var path = "game/monster/"+prefab_path;
var path = "game/skills/base";
load(pos: Vec3 = Vec3.ZERO,speed:number = 100,range:number = 50,scale:number = 1,parent:Node,skill_name:string = "base",atk:number =10) {
var path = "game/skills/"+skill_name;
var prefab: Prefab = oops.res.get(path, Prefab)!;
var node = instantiate(prefab);
node.parent = parent;
node.setPosition(pos)
var mv = node.getComponent(SkillCom)!;
mv.speed = speed;
mv.range = range;
mv.scale = scale;
var sv = node.getComponent(SkillCom)!;
sv.speed = speed;
sv.range = range;
sv.scale = scale;
sv.atk = atk;
if(scale == 1){
mv.change_collider_group(BoxSet.HERO_SKILL)
sv.change_collider_group(BoxSet.HERO_SKILL)
}else{
mv.change_collider_group(BoxSet.MONSTER_SKILL)
sv.change_collider_group(BoxSet.MONSTER_SKILL)
}
this.add(mv);
this.add(sv);
}
}

View File

@@ -17,20 +17,29 @@ export class SkillCom extends CCComp {
speed:number = 600;
range:number = 80;
scale:number = 1;
atk:number = 10;
is_destroy:boolean = false;
start() {
let collider = this.getComponent(Collider2D);
if (collider) {
collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
// collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
collider.on(Contact2DType.POST_SOLVE, this.onPostSolve, this);
}
}
onBeginContact (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
onPostSolve (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
switch (selfCollider.group) {
case BoxSet.HERO_SKILL:
switch (otherCollider.group){
case BoxSet.MONSTER:
// this.reset()
console.log('hero skill',selfCollider);
if(this.is_destroy){
return
}else{
this.is_destroy = true;
this.toDestroy();
}
// this.speed = 0;
// this.timer = 1;
// console.log("speed:"+this.speed+" | timer:"+this.timer);
@@ -40,6 +49,12 @@ export class SkillCom extends CCComp {
case BoxSet.MONSTER_SKILL:
switch (otherCollider.group){
case BoxSet.HERO:
if(this.is_destroy){
return
}else{
this.is_destroy = true;
this.toDestroy();
}
// console.log('monster skill',selfCollider,otherCollider);
// this.reset()
break;
@@ -57,7 +72,13 @@ export class SkillCom extends CCComp {
this.node.setPosition(v3(this.node.position.x+deltaTime*this.speed*this.scale,this.node.position.y,this.node.position.z))
if(Math.abs(this.node.position.x) > this.range)
{
this.reset()
if(this.is_destroy){
return
}else{
this.is_destroy = true;
this.toDestroy()
}
}
}
@@ -68,9 +89,14 @@ export class SkillCom extends CCComp {
// break;
// }
// }
toDestroy() {
setTimeout(() => {
this.ent.destroy()
}, 15);
}
/** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */
reset() {
this.is_destroy=false
this.node.destroy();
}
}

View File

@@ -0,0 +1,20 @@
import { _decorator, Component, Node } from 'cc';
const { ccclass, property } = _decorator;
@ccclass('atked')
export class atked extends Component {
time = 0.3;
start() {
}
update(deltaTime: number) {
this.time = this.time - deltaTime;
if(this.time <= 0)
{
this.node.destroy()
}
}
}

View File

@@ -2,10 +2,8 @@
"ver": "4.0.23",
"importer": "typescript",
"imported": true,
"uuid": "cbc1684f-2e32-4088-a784-3c147c9b6f31",
"uuid": "65d6266f-bba6-4b98-8343-2a67642ec7eb",
"files": [],
"subMetas": {},
"userData": {
"simulateGlobals": []
}
"userData": {}
}

View File

@@ -0,0 +1,18 @@
import { _decorator, Component, Node ,Animation} from 'cc';
const { ccclass, property } = _decorator;
@ccclass('dead')
export class dead extends Component {
start() {
let anim = this.node.getComponent(Animation);
anim.on(Animation.EventType.FINISHED, this.onAnimationFinished, this);
}
onAnimationFinished(){
this.node.destroy();
}
update(deltaTime: number) {
}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.23",
"importer": "typescript",
"imported": true,
"uuid": "0f3c4261-15b1-4eda-b105-a81249ee116f",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -61,7 +61,7 @@ entity.add(compObj)
entity.remove(HelloComponent); // 组件对象会从实体身上移除并放入组件缓存池中
```
- 删除组件但不删除组件对象:实际开发中,组件身上有很多属性,如果删除了后面再添加,属性值还原是个麻烦的问题,
- 删除组件但不删除组件对象身上:实际开发中,组件有很多属性,如果删除了后面再添加,属性值还原是个麻烦的问题,
remove方法可以删除组件但是不真正从实体身上移除该组件对象这样下次重新添加组件时还是会添加那个组件对象。
```Typescript
entity.remove(HelloComponent, false)

View File

@@ -44,8 +44,8 @@
],
"collisionMatrix": {
"0": 7,
"1": 21,
"2": 11,
"1": 23,
"2": 15,
"3": 4,
"4": 2
}