start(){
this.GetPos();//先获取要攻击的位置
}
//获取目标位置
GetPos(){
//enemy[]这个数组里存放着被攻击的对象,跟踪导弹随机攻击
let m=enemy.length;
let n=Math.floor(Math.random()*m);//取随机数
this.target=enemy[n];//随机目标
console.log(this.target);
},
//跟踪导弹计算移动以及转向角度
Genzong(targetPosition){
var targetPoint =targetPosition;
var point = cc.v2(this.node.x, this.node.y);
var delta = targetPoint.sub(point);
var distance = point.sub(targetPoint).mag();
var x2 = point.x + this.speed * delta.x / distance;
var y2 = point.y + this.speed * delta.y / distance;
var newPosition = cc.v2(x2, y2);
var x1 = point.x;
var y1 = point.y;
var deltaRotation = 90 -Math.atan2(y2 - y1, x2 - x1) * 180 /Math.PI;
this.node.rotation=deltaRotation;
if(distance<=10){
return true;
}
this.node.setPosition(newPosition);//设置跟踪导弹的位置
},
update(dt){
this.speed = 2.3;//移动速度
this.Genzong(this.target.position);
}
Cocos Creator跟踪导弹的实现
最新推荐文章于 2025-07-07 00:21:17 发布