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

📄 ai_bullet.java~43~

📁 追踪子弹的小程序
💻 JAVA~43~
字号:
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=5;
    private int trgX;
    private int trgY;
    private int bullet_Xpos;
    private int bullet_Ypos;


    private double XdirectionSpeed;
    private double YdirectionSpeed;
    private boolean isFired=false;
    public void setBulletAlive(boolean status)
    {
        isFired=status;
    }
    public void setBulletPos(int bullet_Xpos,int bullet_Ypos)
    {
        this.bullet_Xpos =bullet_Xpos;
        this.bullet_Ypos=bullet_Ypos;
        this.setPosition(bullet_Xpos,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)
    {
        if(isFired==true)
        {
            trgX = targetPlane.getPosX();
            trgY = targetPlane.getPoxY();
            double fromTarDistance = 0;
            //计算子弹与我机的距离
            int tempX = trgX - bullet_Xpos;
            System.out.println("x距离" + tempX);
            int tempY = trgY - bullet_Ypos;
            fromTarDistance = Math.sqrt(tempX * tempX + tempY * tempY);
            //计算出子弹速度的方向向量。
            XdirectionSpeed = tempX / fromTarDistance; //单位方向向量中的X
            YdirectionSpeed = tempY / fromTarDistance; //单位方向向量中的Y

            bullet_Xpos = (int) (bullet_Xpos +
                                 bulletDefaultSpeed * XdirectionSpeed);
            bullet_Ypos = (int) (bullet_Ypos +
                                 bulletDefaultSpeed * YdirectionSpeed);
            setPosition(bullet_Xpos, bullet_Ypos);
        }

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -