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

📄 aerolite.java

📁 手机RPG游戏
💻 JAVA
字号:
package obj;import javax.microedition.lcdui.*;import main.*;import java.util.Random;//陨石类//继承自子弹类public class Aerolite extends Bullet{public  int aeroliteId;public  int n=Cntrl.load.n;  //第几个图片是流星。private  int idnum;//图片的总数,用来产生随机数。private  int tw=0;//用来做碰撞检测的。private  int th=0;private  int time=0;private  int ss=Cntrl.load.aeroliteScore;//打破陨石得分。   public Aerolite(int xp,int yp,int sw,int sh) {   super( xp, yp, 0, 0, sw, sh);   idnum=Cntrl.load.aeroliteImg.length;   aeroliteId=new Random().nextInt(idnum);   img=Cntrl.load.aeroliteImg[aeroliteId];   }   public boolean getAlive(){     return alive&&xPos>0&&xPos<screenW+(xPos)&&yPos>0&&yPos<screenH;   }   public void DrawSelf(Graphics g){     g.drawImage(img,xPos-imgW/2,yPos-imgH/2,Graphics.LEFT|Graphics.TOP);   }   public void Move(Bullets mybs){     ySpeed=aeroliteId+1;     xPos+=xSpeed;     yPos+=ySpeed;    if(aeroliteId<n){ hit(mybs);}//子弹和陨石的碰撞检测。    }////////////////////////////////////    public void hit(Bullets mybs){//子弹和陨石的碰撞检测。        for(int i=0;i<mybs.bs.size();i++){            Bullet b=(Bullet)mybs.bs.elementAt(i);//取出每个子弹。            tw=xPos>b.getXPos()?b.imgW:this.imgW;            th=yPos>b.getYPos()?b.imgH:this.imgH;        if(tw>Math.abs(xPos-b.getXPos())       //检测是否相碰。           && th>Math.abs(yPos-b.getYPos()) )          { if(time>aeroliteId+1)               { Cntrl.gameBoard.myPlan.score+=ss;//加5分。                 Cntrl.gameBoard.explodes.Add(new Explode(xPos,yPos));//加入爆炸效果                 this.alive=false;}       //子弹打中5次才消失。            else                {time++;}                Cntrl.gameBoard.bexplode.Add(new BulletExplode(xPos+imgW/2,yPos+imgH/2));                                                    //加入子弹的爆炸效果.传的是图片中心的坐标            mybs.bs.removeElement(b);     //子弹碰后就删除。          }      }    }////////////////////////}

⌨️ 快捷键说明

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