技能碰撞改回物理碰撞

This commit is contained in:
2025-03-30 16:59:40 +08:00
parent 67704725b2
commit 798a831227
85 changed files with 13428 additions and 7394 deletions

View File

@@ -6,7 +6,6 @@ import { HeroModelComp } from "./HeroModelComp";
import { HeroViewComp } from "./HeroViewComp";
import { BoxSet } from "../common/config/BoxSet";
import { HeroInfo } from "../common/config/heroSet";
import { Talents } from "../common/config/TalentSet";
import { BattleMoveComp } from "../common/ecs/position/BattleMoveComp";
import { HeroSkillsComp } from "../skill/heroSkillsComp";
/** 角色实体 */
@@ -25,12 +24,13 @@ export class Hero extends ecs.Entity {
}
destroy(): void {
this.remove(HeroViewComp);;
this.remove(HeroViewComp);
super.destroy();
}
/** 加载角色 */
load(pos: Vec3 = Vec3.ZERO,scale:number = 1,uuid:number=1001,is_call:boolean=false,lv:number=1) {
load(pos: Vec3 = Vec3.ZERO,scale:number = 1,uuid:number=1001,info:any={ap:0,hp:0}) {
console.log("英雄加载:",uuid,pos,scale,info)
scale = 1
let box_group=BoxSet.HERO
var path = "game/heros/"+HeroInfo[uuid].path;
@@ -39,10 +39,7 @@ export class Hero extends ecs.Entity {
var scene = smc.map.MapView.scene;
node.parent = scene.entityLayer!.node!
node.setPosition(pos)
this.hero_init(uuid,node,scale,box_group,is_call,lv)
oops.message.dispatchEvent("hero_load",this)
}
hero_init(uuid:number=1001,node:Node,scale:number=1,box_group=BoxSet.HERO,is_call:boolean=false,lv:number=1){
var hv = node.getComponent(HeroViewComp)!;
let hero= HeroInfo[uuid] // 共用英雄数据
hv.scale = scale;
@@ -53,25 +50,22 @@ export class Hero extends ecs.Entity {
hv.hero_name= hero.name;
hv.speed =hv.ospeed = hero.speed;
hv.dis = hero.dis;
hv.hp= hv.hp_max =hero.hp;
hv.ap = hero.ap;
hv.hp= hv.hp_max =hero.hp+info.hp;
hv.ap = hero.ap+info.ap;
hv.cd = hero.a_cd
hv.rate=hero.rate
hv.r_up=hero.ra_up
hv.atk_skill=hero.skills[0]
this.add(hv);
// // 初始化多个技能组件
// const skillsComp = this.get(HeroSkillsComp);
// // 正确初始化已有技能
// hero.skills.forEach(skillId => {
// this.addSkill(skillId); // 使用addSkill方法确保初始化
// });
// 初始化移动参数
const move = this.get(BattleMoveComp);
move.direction = 1; // 向右移动
move.targetX = 800; // 右边界
move.targetX = 800; // 右边界'
oops.message.dispatchEvent("hero_load",this)
}
// 添加技能
public addSkill(skillId: number) {
const comp = this.get(HeroSkillsComp);