From 3bfd42904cb29ffbbff12d13e51178cd775d85fe Mon Sep 17 00:00:00 2001 From: admin <1782158860@qq.com> Date: Fri, 28 Apr 2023 14:54:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=95=8C=E4=BA=BA=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/src/dpComponent.ts | 12 ++++++++++-- assets/src/gameManager.ts | 8 ++++---- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/assets/src/dpComponent.ts b/assets/src/dpComponent.ts index 6d8d871..fb30fd6 100644 --- a/assets/src/dpComponent.ts +++ b/assets/src/dpComponent.ts @@ -23,6 +23,8 @@ export class dpComponent extends Component { //飞行最大距离 public dp_max:number = 12; + private mx: any = 1; + start() { this.p_an.crossFade('p_an', .5); @@ -38,10 +40,15 @@ export class dpComponent extends Component { //20-60秒出现的敌人如果是单个 1/2随机一种,组合出现 0/2随机一种 //60秒以上 单个1/2/3随机一种,组合0/1/2随机一种 + /** 此类中只对敌人路线做逻辑处理,子弹发射在子弹类中 */ + if(this.node.position.x>3.8) this.mx = -1; + if(this.node.position.x<-3.8) this.mx = 1; + const pos = this.node.position; let movez = pos.z + this.dpSpeed; - this.node.setPosition(pos.x, pos.y, movez); - + + this.node.setPosition(this.node.position.x + 0.03 * this.mx, pos.y, movez); + if(movez > this.dp_max) this.node.destroy(); } @@ -55,6 +62,7 @@ export class dpComponent extends Component { /**向我方z轴靠近 */ public moveToP(){ //控制this.node.x轴逐步接近玩家的x值 + } } diff --git a/assets/src/gameManager.ts b/assets/src/gameManager.ts index 0684c8e..7c99c3d 100644 --- a/assets/src/gameManager.ts +++ b/assets/src/gameManager.ts @@ -72,7 +72,7 @@ export class gameManager extends Component { this.createZd(); this._new_zd_time = 0; } - + this._createDpTime += deltaTime; if(this._createDpArr <= 2){ @@ -111,11 +111,11 @@ export class gameManager extends Component { let t = 1; if(randm === dpImpl.dpType.TYPE1){ p = this.dp1; - speed = this.dp1_speed; + speed = this.dp1_speed+(math.randomRange(0.01,0.02)*(math.randomRangeInt(-1,2))); t=1; }else{ p = this.dp2; - speed = this.dp2_speed; + speed = this.dp2_speed+(math.randomRange(0.01,0.02)*(math.randomRangeInt(-1,2))); t=2; } const dp = instantiate(p); @@ -135,7 +135,7 @@ export class gameManager extends Component { parr[i] = instantiate(randm==1?this.dp1:this.dp2); parr[i].setParent(this.node); const dpc = parr[i].getComponent(dpComponent); - dpc._init(randm==1?this.dp1_speed:this.dp2_speed,n,1); + dpc._init(randm==1?this.dp1_speed+(math.randomRange(0.01,0.02)*(math.randomRangeInt(-1,2))):this.dp2_speed+(math.randomRange(0.01,0.02)*(math.randomRangeInt(-1,2))),n,1); parr[i].setPosition(i*1.8-3.6, 1, -dpc.dp_max); }