排序问题解决,优化小兵线路

This commit is contained in:
2024-09-13 00:51:23 +08:00
parent f80115e251
commit 221d91a795
43 changed files with 11085 additions and 28930 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,401 @@
[
{
"__type__": "cc.Prefab",
"_name": "tooltip",
"_objFlags": 0,
"__editorExtras__": {},
"_native": "",
"data": {
"__id__": 1
},
"optimizationPolicy": 0,
"persistent": false
},
{
"__type__": "cc.Node",
"_name": "tooltip",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": null,
"_children": [
{
"__id__": 2
},
{
"__id__": 8
}
],
"_active": false,
"_components": [
{
"__id__": 14
}
],
"_prefab": {
"__id__": 16
},
"_lpos": {
"__type__": "cc.Vec3",
"x": -8.972,
"y": 78,
"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": "bg",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 3
},
{
"__id__": 5
}
],
"_prefab": {
"__id__": 7
},
"_lpos": {
"__type__": "cc.Vec3",
"x": -11.34,
"y": 4.926,
"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.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 2
},
"_enabled": true,
"__prefab": {
"__id__": 4
},
"_contentSize": {
"__type__": "cc.Size",
"width": 100,
"height": 50
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "d1/BqGCLlHV4LOZCExXtbR"
},
{
"__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__": "f87f53f9-2fba-4a5b-968a-79a593311ab2@e39fb",
"__expectedType__": "cc.SpriteFrame"
},
"_type": 0,
"_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": "09S6er24tADYna5lfOQEkl"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "fadwGZO+5HPqK+IqWjAe1I",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.Node",
"_name": "words",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 9
},
{
"__id__": 11
}
],
"_prefab": {
"__id__": 13
},
"_lpos": {
"__type__": "cc.Vec3",
"x": -12.355,
"y": 9.918,
"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.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 8
},
"_enabled": true,
"__prefab": {
"__id__": 10
},
"_contentSize": {
"__type__": "cc.Size",
"width": 68,
"height": 25.42
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "60n+Hxfa1P5qORRYWRA3am"
},
{
"__type__": "cc.Label",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 8
},
"_enabled": true,
"__prefab": {
"__id__": 12
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_string": "这是喊话",
"_horizontalAlign": 1,
"_verticalAlign": 1,
"_actualFontSize": 16,
"_fontSize": 16,
"_fontFamily": "Arial",
"_lineHeight": 17,
"_overflow": 0,
"_enableWrapText": true,
"_font": null,
"_isSystemFontUsed": true,
"_spacingX": 0,
"_isItalic": false,
"_isBold": false,
"_isUnderline": false,
"_underlineHeight": 2,
"_cacheMode": 0,
"_enableOutline": true,
"_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": "6e8rPYem5HYojc44/ZRvP+"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "9d+dPANj1LBo7dJI/bx9b5",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 15
},
"_contentSize": {
"__type__": "cc.Size",
"width": 100,
"height": 100
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "0alpB0Wg1E+5gOjL4DZ451"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "0d6ZXmA5dHkZxoGONDL2sE",
"instance": null,
"targetOverrides": null
}
]

View File

@@ -0,0 +1,13 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "5b4ca49e-0f12-4478-b56d-bf8198b36b90",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "tooltip"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -2,12 +2,12 @@
"ver": "1.1.50", "ver": "1.1.50",
"importer": "prefab", "importer": "prefab",
"imported": true, "imported": true,
"uuid": "95746896-aa8b-435a-9b9f-e644b850a753", "uuid": "50c3d5e4-49f8-4bd7-a15b-cda359a0ae5c",
"files": [ "files": [
".json" ".json"
], ],
"subMetas": {}, "subMetas": {},
"userData": { "userData": {
"syncNodeName": "knight" "syncNodeName": "top"
} }
} }

File diff suppressed because it is too large Load Diff

View File

@@ -1,63 +0,0 @@
[
{
"__type__": "cc.Prefab",
"_name": "knight",
"_objFlags": 0,
"_native": "",
"data": {
"__id__": 1
},
"optimizationPolicy": 0,
"asyncLoadAssets": false,
"persistent": false
},
{
"__type__": "cc.Node",
"_name": "knight",
"_objFlags": 0,
"_parent": null,
"_children": [],
"_active": true,
"_components": [],
"_prefab": {
"__id__": 2
},
"_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
},
"_layer": 1073741824,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "c46/YsCPVOJYA4mWEpNYRx"
}
]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,401 @@
[
{
"__type__": "cc.Prefab",
"_name": "tooltip",
"_objFlags": 0,
"__editorExtras__": {},
"_native": "",
"data": {
"__id__": 1
},
"optimizationPolicy": 0,
"persistent": false
},
{
"__type__": "cc.Node",
"_name": "tooltip",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": null,
"_children": [
{
"__id__": 2
},
{
"__id__": 8
}
],
"_active": false,
"_components": [
{
"__id__": 14
}
],
"_prefab": {
"__id__": 16
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 41.38,
"y": 69.449,
"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": "bg",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 3
},
{
"__id__": 5
}
],
"_prefab": {
"__id__": 7
},
"_lpos": {
"__type__": "cc.Vec3",
"x": -11.34,
"y": 4.926,
"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.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 2
},
"_enabled": true,
"__prefab": {
"__id__": 4
},
"_contentSize": {
"__type__": "cc.Size",
"width": 100,
"height": 50
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "2evpVI4GVGprrfkY+Qh6KF"
},
{
"__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__": "f87f53f9-2fba-4a5b-968a-79a593311ab2@e39fb",
"__expectedType__": "cc.SpriteFrame"
},
"_type": 0,
"_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": "432YaCiy1I/LaplNgxbKwV"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "e2GbeLa9lPXJPg+FRzTGPb",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.Node",
"_name": "words",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 9
},
{
"__id__": 11
}
],
"_prefab": {
"__id__": 13
},
"_lpos": {
"__type__": "cc.Vec3",
"x": -12.355,
"y": 9.918,
"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.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 8
},
"_enabled": true,
"__prefab": {
"__id__": 10
},
"_contentSize": {
"__type__": "cc.Size",
"width": 68,
"height": 25.42
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "98pEfb/lBB842CFxJ5pdzm"
},
{
"__type__": "cc.Label",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 8
},
"_enabled": true,
"__prefab": {
"__id__": 12
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_string": "这是喊话",
"_horizontalAlign": 1,
"_verticalAlign": 1,
"_actualFontSize": 16,
"_fontSize": 16,
"_fontFamily": "Arial",
"_lineHeight": 17,
"_overflow": 0,
"_enableWrapText": true,
"_font": null,
"_isSystemFontUsed": true,
"_spacingX": 0,
"_isItalic": false,
"_isBold": false,
"_isUnderline": false,
"_underlineHeight": 2,
"_cacheMode": 0,
"_enableOutline": true,
"_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": "40WOUtYVJOaq9my9TPgWy1"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "eaX0d6/uhC36sJ9BYujf1a",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 15
},
"_contentSize": {
"__type__": "cc.Size",
"width": 100,
"height": 100
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "00s/jKvdBE7aVpsSTztf/u"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "ecbSjcDtdLKp/1HOuhFkWY",
"instance": null,
"targetOverrides": null
}
]

View File

@@ -0,0 +1,13 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "bde94193-50e9-4505-a862-504f90c3ede3",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "tooltip"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,13 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "8e737767-609b-487c-bd47-8ef02f00e7ec",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "top"
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 470 KiB

View File

@@ -8838,10 +8838,7 @@
"b": 255, "b": 255,
"a": 255 "a": 255
}, },
"_spriteFrame": { "_spriteFrame": null,
"__uuid__": "f87f53f9-2fba-4a5b-968a-79a593311ab2@65408",
"__expectedType__": "cc.SpriteFrame"
},
"_type": 0, "_type": 0,
"_fillType": 0, "_fillType": 0,
"_sizeMode": 0, "_sizeMode": 0,
@@ -9938,10 +9935,7 @@
"b": 255, "b": 255,
"a": 255 "a": 255
}, },
"_spriteFrame": { "_spriteFrame": null,
"__uuid__": "f87f53f9-2fba-4a5b-968a-79a593311ab2@3f402",
"__expectedType__": "cc.SpriteFrame"
},
"_type": 0, "_type": 0,
"_fillType": 0, "_fillType": 0,
"_sizeMode": 0, "_sizeMode": 0,
@@ -11038,10 +11032,7 @@
"b": 255, "b": 255,
"a": 255 "a": 255
}, },
"_spriteFrame": { "_spriteFrame": null,
"__uuid__": "f87f53f9-2fba-4a5b-968a-79a593311ab2@e6d7e",
"__expectedType__": "cc.SpriteFrame"
},
"_type": 0, "_type": 0,
"_fillType": 0, "_fillType": 0,
"_sizeMode": 0, "_sizeMode": 0,

View File

@@ -77,7 +77,7 @@ export class SingletonModuleComp extends ecs.Comp {
g_time:0, g_time:0,
}, },
role:{ role:{
hp:30000, hp:300,
atk:10, atk:10,
lv:1, lv:1,
exp:0, exp:0,

View File

@@ -1,52 +1,92 @@
export const HeroSet = { export const HeroSet = {
9001:{uuid:9001,path:"k3",type:1,level:1,name:"战士",atk:4,hp: 350,atk_dis:40,atk_cd:2,power:0,power_max: 10,speed: 30, 9001: {
max_skill: "精准打击",skill_uuid:9001,max_skill_uuid:9001,word: "守护",info: "自身护盾", atktype:1,}, uuid: 9001, path: "k3", type: 1, level: 1, name: "战士", atk: 4, hp: 35, atk_dis: 40, atk_cd: 2, power: 0, power_max: 10, speed: 30,
max_skill: "精准打击", skill_uuid: 9001, max_skill_uuid: 9001, word: "守护", info: "自身护盾", atktype: 1,
},
9011:{uuid:9004,path:"m1",type:1,level:1,name:"冰法",atk:4,hp: 15,atk_dis:200,atk_cd:2,power:0,power_max: 10,speed: 30, 9011: {
max_skill: "寒冰箭",skill_uuid:9002,max_skill_uuid:1002,word: "守护",info: "自身护盾",atktype:1,}, uuid: 9004, path: "m1", type: 1, level: 1, name: "冰法", atk: 4, hp: 15, atk_dis: 200, atk_cd: 2, power: 0, power_max: 10, speed: 30,
9021:{uuid:9006,path:"m3",type:3,level:1,name:"火法",atk:6,hp: 15,atk_dis:200,atk_cd:2,power:0,power_max: 10,speed: 30, max_skill: "寒冰箭", skill_uuid: 9002, max_skill_uuid: 1002, word: "守护", info: "自身护盾", atktype: 1,
max_skill: "火球术",skill_uuid:9002,max_skill_uuid:1001,word: "守护",info: "自身护盾", atktype:2}, },
9021: {
uuid: 9006, path: "m3", type: 3, level: 1, name: "火法", atk: 6, hp: 15, atk_dis: 200, atk_cd: 2, power: 0, power_max: 10, speed: 30,
max_skill: "火球术", skill_uuid: 9002, max_skill_uuid: 1001, word: "守护", info: "自身护盾", atktype: 2
},
9031:{uuid:9005,path:"m2",type:3,level:1,name:"牧师",atk:3,hp: 20,atk_dis:200,atk_cd:2,power:0,power_max: 10,speed: 30, 9031: {
max_skill: "治愈术",skill_uuid:9002,max_skill_uuid:9002,word: "守护",info: "自身护盾", atktype:2}, uuid: 9005, path: "m2", type: 3, level: 1, name: "牧师", atk: 3, hp: 20, atk_dis: 200, atk_cd: 2, power: 0, power_max: 10, speed: 30,
max_skill: "治愈术", skill_uuid: 9002, max_skill_uuid: 9002, word: "守护", info: "自身护盾", atktype: 2
},
9041:{uuid:9009,path:"arc1",type:3,level:1,name:"弓箭手",atk:3,hp: 15,atk_dis:300,atk_cd:1,power:0,power_max: 10,speed: 30, 9041: {
max_skill: "精准射击",skill_uuid:9003,max_skill_uuid:9003,word: "狂暴",info: "全体攻击", atktype:2}, uuid: 9009, path: "arc1", type: 3, level: 1, name: "弓箭手", atk: 3, hp: 15, atk_dis: 300, atk_cd: 1, power: 0, power_max: 10, speed: 30,
max_skill: "精准射击", skill_uuid: 9003, max_skill_uuid: 9003, word: "狂暴", info: "全体攻击", atktype: 2
},
} }
export const MonSet = { export const MonSet = {
1001:{uuid:1001,path:"ge1",type:1,level:1,name:"战斗哥",atk:4,hp: 30,atk_dis:40,atk_cd:2,power:0,power_max:10,speed:30, 1001: {
max_skill: "精准打击",skill_uuid:9001,max_skill_uuid:9001,word: "守护",info: "自身护盾", atktype:1}, uuid: 1001, path: "ge1", type: 1, level: 1, name: "战斗哥", atk: 4, hp: 30, atk_dis: 40, atk_cd: 2, power: 0, power_max: 10, speed: 30,
1002:{uuid:1002,path:"ge2",type:1,level:1,name:"墨西哥",atk:4,hp: 30,atk_dis:40,atk_cd:2,power:0,power_max:10,speed:30, max_skill: "精准打击", skill_uuid: 9001, max_skill_uuid: 9001, word: "守护", info: "自身护盾", atktype: 1
max_skill: "精准打击",skill_uuid:9001,max_skill_uuid:9001,word: "守护",info: "自身护盾", atktype:1}, },
1003:{uuid:1003,path:"ge3",type:1,level:1,name:"铁头哥",atk:4,hp: 30,atk_dis:40,atk_cd:2,power:0,power_max:10,speed:30, 1002: {
max_skill: "精准打击",skill_uuid:9001,max_skill_uuid:9001,word: "守护",info: "自身护盾", atktype:1}, uuid: 1002, path: "ge2", type: 1, level: 1, name: "墨西哥", atk: 4, hp: 30, atk_dis: 40, atk_cd: 2, power: 0, power_max: 10, speed: 30,
1011:{uuid:1011,path:"orc1",type:1,level:1,name:"森林兽人",atk:4,hp: 30,atk_dis:40,atk_cd:2,power:0,power_max:10,speed:30, max_skill: "精准打击", skill_uuid: 9001, max_skill_uuid: 9001, word: "守护", info: "自身护盾", atktype: 1
max_skill: "精准打击",skill_uuid:9001,max_skill_uuid:9001,word: "守护",info: "自身护盾", atktype:1}, },
1012:{uuid:1012,path:"orc2",type:1,level:1,name:"荒野兽人",atk:4,hp: 30,atk_dis:40,atk_cd:2,power:0,power_max:10,speed:30, 1003: {
max_skill: "精准打击",skill_uuid:9001,max_skill_uuid:9001,word: "守护",info: "自身护盾", atktype:1}, uuid: 1003, path: "ge3", type: 1, level: 1, name: "铁头哥", atk: 4, hp: 30, atk_dis: 40, atk_cd: 2, power: 0, power_max: 10, speed: 30,
1013:{uuid:1013,path:"orc3",type:1,level:1,name:"兽人战士",atk:4,hp: 30,atk_dis:40,atk_cd:2,power:0,power_max:10,speed:30, max_skill: "精准打击", skill_uuid: 9001, max_skill_uuid: 9001, word: "守护", info: "自身护盾", atktype: 1
max_skill: "精准打击",skill_uuid:9001,max_skill_uuid:9001,word: "守护",info: "自身护盾", atktype:1}, },
1021:{uuid:1021,path:"gou1",type:1,level:1,name:"黄皮豺狼",atk:4,hp: 30,atk_dis:40,atk_cd:2,power:0,power_max:10,speed:30, 1011: {
max_skill: "精准打击",skill_uuid:9001,max_skill_uuid:9001,word: "守护",info: "自身护盾", atktype:1}, uuid: 1011, path: "orc1", type: 1, level: 1, name: "森林兽人", atk: 4, hp: 30, atk_dis: 40, atk_cd: 2, power: 0, power_max: 10, speed: 30,
1022:{uuid:1022,path:"gou2",type:1,level:1,name:"白皮豺狼",atk:4,hp: 30,atk_dis:40,atk_cd:2,power:0,power_max:10,speed:30, max_skill: "精准打击", skill_uuid: 9001, max_skill_uuid: 9001, word: "守护", info: "自身护盾", atktype: 1
max_skill: "精准打击",skill_uuid:9001,max_skill_uuid:9001,word: "守护",info: "自身护盾", atktype:1}, },
1023:{uuid:1023,path:"gou3",type:1,level:1,name:"灰皮豺狼",atk:4,hp: 30,atk_dis:40,atk_cd:2,power:0,power_max:10,speed:30, 1012: {
max_skill: "精准打击",skill_uuid:9001,max_skill_uuid:9001,word: "守护",info: "自身护盾", atktype:1}, uuid: 1012, path: "orc2", type: 1, level: 1, name: "荒野兽人", atk: 4, hp: 30, atk_dis: 40, atk_cd: 2, power: 0, power_max: 10, speed: 30,
1031:{uuid:1031,path:"gou1",type:1,level:1,name:"独眼巨人",atk:4,hp: 30,atk_dis:40,atk_cd:2,power:0,power_max:10,speed:30, max_skill: "精准打击", skill_uuid: 9001, max_skill_uuid: 9001, word: "守护", info: "自身护盾", atktype: 1
max_skill: "精准打击",skill_uuid:9001,max_skill_uuid:9001,word: "守护",info: "自身护盾", atktype:1}, },
1032:{uuid:1032,path:"gou2",type:1,level:1,name:"狂暴独眼",atk:4,hp: 30,atk_dis:40,atk_cd:2,power:0,power_max:10,speed:30, 1013: {
max_skill: "精准打击",skill_uuid:9001,max_skill_uuid:9001,word: "守护",info: "自身护盾", atktype:1}, uuid: 1013, path: "orc3", type: 1, level: 1, name: "兽人战士", atk: 4, hp: 30, atk_dis: 40, atk_cd: 2, power: 0, power_max: 10, speed: 30,
1033:{uuid:1033,path:"gou3",type:1,level:1,name:"独眼首领",atk:4,hp: 30,atk_dis:40,atk_cd:2,power:0,power_max:10,speed:30, max_skill: "精准打击", skill_uuid: 9001, max_skill_uuid: 9001, word: "守护", info: "自身护盾", atktype: 1
max_skill: "精准打击",skill_uuid:9001,max_skill_uuid:9001,word: "守护",info: "自身护盾", atktype:1}, },
1041:{uuid:1041,path:"ys1",type:1,level:1,name:"火元素",atk:4,hp: 30,atk_dis:200,atk_cd:2,power:0,power_max:10,speed:30, 1021: {
max_skill: "火球术",skill_uuid:9002,max_skill_uuid:1001,word: "守护",info: "自身护盾", atktype:2}, uuid: 1021, path: "gou1", type: 1, level: 1, name: "黄皮豺狼", atk: 4, hp: 30, atk_dis: 40, atk_cd: 2, power: 0, power_max: 10, speed: 30,
1042:{uuid:1042,path:"ys2",type:1,level:1,name:"冰元素",atk:4,hp: 30,atk_dis:200,atk_cd:2,power:0,power_max:10,speed:30, max_skill: "精准打击", skill_uuid: 9001, max_skill_uuid: 9001, word: "守护", info: "自身护盾", atktype: 1
max_skill: "寒冰箭",skill_uuid:9002,max_skill_uuid:1002,word: "守护",info: "自身护盾", atktype:2}, },
1043:{uuid:1043,path:"ys3",type:1,level:1,name:"气元素",atk:4,hp: 30,atk_dis:200,atk_cd:2,power:0,power_max:10,speed:30, 1022: {
max_skill: "魔法球",skill_uuid:9002,max_skill_uuid:9002,word: "守护",info: "自身护盾", atktype:2}, uuid: 1022, path: "gou2", type: 1, level: 1, name: "白皮豺狼", atk: 4, hp: 30, atk_dis: 40, atk_cd: 2, power: 0, power_max: 10, speed: 30,
max_skill: "精准打击", skill_uuid: 9001, max_skill_uuid: 9001, word: "守护", info: "自身护盾", atktype: 1
},
1023: {
uuid: 1023, path: "gou3", type: 1, level: 1, name: "灰皮豺狼", atk: 4, hp: 30, atk_dis: 40, atk_cd: 2, power: 0, power_max: 10, speed: 30,
max_skill: "精准打击", skill_uuid: 9001, max_skill_uuid: 9001, word: "守护", info: "自身护盾", atktype: 1
},
1031: {
uuid: 1031, path: "gou1", type: 1, level: 1, name: "独眼巨人", atk: 4, hp: 30, atk_dis: 40, atk_cd: 2, power: 0, power_max: 10, speed: 30,
max_skill: "精准打击", skill_uuid: 9001, max_skill_uuid: 9001, word: "守护", info: "自身护盾", atktype: 1
},
1032: {
uuid: 1032, path: "gou2", type: 1, level: 1, name: "狂暴独眼", atk: 4, hp: 30, atk_dis: 40, atk_cd: 2, power: 0, power_max: 10, speed: 30,
max_skill: "精准打击", skill_uuid: 9001, max_skill_uuid: 9001, word: "守护", info: "自身护盾", atktype: 1
},
1033: {
uuid: 1033, path: "gou3", type: 1, level: 1, name: "独眼首领", atk: 4, hp: 30, atk_dis: 40, atk_cd: 2, power: 0, power_max: 10, speed: 30,
max_skill: "精准打击", skill_uuid: 9001, max_skill_uuid: 9001, word: "守护", info: "自身护盾", atktype: 1
},
1041: {
uuid: 1041, path: "ys1", type: 1, level: 1, name: "火元素", atk: 4, hp: 30, atk_dis: 200, atk_cd: 2, power: 0, power_max: 10, speed: 30,
max_skill: "火球术", skill_uuid: 9002, max_skill_uuid: 1001, word: "守护", info: "自身护盾", atktype: 2
},
1042: {
uuid: 1042, path: "ys2", type: 1, level: 1, name: "冰元素", atk: 4, hp: 30, atk_dis: 200, atk_cd: 2, power: 0, power_max: 10, speed: 30,
max_skill: "寒冰箭", skill_uuid: 9002, max_skill_uuid: 1002, word: "守护", info: "自身护盾", atktype: 2
},
1043: {
uuid: 1043, path: "ys3", type: 1, level: 1, name: "气元素", atk: 4, hp: 30, atk_dis: 200, atk_cd: 2, power: 0, power_max: 10, speed: 30,
max_skill: "魔法球", skill_uuid: 9002, max_skill_uuid: 9002, word: "守护", info: "自身护盾", atktype: 2
},
} }

View File

@@ -41,6 +41,7 @@ export class BoxRangComp extends CCComp {
// this.HeroViewComp.stop_cd = 0.1 // this.HeroViewComp.stop_cd = 0.1
// } // }
// } // }
} }
onEndContact (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) { onEndContact (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
@@ -53,6 +54,7 @@ export class BoxRangComp extends CCComp {
} }
} }
onPreSolve (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) { onPreSolve (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
if(selfCollider.group != otherCollider.group&&otherCollider.tag == 0){ if(selfCollider.group != otherCollider.group&&otherCollider.tag == 0){
let scene =smc.map.MapView.scene.mapLayer!.node! let scene =smc.map.MapView.scene.mapLayer!.node!
let other_pos = otherCollider.node.getWorldPosition() ; let other_pos = otherCollider.node.getWorldPosition() ;

View File

@@ -61,6 +61,7 @@ export class HeroViewComp extends CCComp {
skill_uuid:number = 9001; skill_uuid:number = 9001;
max_skill_uuid:number = 1001; max_skill_uuid:number = 1001;
atk: number = 10; /**攻击力 */ atk: number = 10; /**攻击力 */
buff_atk: number = 0;
// atk_speed: number = 1; // atk_speed: number = 1;
atk_cd: number = 1.3; /**攻击速度 攻击间隔 */ atk_cd: number = 1.3; /**攻击速度 攻击间隔 */
atk_dis: number = 80; atk_dis: number = 80;
@@ -86,7 +87,7 @@ export class HeroViewComp extends CCComp {
buff_shields:any=[]; buff_shields:any=[];
buff_atks:any = []; buff_atks:any = [];
dir_y:number = 0; dir_y:number = 0;
speek_time:number = 0;
onLoad() { onLoad() {
this.as = this.getComponent(HeroSpine); this.as = this.getComponent(HeroSpine);
// this.BoxRang = this.node.getChildByName("range_box"); // this.BoxRang = this.node.getChildByName("range_box");
@@ -137,9 +138,24 @@ export class HeroViewComp extends CCComp {
this.hp_change(skill.atk); this.hp_change(skill.atk);
} }
} }
}
onEndContact (selfCollider: Collider2D, otherCollider: Collider2D) {
} }
onEndContact (selfCollider: Collider2D, otherCollider: Collider2D) { }
onPreSolve (selfCollider: Collider2D, otherCollider: Collider2D) { onPreSolve (selfCollider: Collider2D, otherCollider: Collider2D) {
if(selfCollider.group == otherCollider.group&&selfCollider.tag==otherCollider.tag){
console.log("onBeginContact tag "+selfCollider.tag+otherCollider.tag)
if(selfCollider.node.position.y < otherCollider.node.position.y){
if(selfCollider.node.getSiblingIndex() < otherCollider.node.getSiblingIndex()){
console.log("onPreSolve",selfCollider.node,otherCollider.node)
console.log("onPreSolve f:"+selfCollider.node.uuid+":"+selfCollider.node.getSiblingIndex()+"/"+otherCollider.node.uuid+":"+otherCollider.node.getSiblingIndex());
selfCollider.node.setSiblingIndex(otherCollider.node.getSiblingIndex()+1)
console.log("onPreSolve b:"+selfCollider.node.uuid+":"+selfCollider.node.getSiblingIndex()+"/"+otherCollider.node.uuid+":"+otherCollider.node.getSiblingIndex());
}
}
}
} }
onPostSolve (selfCollider: Collider2D, otherCollider: Collider2D) { onPostSolve (selfCollider: Collider2D, otherCollider: Collider2D) {
} }
@@ -154,6 +170,7 @@ export class HeroViewComp extends CCComp {
this.in_shield(dt); this.in_shield(dt);
this.in_stop(dt); this.in_stop(dt);
this.in_atk(dt); this.in_atk(dt);
this.in_speek(dt);
this.move(dt); this.move(dt);
// if(this.m_timer.update(dt)){ // if(this.m_timer.update(dt)){
// this.move_to() // this.move_to()
@@ -221,6 +238,7 @@ export class HeroViewComp extends CCComp {
this.power += power; this.power += power;
if(this.power >= this.power_max&&this.check_enemy_alive()){ if(this.power >= this.power_max&&this.check_enemy_alive()){
this.as.atk() this.as.atk()
this.to_speek(smc.skills[this.max_skill_uuid].name)
this.scheduleOnce(()=>{ this.scheduleOnce(()=>{
this.do_max_skill(); this.do_max_skill();
},0.5) },0.5)
@@ -257,7 +275,22 @@ export class HeroViewComp extends CCComp {
let atk = smc.skills[this.max_skill_uuid].atk+this.atk; let atk = smc.skills[this.max_skill_uuid].atk+this.atk;
let {pos,angle,t_pos}=this.get_enemy_pos() let {pos,angle,t_pos}=this.get_enemy_pos()
skill.load(pos,speed,dis,scale,this.node,this.max_skill_uuid,atk,angle,t_pos); skill.load(pos,speed,dis,scale,this.node,this.max_skill_uuid,atk,angle,t_pos);
this.tooltip(3,smc.skills[this.max_skill_uuid].name,this.max_skill_uuid); }
to_speek(words:string,time:number=0.5){
this.speek_time=0.5
this.node.getChildByName("tooltip").active=true
this.node.getChildByName("tooltip").getChildByName("words").getComponent(Label)!.string = words
}
in_speek(dt: number){
if(this.speek_time <= 0){
return;
}
this.speek_time -= dt;
if(this.speek_time <= 0){
this.speek_time = 0;
this.node.getChildByName("tooltip").getChildByName("words").getComponent(Label)!.string = "";
this.node.getChildByName("tooltip").active=false;
}
} }
get_enemy_pos(){ get_enemy_pos(){
let pos = v3(35*this.scale,50) let pos = v3(35*this.scale,50)
@@ -320,21 +353,13 @@ export class HeroViewComp extends CCComp {
this.node.getChildByName("top").getChildByName("hp").getComponent(ProgressBar)!.progress = hp_progress; this.node.getChildByName("top").getChildByName("hp").getComponent(ProgressBar)!.progress = hp_progress;
if(this.hp <= 0){ if(this.hp <= 0){
this.dead(); this.dead();
this.remove_smc_data()
this.is_dead = true; this.is_dead = true;
setTimeout(() => { setTimeout(() => {
this.ent.destroy(); this.ent.destroy();
}, 15); }, 15);
} }
} }
remove_smc_data(){
if(smc.t_monster.eid == this.ent.eid){
smc.t_monster = {eid:0,pos:v3(0,0,0)}
}
if(smc.t_hero.eid == this.ent.eid){
smc.t_hero = {eid:0,pos:v3(0,0,0)}
}
}
add_hp(hp: number=0){ add_hp(hp: number=0){
console.log("hero 加血动画"); console.log("hero 加血动画");
this.hp+=hp; this.hp+=hp;
@@ -349,6 +374,9 @@ export class HeroViewComp extends CCComp {
if(time > 0){ if(time > 0){
let buff={atk:atk,time:time} let buff={atk:atk,time:time}
this.buff_atks.push(buff); this.buff_atks.push(buff);
this.buff_atks.forEach((element: { atk: number; }) => {
this.buff_atk += element.atk
});
}else{ }else{
this.atk += atk; this.atk += atk;
} }
@@ -358,10 +386,20 @@ export class HeroViewComp extends CCComp {
let buff=this.buff_atks[i]; let buff=this.buff_atks[i];
buff.time -= dt; buff.time -= dt;
if(buff.time <= 0){ if(buff.time <= 0){
if(buff.atk > 0)this.atk -= buff.atk;
this.buff_atks.splice(i,1); this.buff_atks.splice(i,1);
}else{
this.buff_atk += buff.atk
} }
} }
if(this.buff_atks.length <= 0){
this.buff_atk = 0
this.buff_icon_change("atk",false)
}else{
this.buff_icon_change("atk",true)
}
}
buff_icon_change(icon:string,value:boolean){
this.node.getChildByName("top").getChildByName("buff").getChildByName(icon).active=value
} }
add_shield(shield: number,time:number=0){ add_shield(shield: number,time:number=0){
this.shield =this.shield_max=shield this.shield =this.shield_max=shield

View File

@@ -32,7 +32,7 @@ export class MapMonsterComp extends CCComp {
mission_up_timer: Timer = new Timer(30); //波次增加 mission_up_timer: Timer = new Timer(30); //波次增加
cur_mission:number = 1; //当前关卡方案 cur_mission:number = 1; //当前关卡方案
mission_list:any = [] mission_list:any = []
setp_timer: Timer = new Timer(0.5); setp_timer: Timer = new Timer(0.3);
target_timer: Timer = new Timer(0.1); target_timer: Timer = new Timer(0.1);
setp_num:number = 1; setp_num:number = 1;
game_over:boolean = false; game_over:boolean = false;
@@ -40,8 +40,6 @@ export class MapMonsterComp extends CCComp {
// 监听全局事件 // 监听全局事件
oops.message.on("other_add_monster", this.on_other_add_monster, this); oops.message.on("other_add_monster", this.on_other_add_monster, this);
oops.message.on("do_add_hero", this.on_do_add_hero, this); oops.message.on("do_add_hero", this.on_do_add_hero, this);
} }
start() { start() {
// this.scene = this.getComponent(MapViewScene); // this.scene = this.getComponent(MapViewScene);
@@ -70,55 +68,17 @@ export class MapMonsterComp extends CCComp {
// 刷新怪物定时器 // 刷新怪物定时器
this.cur_count += 1; this.cur_count += 1;
} }
// if(this.target_timer.update(dt)){
// this.target_update()
// }
// if (this.game_timer.update(dt)) { // if (this.game_timer.update(dt)) {
// smc.vm_data.game.g_time += 1; // smc.vm_data.game.g_time += 1;
// } // }
// this.shuaxin(dt) // this.shuaxin(dt)
} }
target_update(){ check_mon_count(){
console.log("map ",smc.t_hero,smc.t_monster) let count = 0;
let heros:any = ecs.query(ecs.allOf(HeroModelComp)); let list = ecs.query(ecs.allOf(MonModelComp));
let monsters:any =ecs.query(ecs.allOf(MonModelComp)); count = list.length
let h_x=-1000 return count;
let m_x=1000
let thi=9999
let tmi=9999
for (let i = 0; i < heros.length; i++) {
const hero = heros[i];
if(hero.MonsterView.node.position.x > h_x){
h_x = hero.MonsterView.node.position.x
thi = i
if(smc.t_hero.eid == hero.MonsterView.eid){
break
}
}
}
for (let i = 0; i < monsters.length; i++) {
const monster = monsters[i];
if(monster.MonsterView.node.position.x < m_x){
m_x = monster.MonsterView.node.position.x
tmi = i
if(smc.t_monster.eid == monster.MonsterView.eid){
break
}
}
}
if(thi==9999){
smc.t_hero={eid:0,pos:v3(0,0,0)}
}else{
smc.t_hero = {eid:heros[thi].MonsterView.eid,pos:v3(heros[thi].MonsterView.node.position,heros[thi].MonsterView.node.position.y)}
}
if(tmi==9999){
smc.t_monster={eid:0,pos:v3(0,0,0)}
}else{
smc.t_monster ={eid:monsters[tmi].MonsterView.eid,pos:v3(monsters[tmi].MonsterView.node.position,monsters[tmi].MonsterView.node.position.y)}
}
} }
load_role(){ load_role(){
let role = ecs.getEntity<Role>(Role); let role = ecs.getEntity<Role>(Role);
@@ -134,7 +94,6 @@ export class MapMonsterComp extends CCComp {
private addHero(uuid:number=1001) { private addHero(uuid:number=1001) {
let hero = ecs.getEntity<Hero>(Hero); let hero = ecs.getEntity<Hero>(Hero);
let {pos,monster_layer}=this.set_layer(BoxSet.HERO_START) let {pos,monster_layer}=this.set_layer(BoxSet.HERO_START)
let scale = 1 let scale = 1
hero.load(pos,scale,uuid,monster_layer); hero.load(pos,scale,uuid,monster_layer);
} }
@@ -149,16 +108,18 @@ export class MapMonsterComp extends CCComp {
let m2:any = RandomManager.instance.getRandomByObjectList(this.mission_list[this.monster_level],1) let m2:any = RandomManager.instance.getRandomByObjectList(this.mission_list[this.monster_level],1)
// console.log("刷怪",m) // console.log("刷怪",m)
var scene = smc.map.MapView.scene; var scene = smc.map.MapView.scene;
let pos:Vec3 = v3(BoxSet.MONSTER_START,BoxSet.GAME_LINE+RandomManager.instance.getRandomInt(-40,40, 1)) let pos:Vec3 = v3(BoxSet.MONSTER_START,BoxSet.GAME_LINE+RandomManager.instance.getRandomInt(80,130, 1))
let pos1:Vec3 = v3(BoxSet.MONSTER_START,BoxSet.GAME_LINE+RandomManager.instance.getRandomInt(40,130, 1)) let pos1:Vec3 = v3(BoxSet.MONSTER_START,BoxSet.GAME_LINE+RandomManager.instance.getRandomInt(10,60, 1))
let pos2:Vec3 = v3(BoxSet.MONSTER_START,BoxSet.GAME_LINE-RandomManager.instance.getRandomInt(40,130, 1)) let pos2:Vec3 = v3(BoxSet.MONSTER_START,BoxSet.GAME_LINE-RandomManager.instance.getRandomInt(10,60, 1))
let pos3:Vec3 = v3(BoxSet.MONSTER_START,BoxSet.GAME_LINE-RandomManager.instance.getRandomInt(80,130, 1))
let monster_layer = scene.entityLayer!.node! let monster_layer = scene.entityLayer!.node!
let monster_layer1 = scene.entityLayer1!.node!; // let monster_layer1 = scene.entityLayer1!.node!;
let monster_layer2 = scene.entityLayer2!.node!; // let monster_layer2 = scene.entityLayer2!.node!;
this.addMonster(m[0],monster_layer,pos) this.addMonster(m[0],monster_layer,pos)
this.addMonster(m1[0],monster_layer1,pos1) this.addMonster(m1[0],monster_layer,pos1)
this.addMonster(m2[0],monster_layer2,pos2) this.addMonster(m2[0],monster_layer,pos2)
this.addMonster(m2[0],monster_layer,pos3)
this.setp_num -= 1 this.setp_num -= 1
} }
private addMonster(uuid:number=1001,layer:any,pos:Vec3=v3(0,0,0)) { private addMonster(uuid:number=1001,layer:any,pos:Vec3=v3(0,0,0)) {
@@ -168,20 +129,8 @@ export class MapMonsterComp extends CCComp {
} }
set_layer(start:number=0){ set_layer(start:number=0){
var scene = smc.map.MapView.scene; var scene = smc.map.MapView.scene;
let pos:Vec3 = v3(start,BoxSet.GAME_LINE+RandomManager.instance.getRandomInt(-40,40, 1)); let pos:Vec3 = v3(start,BoxSet.GAME_LINE+RandomManager.instance.getRandomInt(-130,130, 1));
let x = RandomManager.instance.getRandomInt(0,2, 2);
let monster_layer = scene.entityLayer!.node! let monster_layer = scene.entityLayer!.node!
switch (x) {
case 1:
monster_layer = scene.entityLayer1!.node!;
pos.y=pos.y+RandomManager.instance.getRandomInt(40,130, 1);
break;
case 2:
monster_layer= scene.entityLayer2!.node!;
pos.y=pos.y-RandomManager.instance.getRandomInt(40,130, 1);
break;
}
return {pos,monster_layer} return {pos,monster_layer}
} }
private on_other_add_monster(event: string, args: any) { private on_other_add_monster(event: string, args: any) {

View File

@@ -53,6 +53,11 @@ export class BoxRangComp extends CCComp {
} }
} }
onPreSolve (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) { onPreSolve (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
// if(selfCollider.node.parent.position.y < otherCollider.node.parent.position.y){
// console.log("onPreSolve f:"+selfCollider.node.parent.getSiblingIndex()+"/"+otherCollider.node.parent.getSiblingIndex());
// selfCollider.node.parent.setSiblingIndex(otherCollider.node.parent.getSiblingIndex()+1)
// console.log("onPreSolve b:"+selfCollider.node.parent.getSiblingIndex()+"/"+otherCollider.node.parent.getSiblingIndex());
// }
if(selfCollider.group != otherCollider.group&&otherCollider.tag == 0){ if(selfCollider.group != otherCollider.group&&otherCollider.tag == 0){
let scene =smc.map.MapView.scene.mapLayer!.node! let scene =smc.map.MapView.scene.mapLayer!.node!
let other_pos = otherCollider.node.getWorldPosition() ; let other_pos = otherCollider.node.getWorldPosition() ;

View File

@@ -84,6 +84,8 @@ export class MonViewComp extends CCComp {
buff_shields:any=[]; buff_shields:any=[];
buff_atks:any = []; buff_atks:any = [];
dir_y:number = 0; dir_y:number = 0;
speek_time:number = 0;
onLoad() { onLoad() {
this.as = this.getComponent(MonSpine); this.as = this.getComponent(MonSpine);
// this.BoxRang = this.node.getChildByName("range_box"); // this.BoxRang = this.node.getChildByName("range_box");
@@ -168,6 +170,7 @@ export class MonViewComp extends CCComp {
this.power_change(this.power_speed) this.power_change(this.power_speed)
} }
this.in_destroy(); this.in_destroy();
this.in_speek(dt);
this.in_shield(dt); this.in_shield(dt);
this.in_stop(dt); this.in_stop(dt);
this.in_atk(dt); this.in_atk(dt);
@@ -237,6 +240,7 @@ export class MonViewComp extends CCComp {
this.power += power; this.power += power;
if(this.power >= this.power_max&&this.check_enemy_alive()){ if(this.power >= this.power_max&&this.check_enemy_alive()){
this.as.atk() this.as.atk()
this.to_speek(smc.skills[this.max_skill_uuid].name)
this.scheduleOnce(()=>{ this.scheduleOnce(()=>{
this.do_max_skill(); this.do_max_skill();
},0.5) },0.5)
@@ -258,6 +262,7 @@ export class MonViewComp extends CCComp {
} }
//使用max_skill //使用max_skill
do_max_skill(){ do_max_skill(){
let skill = ecs.getEntity<Skill>(Skill); let skill = ecs.getEntity<Skill>(Skill);
let scale = this.scale let scale = this.scale
let speed =smc.skills[this.max_skill_uuid].speed; let speed =smc.skills[this.max_skill_uuid].speed;
@@ -265,7 +270,22 @@ export class MonViewComp extends CCComp {
let atk = smc.skills[this.max_skill_uuid].atk+this.atk; let atk = smc.skills[this.max_skill_uuid].atk+this.atk;
let {pos,angle,t_pos}=this.get_enemy_pos() let {pos,angle,t_pos}=this.get_enemy_pos()
skill.load(pos,speed,dis,scale,this.node,this.max_skill_uuid,atk,angle,t_pos); skill.load(pos,speed,dis,scale,this.node,this.max_skill_uuid,atk,angle,t_pos);
this.tooltip(3,smc.skills[this.max_skill_uuid].name,this.max_skill_uuid); }
to_speek(words:string,time:number=0.5){
this.speek_time=0.5
this.node.getChildByName("tooltip").active=true
this.node.getChildByName("tooltip").getChildByName("words").getComponent(Label)!.string = words
}
in_speek(dt: number){
if(this.speek_time <= 0){
return;
}
this.speek_time -= dt;
if(this.speek_time <= 0){
this.speek_time = 0;
this.node.getChildByName("tooltip").getChildByName("words").getComponent(Label)!.string = "";
this.node.getChildByName("tooltip").active=false;
}
} }
get_enemy_pos(){ get_enemy_pos(){
let pos = v3(35*this.scale,50) let pos = v3(35*this.scale,50)
@@ -328,21 +348,13 @@ export class MonViewComp extends CCComp {
this.node.getChildByName("top").getChildByName("hp").getComponent(ProgressBar)!.progress = hp_progress; this.node.getChildByName("top").getChildByName("hp").getComponent(ProgressBar)!.progress = hp_progress;
if(this.hp <= 0){ if(this.hp <= 0){
this.dead(); this.dead();
this.remove_smc_data()
this.is_dead = true; this.is_dead = true;
setTimeout(() => { setTimeout(() => {
this.ent.destroy(); this.ent.destroy();
}, 15); }, 15);
} }
} }
remove_smc_data(){
if(smc.t_monster.eid == this.ent.eid){
smc.t_monster = {eid:0,pos:v3(0,0,0)}
}
if(smc.t_hero.eid == this.ent.eid){
smc.t_hero = {eid:0,pos:v3(0,0,0)}
}
}
add_hp(hp: number=0){ add_hp(hp: number=0){
console.log("hero 加血动画"); console.log("hero 加血动画");
this.hp+=hp; this.hp+=hp;
@@ -415,6 +427,7 @@ export class MonViewComp extends CCComp {
tip.load(pos,type,value,s_uuid,node); tip.load(pos,type,value,s_uuid,node);
} }
/** 静止时间 */ /** 静止时间 */
in_stop (dt: number) { in_stop (dt: number) {
if(this.stop_cd > 0){ if(this.stop_cd > 0){