FollowUpBullet(x1,y1,x2,y2,speed){
var deltax = x1 - x2
var deltay =y1 - y2
if (deltax == 0 ) {
if( y1 >= y2 ){
deltax = 0.0000001
}else{
deltax = -0.0000001
}
}
if (deltay == 0 ) {
if( x1>= x2 ){
deltay = 0.0000001
}else{
deltay = -0.0000001
}
}
var angle = 0
var π = Math.PI;
if( deltax>0 && deltay>0 ){
angle = Math.atan( Math.abs(deltay/deltax)) // 第一项限
}else if( deltax<0 && deltay>0 ) {
angle = π- Math.atan( Math.abs(deltay/deltax)) // 第二项限
}else if( deltax<0 && deltay<0 ) {
angle = π+ Math.atan( Math.abs(deltay/deltax)) // 第三项限
}else{
angle = 2*π- Math.atan( Math.abs(deltay/deltax)) // 第四项限
}
var x = speed * Math.cos(angle)
var y = speed * Math.sin(angle)
this.bullet.x += x;
this.bullet.y += y;
}
利用三角函数计算相对位置,计算子弹位置