⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ai_bullet.java~38~

📁 追踪子弹的小程序
💻 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 + -