From 5a9da59acc8efa4d7de3b1c886c7bafb40fcc087 Mon Sep 17 00:00:00 2001 From: panw Date: Thu, 17 Jul 2025 09:53:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=80=AA=E7=89=A9=20=E6=94=B9=E4=B8=BA3?= =?UTF-8?q?=E6=9D=A1=E7=9B=B4=E7=BA=BF=20=E8=BF=9B=E5=85=A5,=20=E6=94=BB?= =?UTF-8?q?=E5=87=BB=E5=8A=A8=E7=94=BB=20=E7=9B=B4=E7=BA=BF=E7=9A=84?= =?UTF-8?q?=E5=B7=B2=E6=94=B9,=20=E6=8A=9B=E7=89=A9=E7=BA=BF=E5=92=8C?= =?UTF-8?q?=E7=BE=A4=E6=94=BB=E7=9A=84=20=E4=B9=9F=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../game/map/Backgrounds/BG3/Full.png.meta | 4 +-- assets/resources/game/map/map_rpg.prefab | 14 +++++----- assets/resources/game/skills/base1.prefab | 4 +-- assets/resources/game/skills/base2.prefab | 4 +-- assets/resources/game/skills/base3.prefab | 4 +-- assets/resources/game/skills/base4.prefab | 4 +-- assets/script/game/common/config/Mission.ts | 1 + assets/script/game/common/config/heroSet.ts | 6 ++--- assets/script/game/hero/BuffComp.ts | 1 + assets/script/game/hero/SkillConComp.ts | 7 ++--- assets/script/game/map/EquipSkillComp.ts | 15 ++++++----- assets/script/game/map/MissionMonComp.ts | 9 ++++--- assets/script/game/skills/SkillCom.ts | 26 ++++++++++++++++--- 13 files changed, 62 insertions(+), 37 deletions(-) diff --git a/assets/resources/game/map/Backgrounds/BG3/Full.png.meta b/assets/resources/game/map/Backgrounds/BG3/Full.png.meta index f3410aaf..ee70edd3 100644 --- a/assets/resources/game/map/Backgrounds/BG3/Full.png.meta +++ b/assets/resources/game/map/Backgrounds/BG3/Full.png.meta @@ -50,8 +50,8 @@ "height": 372, "rawWidth": 556, "rawHeight": 372, - "borderTop": 0, - "borderBottom": 0, + "borderTop": 305, + "borderBottom": 63, "borderLeft": 0, "borderRight": 0, "packable": true, diff --git a/assets/resources/game/map/map_rpg.prefab b/assets/resources/game/map/map_rpg.prefab index e13c5bb3..a6d16dd1 100644 --- a/assets/resources/game/map/map_rpg.prefab +++ b/assets/resources/game/map/map_rpg.prefab @@ -1271,7 +1271,7 @@ "_lpos": { "__type__": "cc.Vec3", "x": 0, - "y": -255.496, + "y": -314.65, "z": 0 }, "_lrot": { @@ -1283,8 +1283,8 @@ }, "_lscale": { "__type__": "cc.Vec3", - "x": 4, - "y": 4, + "x": 3.5, + "y": 3.5, "z": 1 }, "_mobility": 0, @@ -1312,7 +1312,7 @@ "_contentSize": { "__type__": "cc.Size", "width": 556, - "height": 372 + "height": 432 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1351,9 +1351,9 @@ "__uuid__": "52d2441e-f68d-4006-a7cc-aaa447815132@f9941", "__expectedType__": "cc.SpriteFrame" }, - "_type": 0, + "_type": 1, "_fillType": 0, - "_sizeMode": 1, + "_sizeMode": 0, "_fillCenter": { "__type__": "cc.Vec2", "x": 0, @@ -1379,8 +1379,6 @@ "__id__": 0 }, "fileId": "3fAYpeIJJHJZjCyzC0S8Eq", - "instance": null, - "targetOverrides": null, "nestedPrefabInstanceRoots": null }, { diff --git a/assets/resources/game/skills/base1.prefab b/assets/resources/game/skills/base1.prefab index 3dfdca07..d146295c 100644 --- a/assets/resources/game/skills/base1.prefab +++ b/assets/resources/game/skills/base1.prefab @@ -103,7 +103,7 @@ "__type__": "cc.Quat", "x": 0, "y": 0, - "z": -0.3826834323650898, + "z": 0.3826834323650898, "w": 0.9238795325112867 }, "_lscale": { @@ -118,7 +118,7 @@ "__type__": "cc.Vec3", "x": 0, "y": 0, - "z": -45 + "z": 45 }, "_id": "" }, diff --git a/assets/resources/game/skills/base2.prefab b/assets/resources/game/skills/base2.prefab index 69dce061..6ab580e1 100644 --- a/assets/resources/game/skills/base2.prefab +++ b/assets/resources/game/skills/base2.prefab @@ -103,7 +103,7 @@ "__type__": "cc.Quat", "x": 0, "y": 0, - "z": -0.3826834323650898, + "z": 0.3826834323650898, "w": 0.9238795325112867 }, "_lscale": { @@ -118,7 +118,7 @@ "__type__": "cc.Vec3", "x": 0, "y": 0, - "z": -45 + "z": 45 }, "_id": "" }, diff --git a/assets/resources/game/skills/base3.prefab b/assets/resources/game/skills/base3.prefab index 88bb5f4c..486a747b 100644 --- a/assets/resources/game/skills/base3.prefab +++ b/assets/resources/game/skills/base3.prefab @@ -103,7 +103,7 @@ "__type__": "cc.Quat", "x": 0, "y": 0, - "z": -0.3826834323650898, + "z": 0.3826834323650898, "w": 0.9238795325112867 }, "_lscale": { @@ -118,7 +118,7 @@ "__type__": "cc.Vec3", "x": 0, "y": 0, - "z": -45 + "z": 45 }, "_id": "" }, diff --git a/assets/resources/game/skills/base4.prefab b/assets/resources/game/skills/base4.prefab index 1d8ebf04..233f6c0a 100644 --- a/assets/resources/game/skills/base4.prefab +++ b/assets/resources/game/skills/base4.prefab @@ -103,7 +103,7 @@ "__type__": "cc.Quat", "x": 0, "y": 0, - "z": -0.3826834323650898, + "z": 0.3826834323650898, "w": 0.9238795325112867 }, "_lscale": { @@ -118,7 +118,7 @@ "__type__": "cc.Vec3", "x": 0, "y": 0, - "z": -45 + "z": 45 }, "_id": "" }, diff --git a/assets/script/game/common/config/Mission.ts b/assets/script/game/common/config/Mission.ts index 6cf3b875..50178549 100644 --- a/assets/script/game/common/config/Mission.ts +++ b/assets/script/game/common/config/Mission.ts @@ -103,6 +103,7 @@ export const VmInfo = { exp:0, next_exp:100, cd:3, + skill_cd_buff:0,//技能cd修正 damage:0, ap:0, equip_ap:0, diff --git a/assets/script/game/common/config/heroSet.ts b/assets/script/game/common/config/heroSet.ts index 51286fb0..cd468ea7 100644 --- a/assets/script/game/common/config/heroSet.ts +++ b/assets/script/game/common/config/heroSet.ts @@ -53,9 +53,9 @@ export const HQuality = { ORANGE:5, } export const MonSet = { - 0:{pos:v3(340,0,0)}, - 1:{pos:v3(360,0,0)}, - 2:{pos:v3(380,0,0)}, + 0:{pos:v3(370,0,0)}, + 1:{pos:v3(370,+80,0)}, + 2:{pos:v3(370,-80,0)}, 3:{pos:v3(400,0,0)}, 4:{pos:v3(420,0,0)}, 5:{pos:v3(440,0,0)}, diff --git a/assets/script/game/hero/BuffComp.ts b/assets/script/game/hero/BuffComp.ts index eccd330a..09aa7a50 100644 --- a/assets/script/game/hero/BuffComp.ts +++ b/assets/script/game/hero/BuffComp.ts @@ -126,6 +126,7 @@ export class BuffComp extends Component { info.dod=this.HeroView.dod+buff.DODGE info.def=this.HeroView.def+buff.DEF info.wind=buff.WFUNY + info.skill_cd_buff=buff.SKILL_CD } } diff --git a/assets/script/game/hero/SkillConComp.ts b/assets/script/game/hero/SkillConComp.ts index 1a051edf..0649382d 100644 --- a/assets/script/game/hero/SkillConComp.ts +++ b/assets/script/game/hero/SkillConComp.ts @@ -159,7 +159,7 @@ export class SkillConComp extends CCComp { this.HeroView.node.position.y + BoxSet.ATK_Y, 0), this.node.parent, config.uuid, - new Vec3(target.x, target.y, 0), + new Vec3(target.x, target.y+BoxSet.ATK_Y, 0), this.HeroView, 0, dmg @@ -196,7 +196,8 @@ export class SkillConComp extends CCComp { let keyPos = this.HeroView.fac==FacSet.HERO ? Math.min(...entities.map(e => e.get(HeroViewComp).node.position.x)) : Math.max(...entities.map(e => e.get(HeroViewComp).node.position.x)); - return keyPos + let keyEntity = entities.find(e => e.get(HeroViewComp).node.position.x === keyPos); + return keyEntity.get(HeroViewComp).node.position; } /** 筛选最前排单位 */ private filterFrontRow(): Vec3{ @@ -211,7 +212,7 @@ export class SkillConComp extends CCComp { return v3(-400,0) } } - pos=v3(this.get_front(entities),0) + pos=v3(this.get_front(entities)) return pos } private selectTeamFront(){ diff --git a/assets/script/game/map/EquipSkillComp.ts b/assets/script/game/map/EquipSkillComp.ts index e9d91908..8d168d27 100644 --- a/assets/script/game/map/EquipSkillComp.ts +++ b/assets/script/game/map/EquipSkillComp.ts @@ -79,7 +79,8 @@ export class EquipSkillComp extends CCComp { update(dt: number): void { if(!smc.mission.play||smc.mission.pause) return if(this.skill1.uuid!=0){ - let cd=this.skill1.cd + let cd_bar=this.boxs.getChildByName("skill1").getChildByName("icon").getChildByName("cd") + let cd=this.skill1.cd*(100-smc.vmdata.hero.skill_cd_buff)/100 if(this.skill1.cd_time < cd){ this.skill1.cd_time+=dt }else{ @@ -87,10 +88,11 @@ export class EquipSkillComp extends CCComp { this.do_skill1() } } - this.boxs.getChildByName("skill1").getChildByName("icon").getChildByName("cd").getComponent(ProgressBar).progress=(1-this.skill1.cd_time/cd) + cd_bar.getComponent(ProgressBar).progress=(1-this.skill1.cd_time/cd) } if(this.skill2.uuid!=0){ - let cd=this.skill2.cd + let cd_bar=this.boxs.getChildByName("skill2").getChildByName("icon").getChildByName("cd") + let cd=this.skill2.cd*(100-smc.vmdata.hero.skill_cd_buff)/100 if(this.skill2.cd_time < cd){ this.skill2.cd_time+=dt }else{ @@ -98,10 +100,11 @@ export class EquipSkillComp extends CCComp { this.do_skill2() } } - this.boxs.getChildByName("skill2").getChildByName("icon").getChildByName("cd").getComponent(ProgressBar).progress=(1-this.skill2.cd_time/cd) + cd_bar.getComponent(ProgressBar).progress=(1-this.skill2.cd_time/cd) } if(this.skill3.uuid!=0){ - let cd=this.skill3.cd + let cd_bar=this.boxs.getChildByName("skill3").getChildByName("icon").getChildByName("cd") + let cd=this.skill3.cd*(100-smc.vmdata.hero.skill_cd_buff)/100 if(this.skill3.cd_time < cd){ this.skill3.cd_time+=dt }else{ @@ -109,7 +112,7 @@ export class EquipSkillComp extends CCComp { // this.do_skill3() } } - this.boxs.getChildByName("skill3").getChildByName("icon").getChildByName("cd").getComponent(ProgressBar).progress=(1-this.skill3.cd_time/cd) + cd_bar.getComponent(ProgressBar).progress=(1-this.skill3.cd_time/cd) } } do_skill1(){ diff --git a/assets/script/game/map/MissionMonComp.ts b/assets/script/game/map/MissionMonComp.ts index 758cd8de..59e3f32b 100644 --- a/assets/script/game/map/MissionMonComp.ts +++ b/assets/script/game/map/MissionMonComp.ts @@ -29,7 +29,7 @@ export class MissionMonCompComp extends CCComp { buffData?: any[] // 使用BuffAttr格式的buff数据 }> = []; private isSpawning: boolean = false;// 是否正在生成怪物 - private spawnInterval: number = 0.5; // 每个怪物生成间隔时间 + private spawnInterval: number = 1; // 每个怪物生成间隔时间 private spawnTimer: number = 0; // 生成计时器 private is_fight:boolean = false; @@ -78,7 +78,6 @@ export class MissionMonCompComp extends CCComp { const rogueWaveConfig = getRogueWaveConfig(currentWave); console.log(`[MissionMonComp]:肉鸽模式第${currentWave}波配置:`, rogueWaveConfig.description); this.generateRogueMonstersFromConfig(rogueWaveConfig); - } @@ -106,9 +105,10 @@ export class MissionMonCompComp extends CCComp { // 为每个怪物组生成指定数量的怪物 for (let i = 0; i < count; i++) { // 随机选择位置 (0-9) + let x=i%3 //0 1 2 this.addToSpawnQueueWithAffixes( uuid, - i, + x, isBoss || false, monsterLevel, affixes, @@ -189,9 +189,10 @@ export class MissionMonCompComp extends CCComp { lv: number = 1, buffData?: any[] ) { + let x=RandomManager.instance.getRandomInt(0,2) let mon = ecs.getEntity(Monster); let scale = -1; - let pos: Vec3 = v3(MonSet[i].pos); + let pos: Vec3 = v3(MonSet[x].pos); // 生成怪物,传递词条buff数据 mon.load(pos, scale, uuid, is_boss, is_call, lv, buffData); diff --git a/assets/script/game/skills/SkillCom.ts b/assets/script/game/skills/SkillCom.ts index 2bb73eb5..00fa9e9b 100644 --- a/assets/script/game/skills/SkillCom.ts +++ b/assets/script/game/skills/SkillCom.ts @@ -87,15 +87,35 @@ export class SkillCom extends CCComp { collider.group = this.group; collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this); } + let bm=this.node.getComponent(BezierMove) // console.log(this.group +"技能 collider ",collider); switch(SkillSet[this.s_uuid].AType){ case AType.parabolic: this.node.angle +=10 - let bm=this.node.getComponent(BezierMove) // bm.speed=700 - if(this.group==BoxSet.MONSTER) bm.controlPointSide=-1 + if(this.group==BoxSet.MONSTER) {bm.controlPointSide=-1 } + bm.rotationSmoothness=0.6 bm.moveTo(this.targetPos) break; + case AType.linear: + let s_x=this.startPos.x + let s_y=this.startPos.y + let t_x=this.targetPos.x + let t_y=this.targetPos.y + // 设定目标x + this.targetPos.x = 400; + if(this.group == BoxSet.MONSTER) { + bm.controlPointSide = -1; + this.targetPos.x = -400; + } + // 计算斜率 + const k = (t_y - s_y) / (t_x - s_x); + // 按直线公式计算新的y + this.targetPos.y = k * (this.targetPos.x - s_x) + s_y; + bm.controlPointOffset=0 + bm.rotationSmoothness=0.6 + bm.moveTo(this.targetPos); + break; case AType.StartEnd: // 2段位移:先升高,然后移到目的地 this.executeTwoStageMovement(); @@ -280,7 +300,7 @@ export class SkillCom extends CCComp { this.range_damage() } //直线移动 - if(this.AType == AType.linear) this.startLinearMove(deltaTime); + // if(this.AType == AType.linear) this.startLinearMove(deltaTime); this.toDestroy(); }