接下来 优化技能
This commit is contained in:
@@ -188,8 +188,6 @@ export class RoleViewComp extends CCComp {
|
||||
},0.5)
|
||||
this.power = 0
|
||||
}
|
||||
let power_progress= this.power/this.power_max;
|
||||
this.node.getChildByName("top").getChildByName("power").getComponent(ProgressBar)!.progress = power_progress;
|
||||
}
|
||||
shoot(skill_uuid:number){
|
||||
// console.log("mon shoot");
|
||||
@@ -257,14 +255,7 @@ export class RoleViewComp extends CCComp {
|
||||
}
|
||||
}
|
||||
in_shield(){
|
||||
let shield_progress= this.shield/this.shield_max;
|
||||
this.node.getChildByName("top").getChildByName("shield").getComponent(ProgressBar)!.progress = shield_progress;
|
||||
// if(this.shield <= 0){
|
||||
// this.node.getChildByName("shield").active=false
|
||||
// }else{
|
||||
// this.node.getChildByName("shield").active=true
|
||||
|
||||
// }
|
||||
|
||||
}
|
||||
hp_change(hp: number){
|
||||
if(this.is_dead){
|
||||
|
||||
@@ -1,13 +1,19 @@
|
||||
export const MissionNum = [1,2,3]
|
||||
export const MonsetList = {
|
||||
1:{
|
||||
1:[1001,1002,1003,1021,1022,1023,1031,1032,1033,1011,1012,1013,1041,1042,1043],
|
||||
1:[1001,1002,1003,1041,1042,1043],
|
||||
},
|
||||
2:{
|
||||
1:[1001,1002,1003,1021,1022,1023,1031,1032,1033,1011,1012,1013,1041,1042,1043],
|
||||
1:[1011,1012,1013,1041,1042,1043],
|
||||
},
|
||||
3:{
|
||||
1:[1001,1002,1003,1021,1022,1023,1031,1032,1033,1011,1012,1013,1041,1042,1043],
|
||||
1:[1041,1042,1043],
|
||||
},
|
||||
4:{
|
||||
1:[1021,1022,1023,1041,1042,1043],
|
||||
},
|
||||
5:{
|
||||
1:[1031,1032,1033,1041,1042,1043],
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
@@ -26,16 +26,20 @@ export const SkillSet={
|
||||
1001:{uuid: 1001,path: "1001",type: 1,level: 1,name: "火球术",sp_name:"fire",info:"释放一个火球术攻击敌人",
|
||||
dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:350, },
|
||||
1002:{uuid: 1002,path: "1002",type: 1,level: 1,name: "寒冰箭",sp_name:"ice",info:"释放一个寒冰箭攻击敌人",
|
||||
dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:350, },
|
||||
1003:{uuid: 1003,path: "1003",type: 1,level: 1,name: "强效射击",sp_name:"b_arrow",info:"释放一个火球术攻击敌人",
|
||||
dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:350, },
|
||||
1004:{uuid: 1004,path: "1004",type: 1,level: 1,name: "奥术冲击",sp_name:"bm_ball",info:"释放一个寒冰箭攻击敌人",
|
||||
dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:350, },
|
||||
4011:{uuid: 4011,path: "1011",type: 1,level: 3,name: "火焰风暴",sp_name:"fire",info:"释放多个个火球术攻击敌人",
|
||||
dis:720,count:5,atk:10,hp:0,shield:0,sd:10,cd:2,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:350, },
|
||||
4012:{uuid: 4012,path: "1012",type: 1,level: 3,name: "冰晶风暴",sp_name:"ice",info:"释放多个个寒冰箭攻击敌人",
|
||||
dis:720,count:5,atk:10,hp:0,shield:0,sd:10,cd:2,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:350, },
|
||||
9001:{uuid: 9001,path: "1001",type: 1,level: 1,name: "精准打击",sp_name:"patk",info:"释放一个魔法球攻击敌人",
|
||||
9001:{uuid: 9001,path: "1001",type: 1,level: 1,name: "劈砍",sp_name:"patk",info:"释放一个魔法球攻击敌人",
|
||||
dis:720,count:1,atk:0,hp:0,shield:0,sd:0,cd:0,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:450,},
|
||||
9002:{uuid: 9002,path: "1001",type: 1,level: 1,name: "魔法球",sp_name:"mball",info:"释放一个魔法球攻击敌人",
|
||||
9002:{uuid: 9002,path: "1001",type: 1,level: 1,name: "魔法小球",sp_name:"mball",info:"释放一个魔法球攻击敌人",
|
||||
dis:720,count:1,atk:0,hp:0,shield:0,sd:0,cd:0,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:450,},
|
||||
9003:{uuid: 9003,path: "1001",type: 1,level: 1,name: "精准射击",sp_name:"arrow",info:"释放一个魔法球攻击敌人",
|
||||
9003:{uuid: 9003,path: "1001",type: 1,level: 1,name: "射击",sp_name:"arrow",info:"释放一个魔法球攻击敌人",
|
||||
dis:720,count:1,atk:0,hp:0,shield:0,sd:0,cd:0,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:450,},
|
||||
|
||||
6210:{uuid: 6210,path: "6210",type: 92,level: 1,name: "普通攻击石",sp_name:"",info:"",
|
||||
|
||||
@@ -17,13 +17,13 @@ export const HeroSet = {
|
||||
|
||||
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,
|
||||
max_skill: "治愈术", skill_uuid: 9002, max_skill_uuid: 9002, word: "守护", info: "自身护盾", atktype: 2
|
||||
max_skill: "治愈术", skill_uuid: 9002, max_skill_uuid: 1004, 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,
|
||||
max_skill: "精准射击", skill_uuid: 9003, max_skill_uuid: 9003, word: "狂暴", info: "全体攻击", atktype: 2
|
||||
max_skill: "精准射击", skill_uuid: 9003, max_skill_uuid: 1003, word: "狂暴", info: "全体攻击", atktype: 2
|
||||
},
|
||||
|
||||
|
||||
@@ -87,6 +87,6 @@ export const MonSet = {
|
||||
},
|
||||
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
|
||||
max_skill: "魔法球", skill_uuid: 9002, max_skill_uuid: 1004, word: "守护", info: "自身护盾", atktype: 2
|
||||
},
|
||||
}
|
||||
@@ -179,11 +179,7 @@ export class HeroViewComp extends CCComp {
|
||||
if(this.stop_cd > 0){
|
||||
return
|
||||
}
|
||||
if (this.scale === 1 && this.node.position.x >= BoxSet.MONSTER_START-this.atk_dis) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(this.scale===-1&&this.node.position.x <= BoxSet.HERO_START-this.atk_cd){
|
||||
if (this.scale === 1 && this.node.position.x >= BoxSet.MONSTER_START-150) {
|
||||
return;
|
||||
}
|
||||
if(this.enemy){
|
||||
@@ -193,7 +189,7 @@ export class HeroViewComp extends CCComp {
|
||||
this.node.setPosition(this.node.position.x+dt*this.speed*this.scale, this.node.position.y+dt*this.dir_y, this.node.position.z);
|
||||
}
|
||||
set_diry(){
|
||||
this.dir_y=-(this.node.position.y-BoxSet.GAME_LINE)/60
|
||||
this.dir_y=-(this.node.position.y-BoxSet.GAME_LINE)/20
|
||||
}
|
||||
move_to(){
|
||||
var move = this.ent.get(MoveToComp) || this.ent.add(MoveToComp);
|
||||
@@ -227,21 +223,8 @@ export class HeroViewComp extends CCComp {
|
||||
// this.tooltip(3,smc.skills[skill_uuid].name,this.skill_uuid);
|
||||
}
|
||||
//使用max_skill
|
||||
do_max_skill(){
|
||||
if(this.max_skill_uuid==this.skill_uuid){
|
||||
this.shoot(this.max_skill_uuid,10)
|
||||
this.shoot(this.max_skill_uuid,0)
|
||||
this.shoot(this.max_skill_uuid,-10)
|
||||
return
|
||||
}
|
||||
|
||||
let skill = ecs.getEntity<Skill>(Skill);
|
||||
let scale = this.scale
|
||||
let speed =smc.skills[this.max_skill_uuid].speed;
|
||||
let dis = smc.skills[this.max_skill_uuid].dis;
|
||||
let atk = smc.skills[this.max_skill_uuid].atk+this.atk;
|
||||
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);
|
||||
do_max_skill(){
|
||||
this.shoot(this.max_skill_uuid)
|
||||
}
|
||||
to_speek(words:string,time:number=0.5){
|
||||
this.speek_time=0.5
|
||||
|
||||
@@ -36,6 +36,7 @@ export class MapMonsterComp extends CCComp {
|
||||
target_timer: Timer = new Timer(0.1);
|
||||
setp_num:number = 5;
|
||||
game_over:boolean = false;
|
||||
start_ys:any[] = [120,80,40,0,-40,-80,-120];
|
||||
onLoad(){
|
||||
// 监听全局事件
|
||||
oops.message.on("other_add_monster", this.on_other_add_monster, this);
|
||||
@@ -93,7 +94,10 @@ export class MapMonsterComp extends CCComp {
|
||||
/** 添加玩家 */
|
||||
private addHero(uuid:number=1001) {
|
||||
let hero = ecs.getEntity<Hero>(Hero);
|
||||
let {pos,monster_layer}=this.set_layer(BoxSet.HERO_START)
|
||||
var scene = smc.map.MapView.scene;
|
||||
let oy=RandomManager.instance.getRandomByObjectList(this.start_ys,1)
|
||||
let pos:Vec3 = v3(BoxSet.HERO_START,BoxSet.GAME_LINE+oy[0]);
|
||||
let monster_layer = scene.entityLayer!.node!
|
||||
let scale = 1
|
||||
hero.load(pos,scale,uuid,monster_layer);
|
||||
}
|
||||
@@ -103,7 +107,8 @@ export class MapMonsterComp extends CCComp {
|
||||
}
|
||||
let m:any = RandomManager.instance.getRandomByObjectList(this.mission_list[this.monster_level],1)
|
||||
var scene = smc.map.MapView.scene;
|
||||
let pos:Vec3 = v3(BoxSet.MONSTER_START,BoxSet.GAME_LINE+RandomManager.instance.getRandomInt(-130,130, 1))
|
||||
let oy=RandomManager.instance.getRandomByObjectList(this.start_ys,1)
|
||||
let pos:Vec3 = v3(BoxSet.MONSTER_START,BoxSet.GAME_LINE+oy[0])
|
||||
let monster_layer = scene.entityLayer!.node!
|
||||
this.addMonster(m[0],monster_layer,pos)
|
||||
this.setp_num -= 1
|
||||
@@ -113,12 +118,7 @@ export class MapMonsterComp extends CCComp {
|
||||
let scale = -1
|
||||
monster.load(pos,scale,uuid,layer);
|
||||
}
|
||||
set_layer(start:number=0){
|
||||
var scene = smc.map.MapView.scene;
|
||||
let pos:Vec3 = v3(start,BoxSet.GAME_LINE+RandomManager.instance.getRandomInt(-130,130, 1));
|
||||
let monster_layer = scene.entityLayer!.node!
|
||||
return {pos,monster_layer}
|
||||
}
|
||||
|
||||
private on_other_add_monster(event: string, args: any) {
|
||||
var scene = smc.map.MapView.scene;
|
||||
let pos:Vec3 = v3(BoxSet.MONSTER_START,BoxSet.GAME_LINE)
|
||||
|
||||
@@ -172,19 +172,14 @@ export class MonViewComp extends CCComp {
|
||||
if(this.stop_cd > 0){
|
||||
return
|
||||
}
|
||||
if (this.scale === 1 && this.node.position.x >= 120) {
|
||||
if(this.scale===-1&&this.node.position.x <= BoxSet.HERO_START){
|
||||
return;
|
||||
}
|
||||
|
||||
if(this.scale===-1&&this.node.position.x <= BoxSet.HERO_START+this.atk_cd){
|
||||
return;
|
||||
}
|
||||
|
||||
this.set_diry()
|
||||
this.node.setPosition(this.node.position.x+dt*this.speed*this.scale, this.node.position.y+dt*this.dir_y, this.node.position.z);
|
||||
}
|
||||
set_diry(){
|
||||
this.dir_y=-(this.node.position.y-BoxSet.GAME_LINE)/60
|
||||
this.dir_y=-(this.node.position.y-BoxSet.GAME_LINE)/20
|
||||
}
|
||||
move_to(){
|
||||
var move = this.ent.get(MoveToComp) || this.ent.add(MoveToComp);
|
||||
@@ -218,7 +213,6 @@ export class MonViewComp extends CCComp {
|
||||
}
|
||||
//使用max_skill
|
||||
do_max_skill(){
|
||||
|
||||
let skill = ecs.getEntity<Skill>(Skill);
|
||||
let scale = this.scale
|
||||
let speed =smc.skills[this.max_skill_uuid].speed;
|
||||
@@ -244,7 +238,7 @@ export class MonViewComp extends CCComp {
|
||||
}
|
||||
}
|
||||
get_enemy_pos(){
|
||||
let pos = v3(35*this.scale,50)
|
||||
let pos = v3(35*this.scale,25)
|
||||
let angle=0
|
||||
let t_pos:Vec3 = v3(0,0)
|
||||
if(this.enemy){
|
||||
@@ -252,7 +246,7 @@ export class MonViewComp extends CCComp {
|
||||
console.log("move_to",this.enemy.isValid);
|
||||
return
|
||||
}
|
||||
t_pos = v3(this.enemy.position.x-(this.node.position.x+pos.x),this.enemy.position.y-(this.node.position.y+pos.y)+BoxSet.ATK_Y)
|
||||
t_pos = v3(this.enemy.position.x-(this.node.position.x+pos.x)*1.1,(this.enemy.position.y-(this.node.position.y+pos.y)+BoxSet.ATK_Y)*1.1)
|
||||
angle = Math.atan2(t_pos.y,t_pos.x) * 180 / Math.PI;
|
||||
if(this.scale == -1){
|
||||
angle = angle +180
|
||||
|
||||
@@ -38,8 +38,8 @@ export class Skill extends ecs.Entity {
|
||||
var prefab: Prefab = oops.res.get(path, Prefab)!;
|
||||
var node = instantiate(prefab);
|
||||
// console.log("load skill parent.position :",parent.position)
|
||||
pos=v3(parent.position.x+pos.x,parent.position.y+pos.y)
|
||||
node.parent = parent.parent;
|
||||
pos=v3(pos.x,pos.y)
|
||||
node.parent = parent;
|
||||
node.setScale(scale,1)
|
||||
//转换pos为世界坐标
|
||||
node.setPosition(pos)
|
||||
|
||||
@@ -175,7 +175,7 @@ export class SkillCom extends CCComp {
|
||||
|
||||
toDestroy() {
|
||||
if(this.is_destroy){
|
||||
if(this.node.isValid) this.ent.destroy()
|
||||
if(this.node.parent) this.ent.destroy()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user