diff --git a/assets/resources/game/map/map_rpg.prefab b/assets/resources/game/map/map_rpg.prefab index 63ec65f5..e765a34c 100644 --- a/assets/resources/game/map/map_rpg.prefab +++ b/assets/resources/game/map/map_rpg.prefab @@ -28,17 +28,17 @@ "_active": true, "_components": [ { - "__id__": 70 + "__id__": 80 }, { - "__id__": 72 + "__id__": 82 }, { - "__id__": 74 + "__id__": 84 } ], "_prefab": { - "__id__": 76 + "__id__": 86 }, "_lpos": { "__type__": "cc.Vec3", @@ -197,17 +197,17 @@ "_active": true, "_components": [ { - "__id__": 63 + "__id__": 73 }, { - "__id__": 65 + "__id__": 75 }, { - "__id__": 67 + "__id__": 77 } ], "_prefab": { - "__id__": 69 + "__id__": 79 }, "_lpos": { "__type__": "cc.Vec3", @@ -263,11 +263,11 @@ "_active": true, "_components": [ { - "__id__": 60 + "__id__": 70 } ], "_prefab": { - "__id__": 62 + "__id__": 72 }, "_lpos": { "__type__": "cc.Vec3", @@ -1023,14 +1023,14 @@ "_active": true, "_components": [ { - "__id__": 55 + "__id__": 65 }, { - "__id__": 57 + "__id__": 67 } ], "_prefab": { - "__id__": 59 + "__id__": 69 }, "_lpos": { "__type__": "cc.Vec3", @@ -1113,6 +1113,30 @@ }, { "__id__": 54 + }, + { + "__id__": 55 + }, + { + "__id__": 57 + }, + { + "__id__": 59 + }, + { + "__id__": 60 + }, + { + "__id__": 61 + }, + { + "__id__": 62 + }, + { + "__id__": 63 + }, + { + "__id__": 64 } ], "removedComponents": [] @@ -1143,8 +1167,8 @@ ], "value": { "__type__": "cc.Vec3", - "x": -312.4457, - "y": 27.56899999999996, + "x": -13.446, + "y": -13.431, "z": 0 } }, @@ -1187,7 +1211,7 @@ "propertyPath": [ "_active" ], - "value": false + "value": true }, { "__type__": "CCPropertyOverrideInfo", @@ -1204,6 +1228,106 @@ "z": 1 } }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 56 + }, + "propertyPath": [ + "_group" + ], + "value": 4 + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "c8EJ1KQ3hNRbAw0cgsaNRx" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 58 + }, + "propertyPath": [ + "_group" + ], + "value": 4 + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "62fAGknj9OypOrug6f/FI6" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 58 + }, + "propertyPath": [ + "_sensor" + ], + "value": true + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 56 + }, + "propertyPath": [ + "_type" + ], + "value": 2 + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 58 + }, + "propertyPath": [ + "_density" + ], + "value": 0 + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 58 + }, + "propertyPath": [ + "_offset" + ], + "value": { + "__type__": "cc.Vec2", + "x": 1.1, + "y": 35.9 + } + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 58 + }, + "propertyPath": [ + "_size" + ], + "value": { + "__type__": "cc.Size", + "width": 57.5, + "height": 128 + } + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 56 + }, + "propertyPath": [ + "_gravityScale" + ], + "value": 0 + }, { "__type__": "cc.UITransform", "_name": "", @@ -1214,7 +1338,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 56 + "__id__": 66 }, "_contentSize": { "__type__": "cc.Size", @@ -1242,7 +1366,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 58 + "__id__": 68 }, "light": { "__uuid__": "319c7eb8-9826-48b6-81e4-82559dbf82a8", @@ -1277,7 +1401,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 61 + "__id__": 71 }, "_contentSize": { "__type__": "cc.Size", @@ -1318,7 +1442,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 64 + "__id__": 74 }, "_contentSize": { "__type__": "cc.Size", @@ -1346,7 +1470,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 66 + "__id__": 76 }, "camera": { "__id__": 3 @@ -1364,7 +1488,7 @@ "__id__": 41 }, "SkillLayer": { - "__id__": 57 + "__id__": 67 }, "isFollowPlayer": true, "_id": "" @@ -1383,7 +1507,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 68 + "__id__": 78 }, "_id": "" }, @@ -1414,7 +1538,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 71 + "__id__": 81 }, "_contentSize": { "__type__": "cc.Size", @@ -1442,7 +1566,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 73 + "__id__": 83 }, "_cameraComponent": { "__id__": 3 @@ -1464,7 +1588,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 75 + "__id__": 85 }, "_alignFlags": 45, "_target": null, diff --git a/assets/script/game/common/config/CardSet.ts b/assets/script/game/common/config/CardSet.ts index 6f5aa2a1..7fdbbf91 100644 --- a/assets/script/game/common/config/CardSet.ts +++ b/assets/script/game/common/config/CardSet.ts @@ -68,7 +68,7 @@ export const SkillSet={ 2007:{uuid: 2007,path: "1007",type: 1,level: 2,name: "复生-中级",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, 2008:{uuid: 2008,path: "1008",type: 1,level: 2,name: "灵巧-中级",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, 2009:{uuid: 2009,path: "1009",type: 1,level: 2,name: "盾守-中级",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, - 2020:{uuid: 2010,path: "1010",type: 1,level: 2,name: "治愈-中级",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, + 2010:{uuid: 2010,path: "1010",type: 1,level: 2,name: "治愈-中级",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, 2011:{uuid: 2011,path: "1011",type: 1,level: 4,name: "火焰风暴-中级",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, 2012:{uuid: 2012,path: "1012",type: 1,level: 4,name: "冰晶风暴-中级",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, 3001:{uuid: 3001,path: "1001",type: 1,level: 3,name: "火球术-高级",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, @@ -80,7 +80,7 @@ export const SkillSet={ 3007:{uuid: 3007,path: "1007",type: 1,level: 3,name: "复生-高级",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, 3008:{uuid: 3008,path: "1008",type: 1,level: 3,name: "灵巧-高级",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, 3009:{uuid: 3009,path: "1009",type: 1,level: 3,name: "盾守-高级",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, - 3030:{uuid: 3010,path: "1010",type: 1,level: 3,name: "治愈-高级",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, + 3010:{uuid: 3010,path: "1010",type: 1,level: 3,name: "治愈-高级",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, 3011:{uuid: 3011,path: "1011",type: 1,level: 5,name: "火焰风暴-高级",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, 3012:{uuid: 3012,path: "1012",type: 1,level: 5,name: "冰晶风暴-高级",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, 4001:{uuid: 4001,path: "1001",type: 1,level: 4,name: "火球术-终极",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, @@ -92,7 +92,7 @@ export const SkillSet={ 4007:{uuid: 4007,path: "1007",type: 1,level: 4,name: "复生-终极",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, 4008:{uuid: 4008,path: "1008",type: 1,level: 4,name: "灵巧-终极",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, 4009:{uuid: 4009,path: "1009",type: 1,level: 4,name: "盾守-终极",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, - 4040:{uuid: 4010,path: "1010",type: 1,level: 4,name: "治愈-终极",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, + 4010:{uuid: 4010,path: "1010",type: 1,level: 4,name: "治愈-终极",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, 4011:{uuid: 4011,path: "1011",type: 1,level: 6,name: "火焰风暴-终极",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, 4012:{uuid: 4012,path: "1012",type: 1,level: 6,name: "冰晶风暴-终极",sp_name:"fire",dis:720,count:1,atk: 4,sd:10,cd:1,speed:400,}, 9001:{uuid: 9001,path: "9001",type: 1,level: 1,name: "基础攻击1",sp_name:"base",dis:90,count:1,atk: 4,sd:10,cd:1,speed:400,}, diff --git a/assets/script/game/map/MapMonsterComp.ts b/assets/script/game/map/MapMonsterComp.ts index c367f6a0..7f30bdba 100644 --- a/assets/script/game/map/MapMonsterComp.ts +++ b/assets/script/game/map/MapMonsterComp.ts @@ -29,7 +29,7 @@ export class MapMonsterComp extends CCComp { cur_mission:number = 1; //当前关卡方案 mission_list:any = [] setp_timer: Timer = new Timer(0.5); - setp_num:number = 5; + setp_num:number = 50; onLoad(){ // 监听全局事件 oops.message.on("do_add_monster", this.on_do_add_monster, this); diff --git a/assets/script/game/monster/CSkillComp.ts b/assets/script/game/monster/CSkillComp.ts index cef6c8fb..5254d680 100644 --- a/assets/script/game/monster/CSkillComp.ts +++ b/assets/script/game/monster/CSkillComp.ts @@ -82,14 +82,15 @@ export class CSkillComp extends CCComp { // console.log("CSkillComp toDestroy"); if (this.node.isValid) { // console.log("CSkillComp.node.isValid"); - setTimeout(() => { // console.log("CSkillComp.node.destroy",this); this.ent.destroy() - }, 10); } } /** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */ reset() { + this.sd.reset() + this.cd.reset() + this.node.destroy(); } } \ No newline at end of file diff --git a/assets/script/game/monster/MonsterViewComp.ts b/assets/script/game/monster/MonsterViewComp.ts index 57bd947d..2ff3b8f9 100644 --- a/assets/script/game/monster/MonsterViewComp.ts +++ b/assets/script/game/monster/MonsterViewComp.ts @@ -110,6 +110,9 @@ export class MonsterViewComp extends CCComp { let skill = otherCollider.node.getComponent(SkillCom)!; // console.log('onPostSolve',skill); this.in_atked(); + if(this.hp <= 0 ){ + return + } this.hp_change(skill.atk); } } @@ -219,7 +222,7 @@ export class MonsterViewComp extends CCComp { let dis = SkillSet[skill_uuid].dis; let atk = SkillSet[skill_uuid].atk+this.atk; let sp_name = SkillSet[skill_uuid].sp_name; - skill.load(pos,speed,dis,scale,this.node,sp_name,atk); + skill.load(pos,speed,dis,scale,this.node,sp_name,0); } in_act(dt: number) { diff --git a/assets/script/game/role/view/RoleViewComp.ts b/assets/script/game/role/view/RoleViewComp.ts index 0972fb75..10023b40 100644 --- a/assets/script/game/role/view/RoleViewComp.ts +++ b/assets/script/game/role/view/RoleViewComp.ts @@ -92,12 +92,12 @@ export class RoleViewComp extends CCComp { this.atk_time += dt; } load_skill(skill_name:string){ - let skill = ecs.getEntity(Skill); - let pos = v3(30,30) - let speed =400 - let scale = 1 - let range = 720 - skill.load(pos,speed,range,scale,this.node,skill_name,this.atk); + // let skill = ecs.getEntity(Skill); + // let pos = v3(30,30) + // let speed =400 + // let scale = 1 + // let range = 720 + // skill.load(pos,speed,range,scale,this.node,skill_name,this.atk); } in_atked() { var path = "game/skills/atked"; diff --git a/assets/script/game/skills/SkillCom.ts b/assets/script/game/skills/SkillCom.ts index 94e38a16..516259fc 100644 --- a/assets/script/game/skills/SkillCom.ts +++ b/assets/script/game/skills/SkillCom.ts @@ -29,7 +29,6 @@ export class SkillCom extends CCComp { start() { this.node.active=true this.node.angle = this.angle; - let collider = this.getComponent(Collider2D); collider.group = this.box_group; // console.log("skill group",this.box_group) @@ -45,10 +44,16 @@ export class SkillCom extends CCComp { this.t_pos.y=Math.sin(this.angle * Math.PI / 180) * this.dis; tween(this.node).to( 1,{ angle:this.angle,position: this.t_pos}, { + onUpdate: (target: Vec3, ratio: number) => { // onUpdate 接受当前缓动的进度 + if(target.y <= 200 ){ + this.toDestroy() + } // 将缓动系统计算出的结果赋予 node 的位置 + }, onComplete: (target?: object) => { - this.toDestroy() + this.toDestroy() }, - } ).start(); + } + ).start(); }else{ tween(this.node).to( this.dis/this.speed, { position: new Vec3(this.node.position.x+this.scale*this.dis,this.node.position.y) }, @@ -63,7 +68,7 @@ export class SkillCom extends CCComp { } onEndContact (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) { if(otherCollider.group != selfCollider.group){ - // console.log("skill end contact",selfCollider.group,otherCollider.group) + console.log("skill end contact",selfCollider.group,otherCollider.group) setTimeout(() => { this.toDestroy() }, 10); @@ -114,7 +119,7 @@ export class SkillCom extends CCComp { toDestroy() { if(!this.is_destroy){ this.is_destroy = true; - if(this.node.isValid) this.node.destroy() + if(this.node.isValid) this.ent.destroy() } } /** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */ diff --git a/excel/heros.xlsx b/excel/heros.xlsx new file mode 100644 index 00000000..f16a38a0 Binary files /dev/null and b/excel/heros.xlsx differ diff --git a/excel/skills.xlsx b/excel/skills.xlsx new file mode 100644 index 00000000..5516abca Binary files /dev/null and b/excel/skills.xlsx differ