This commit is contained in:
2025-07-25 13:23:54 +08:00
parent ac12d8cfe6
commit 509121a2ab
13 changed files with 1586 additions and 478 deletions

View File

@@ -11,7 +11,7 @@
"speed": 1, "speed": 1,
"wrapMode": 1, "wrapMode": 1,
"enableTrsBlending": false, "enableTrsBlending": false,
"_duration": 0.375, "_duration": 0.5,
"_hash": 500763545, "_hash": 500763545,
"_tracks": [ "_tracks": [
{ {
@@ -69,30 +69,65 @@
"__type__": "cc.ObjectCurve", "__type__": "cc.ObjectCurve",
"_times": [ "_times": [
0, 0,
0.041666666666666664,
0.08333333333333333, 0.08333333333333333,
0.125,
0.16666666666666666, 0.16666666666666666,
0.20833333333333334,
0.25, 0.25,
0.3333333333333333 0.2916666666666667,
0.3333333333333333,
0.375,
0.4166666666666667,
0.4583333333333333
], ],
"_values": [ "_values": [
{ {
"__uuid__": "45af5702-7585-4d72-85cf-d7b8da02d832@07243", "__uuid__": "093403fd-fec9-42ef-b952-5831234ff06e@cfff5",
"__expectedType__": "cc.SpriteFrame" "__expectedType__": "cc.SpriteFrame"
}, },
{ {
"__uuid__": "45af5702-7585-4d72-85cf-d7b8da02d832@55d08", "__uuid__": "093403fd-fec9-42ef-b952-5831234ff06e@b1b76",
"__expectedType__": "cc.SpriteFrame" "__expectedType__": "cc.SpriteFrame"
}, },
{ {
"__uuid__": "45af5702-7585-4d72-85cf-d7b8da02d832@36291", "__uuid__": "093403fd-fec9-42ef-b952-5831234ff06e@f4829",
"__expectedType__": "cc.SpriteFrame" "__expectedType__": "cc.SpriteFrame"
}, },
{ {
"__uuid__": "45af5702-7585-4d72-85cf-d7b8da02d832@4052b", "__uuid__": "093403fd-fec9-42ef-b952-5831234ff06e@6eeee",
"__expectedType__": "cc.SpriteFrame" "__expectedType__": "cc.SpriteFrame"
}, },
{ {
"__uuid__": "45af5702-7585-4d72-85cf-d7b8da02d832@e928b", "__uuid__": "093403fd-fec9-42ef-b952-5831234ff06e@a90d1",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "093403fd-fec9-42ef-b952-5831234ff06e@b524a",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "093403fd-fec9-42ef-b952-5831234ff06e@059a1",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "093403fd-fec9-42ef-b952-5831234ff06e@56539",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "093403fd-fec9-42ef-b952-5831234ff06e@1143e",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "093403fd-fec9-42ef-b952-5831234ff06e@19e00",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "093403fd-fec9-42ef-b952-5831234ff06e@ddfc2",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "093403fd-fec9-42ef-b952-5831234ff06e@f1e4c",
"__expectedType__": "cc.SpriteFrame" "__expectedType__": "cc.SpriteFrame"
} }
] ]

View File

@@ -858,13 +858,13 @@
"_restitution": 0, "_restitution": 0,
"_offset": { "_offset": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
"x": -36.9, "x": 2.2,
"y": -4 "y": -33.9
}, },
"_size": { "_size": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 60.6, "width": 31.5,
"height": 31.6 "height": 59.1
}, },
"_id": "" "_id": ""
}, },

View File

@@ -90,7 +90,7 @@
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 0, "x": 0,
"y": -45, "y": -10,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {

View File

@@ -0,0 +1,289 @@
[
{
"__type__": "cc.Prefab",
"_name": "map_birth",
"_objFlags": 0,
"__editorExtras__": {},
"_native": "",
"data": {
"__id__": 1
},
"optimizationPolicy": 0,
"persistent": false
},
{
"__type__": "cc.Node",
"_name": "map_birth",
"_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": "skill",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 3
},
{
"__id__": 5
}
],
"_prefab": {
"__id__": 7
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": -15,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 1.2,
"y": 1.2,
"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": 98,
"height": 176
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.49367133720771417,
"y": 0
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "43ucwKXvZIjpuRMb6AMdcx"
},
{
"__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": null,
"_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": "62kIaCLMJIDKY/ceTYVdJH"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "b05wpkPXFJqK6/PzoIxCfr",
"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": 120,
"height": 80
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.49664333316829656,
"y": 0.5156666649712457
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "63NP9yq3hEUKD/OZZZ5t7x"
},
{
"__type__": "cc.Animation",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 11
},
"playOnLoad": true,
"_clips": [
{
"__uuid__": "36db0751-ae0c-4e1e-843c-7db7c3eda630",
"__expectedType__": "cc.AnimationClip"
}
],
"_defaultClip": {
"__uuid__": "36db0751-ae0c-4e1e-843c-7db7c3eda630",
"__expectedType__": "cc.AnimationClip"
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "740VLvDr9KhoDhfPiTCnnK"
},
{
"__type__": "0f3c4JhFbFO2rEFqBJJ7hFv",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 13
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "66/5npqKRIxohU+D0yNtoy"
},
{
"__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": "51941a43-66a1-47b1-aa37-0470b33b3d12",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "map_birth"
}
}

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: 157 KiB

After

Width:  |  Height:  |  Size: 163 KiB

View File

@@ -247,11 +247,11 @@ export const SkillSet = {
debuff:0,deV:0,deC:0,deR:100,in:8,ap:100,cd:5,hit:1,hited:3,buV:0,buC:0,buR:100,speed:720,cost:10,info:"向最前方敌人释放箭矢,造成100%攻击的伤害"}, debuff:0,deV:0,deC:0,deR:100,in:8,ap:100,cd:5,hit:1,hited:3,buV:0,buC:0,buR:100,speed:720,cost:10,info:"向最前方敌人释放箭矢,造成100%攻击的伤害"},
6004:{uuid:6004,name:"护盾",for_hero:true,sp_name:"buff_to",path:"3045",quality:Quality.BLUE, TType:TType.Frontline,maxC:1, 6004:{uuid:6004,name:"护盾",for_hero:true,sp_name:"buff_to",path:"3045",quality:Quality.BLUE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Team,SType:SType.shield,act:"max",DTType:DTType.single,CdType:CdType.atked,AType:AType.StartEnd,RType:RType.fixed,EType:EType.timeEnd,fname:"max",flash:false,with:0, TGroup:TGroup.Team,SType:SType.shield,act:"atk",DTType:DTType.single,CdType:CdType.atked,AType:AType.StartEnd,RType:RType.fixed,EType:EType.timeEnd,fname:"max",flash:false,with:0,
debuff:0,deV:0,deC:0,deR:100,in:1,ap:0,cd:10,hit:1,hited:3,buV:2,buC:0,buR:100,speed:720,cost:10,info:"为最前排队友召唤一个可以抵御2次攻击的圣盾(最高叠加到6次)"}, debuff:0,deV:0,deC:0,deR:100,in:1,ap:0,cd:10,hit:1,hited:3,buV:2,buC:0,buR:100,speed:720,cost:10,info:"为最前排队友召唤一个可以抵御2次攻击的圣盾(最高叠加到6次)"},
6005:{uuid:6005,name:"治疗", for_hero:true, sp_name:"heath_small",path:"3056",quality:Quality.GREEN, TType:TType.Frontline,maxC:1, 6005:{uuid:6005,name:"治疗", for_hero:true, sp_name:"heath_small",path:"3056",quality:Quality.GREEN, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Team,SType:SType.heal,act:"max",DTType:DTType.single,CdType:CdType.atked,AType:AType.StartEnd,RType:RType.fixed,EType:EType.timeEnd,fname:"max",flash:false,with:0, TGroup:TGroup.Team,SType:SType.heal,act:"atk",DTType:DTType.single,CdType:CdType.atked,AType:AType.StartEnd,RType:RType.fixed,EType:EType.timeEnd,fname:"max",flash:false,with:0,
debuff:0,deV:0,deC:0,deR:100,in:1,ap:0,cd:5,hit:0,hited:0,buV:20,buC:0,buR:100,speed:0,cost:10,info:"回复最前排队友10%最大生命值的生命"}, debuff:0,deV:0,deC:0,deR:100,in:1,ap:0,cd:5,hit:0,hited:0,buV:20,buC:0,buR:100,speed:0,cost:10,info:"回复最前排队友10%最大生命值的生命"},
6006:{uuid:6006,name:"铁斧打击",for_hero:false,sp_name:"base_ft",path:"3036",quality:Quality.WHITE, TType:TType.Frontline,maxC:1, 6006:{uuid:6006,name:"铁斧打击",for_hero:false,sp_name:"base_ft",path:"3036",quality:Quality.WHITE, TType:TType.Frontline,maxC:1,

View File

@@ -53,17 +53,17 @@ export const HQuality = {
ORANGE:5, ORANGE:5,
} }
export const MonSet = { export const MonSet = {
0:{pos:v3(390,0,0)}, 0:{pos:v3(160,0,0)},
1:{pos:v3(430,0,0)}, 1:{pos:v3(220,0,0)},
2:{pos:v3(470,0,0)}, 2:{pos:v3(280,0,0)},
3:{pos:v3(510,0,0)}, 3:{pos:v3(340,0,0)},
4:{pos:v3(550,0,0)}, 4:{pos:v3(400,0,0)},
5:{pos:v3(590,0,0)}, 5:{pos:v3(460,0,0)},
6:{pos:v3(630,0,0)}, 6:{pos:v3(520,0,0)},
7:{pos:v3(670,0,0)}, 7:{pos:v3(440,0,0)},
8:{pos:v3(710,0,0)}, 8:{pos:v3(480,0,0)},
9:{pos:v3(750,0,0)}, 9:{pos:v3(520,0,0)},
10:{pos:v3(790,0,0)}, 10:{pos:v3(560,0,0)},
11:{pos:v3(830,0,0)}, 11:{pos:v3(830,0,0)},
12:{pos:v3(870,0,0)}, 12:{pos:v3(870,0,0)},
13:{pos:v3(910,0,0)}, 13:{pos:v3(910,0,0)},

View File

@@ -10,30 +10,35 @@ export default class HeroAnmComp extends Component{
private spine?: sp.Skeleton; private spine?: sp.Skeleton;
private _hasStop = true; private _hasStop = true;
private default_anim:string='Idle'
onLoad () { onLoad () {
var spine = this.spine = this.getComponent('sp.Skeleton') as sp.Skeleton; var spine = this.spine = this.getComponent('sp.Skeleton') as sp.Skeleton;
this._setMix('Walking', 'Idle'); this._setMix('Walking', 'Idle');
this._setMix('Walking', 'Attacking'); this._setMix('Walking', 'Attacking');
this._setMix('Walking', 'Taunt'); this._setMix('Walking', 'Taunt');
this._setMix('Walking', 'Hurt');
this._setMix('Idle', 'Attacking'); this._setMix('Idle', 'Attacking');
this._setMix('Idle', 'Taunt'); this._setMix('Idle', 'Taunt');
this._setMix('Idle', 'Walking'); this._setMix('Idle', 'Walking');
this._setMix('Idle', 'Hurt');
this._setMix('Attacking', 'Idle'); this._setMix('Attacking', 'Idle');
this._setMix('Attacking', 'Walking'); this._setMix('Attacking', 'Walking');
this._setMix('Attacking', 'Hurt'); this._setMix('Attacking', 'Hurt');
this._setMix('Attacking', 'Taunt');
this._setMix('Taunt', 'Walking'); this._setMix('Taunt', 'Walking');
this._setMix('Taunt', 'Idle'); this._setMix('Taunt', 'Idle');
this._setMix('Taunt', 'Attacking');
this._setMix('Taunt', 'Hurt');
this._setMix('Hurt', 'Idle'); this._setMix('Hurt', 'Idle');
this._setMix('Hurt', 'Attacking'); this._setMix('Hurt', 'Attacking');
this._setMix('Hurt', 'Taunt'); this._setMix('Hurt', 'Taunt');
this._setMix('Hurt', 'Walking');
spine.setCompleteListener((trackEntry) => { spine.setCompleteListener((trackEntry) => {
var animationName = trackEntry.animation ? trackEntry.animation.name : ""; var animationName = trackEntry.animation ? trackEntry.animation.name : "";
if (animationName === 'Attacking'||animationName==='Taunt'||animationName==='Hurt') { if (animationName === 'Attacking'||animationName==='Taunt'||animationName==='Hurt') {
this.spine!.clearTrack(1); this.spine!.clearTrack(1);
if(this.node.parent.getComponent(HeroViewComp).fac==FacSet.HERO){ this.spine?.setAnimation(0, this.default_anim, true);
this.spine?.setAnimation(0, 'Idle', false);
}
} }
var loopCount = Math.floor(trackEntry.trackTime / trackEntry.animationEnd); var loopCount = Math.floor(trackEntry.trackTime / trackEntry.animationEnd);
// console.log("[track %s][animation %s] complete: %s", trackEntry.trackIndex, animationName, loopCount); // console.log("[track %s][animation %s] complete: %s", trackEntry.trackIndex, animationName, loopCount);
@@ -85,6 +90,7 @@ export default class HeroAnmComp extends Component{
this.spine?.setToSetupPose(); this.spine?.setToSetupPose();
} }
this.spine?.setAnimation(0, 'Walking', true); this.spine?.setAnimation(0, 'Walking', true);
this.default_anim='Walking'
this._hasStop = false; this._hasStop = false;
} }
atk () { atk () {
@@ -100,6 +106,7 @@ export default class HeroAnmComp extends Component{
idle () { idle () {
this.spine?.setToSetupPose(); this.spine?.setToSetupPose();
this.spine?.setAnimation(0, 'Idle', true); this.spine?.setAnimation(0, 'Idle', true);
this.default_anim='Idle'
} }
_setMix (anim1: string, anim2: string) { _setMix (anim1: string, anim2: string) {

View File

@@ -132,7 +132,7 @@ export class HeroViewComp extends CCComp {
const collider = this.node.getComponent(BoxCollider2D); const collider = this.node.getComponent(BoxCollider2D);
this.scheduleOnce(()=>{ this.scheduleOnce(()=>{
if (collider) collider.enabled = true; // 先禁用 if (collider) collider.enabled = true; // 先禁用
},2) },1)
// let anm = this.node.getChildByName("anm") // let anm = this.node.getChildByName("anm")
// anm.setScale(anm.scale.x*0.8,anm.scale.y*0.8); // anm.setScale(anm.scale.x*0.8,anm.scale.y*0.8);
} }

View File

@@ -35,10 +35,12 @@ export class Monster extends ecs.Entity {
let box_group=BoxSet.MONSTER let box_group=BoxSet.MONSTER
console.log("mon load",uuid) console.log("mon load",uuid)
// this.addComponents<ecs.Comp>( MonModelComp, BattleMoveComp); // this.addComponents<ecs.Comp>( MonModelComp, BattleMoveComp);
var scene = smc.map.MapView.scene;
this.brith_light(pos,scene)
var path = "game/heros/"+HeroInfo[uuid].path; var path = "game/heros/"+HeroInfo[uuid].path;
var prefab: Prefab = oops.res.get(path, Prefab)!; var prefab: Prefab = oops.res.get(path, Prefab)!;
var node = instantiate(prefab); var node = instantiate(prefab);
var scene = smc.map.MapView.scene;
node.parent = scene.entityLayer!.node! node.parent = scene.entityLayer!.node!
const collider = node.getComponent(BoxCollider2D); const collider = node.getComponent(BoxCollider2D);
if (collider) collider.enabled = false; // 先禁用 // 延迟一帧启用碰撞体 if (collider) collider.enabled = false; // 先禁用 // 延迟一帧启用碰撞体
@@ -51,7 +53,13 @@ export class Monster extends ecs.Entity {
move.direction = -1; // 向左移动 move.direction = -1; // 向左移动
move.targetX = -800; // 左边界 move.targetX = -800; // 左边界
} }
brith_light(pos:Vec3,scene:any){
var path = "game/skills/map_birth";
var prefab: Prefab = oops.res.get(path, Prefab)!;
var node = instantiate(prefab);
node.parent = scene.entityLayer!.node!
node.setPosition(pos)
}
hero_init(uuid:number=1001,node:Node,scale:number=1,box_group=BoxSet.HERO,is_boss:boolean=false,is_call:boolean=false,lv:number=1,rogueBuffData?: any[]) { hero_init(uuid:number=1001,node:Node,scale:number=1,box_group=BoxSet.HERO,is_boss:boolean=false,is_call:boolean=false,lv:number=1,rogueBuffData?: any[]) {
var hv = node.getComponent(HeroViewComp)!; var hv = node.getComponent(HeroViewComp)!;
hv.hide_info() hv.hide_info()