📄 ai_bullet.java~38~
字号:
package aibullet;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import java.lang.Math.*;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class AI_Bullet extends Sprite
{
private Image bullet_img;
private int bullet_size_W;
private int bullet_size_H;
private static final int bulletDefaultSpeed=2;
private int trgX;
private int trgY;
private int bullet_Xpos;
private int bullet_Ypos;
private double XdirectionSpeed;
private double YdirectionSpeed;
public void setBulletPos(int bullet_Xpos,int bullet_Ypos)
{
this.bullet_Xpos =bullet_Xpos;
this.bullet_Ypos=bullet_Ypos;
}
public AI_Bullet(Image bullet_img,int w,int h)
{
super(bullet_img, w, h);
bullet_img = bullet_img;
bullet_size_W = w;
bullet_size_H = h;
}
/* private void getTargetPos(Plane targetPlane)
{
trgX=targetPlane.getPosX();
trgY=targetPlane.getPoxY();
}*/
public void AutoSearchTrg(Plane targetPlane)
{
trgX=targetPlane.getPosX();
trgY=targetPlane.getPoxY();
System.out .println("目标坐标 "+trgX+","+trgY) ;
double fromTarDistance=0;
//计算子弹与我机的距离
int tempX=trgX-bullet_Xpos;
System.out.println("x距离"+tempX) ;
// int tempY=bullet_Ypos-trgY;
int tempY=0;
fromTarDistance=Math.sqrt(tempX*tempX+tempY*tempY);
// System.out.println("tempX="+tempX);
// System.out.println("离目标距离 "+ fromTarDistance) ;
//计算出子弹速度的方向向量。
XdirectionSpeed=tempX/fromTarDistance;//单位方向向量中的X
YdirectionSpeed=tempY/fromTarDistance;//单位方向向量中的Y
//算出VX,VY,通过mc._x+=mc.vx //及mc._y+=mc.vy;实现动态效果
// System.out.println("YSpeed="+YdirectionSpeed);
bullet_Xpos=(int)(bullet_Xpos+bulletDefaultSpeed*XdirectionSpeed);
// System.out.println("子弹位置 "+bullet_Xpos) ;
bullet_Ypos=(int)(bullet_Ypos+bulletDefaultSpeed*YdirectionSpeed);
// System.out.println("D_X="+bulletDefaultSpeed*XdirectionSpeed+"D_Y="+bulletDefaultSpeed*YdirectionSpeed);
move(bullet_Xpos,bullet_Ypos);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -