JAVA开发是男人就坚持10秒_爆炸效果实现

      如果要显示爆炸对象,我们仍然需要在主窗口中定义爆炸对象,并且在飞机和炮弹碰撞时,在飞机坐标处创建爆炸对象,显示爆炸效果。

MyGameFrame:增加爆炸效果

public class MyGameFrame extends Frame {
    Image bgImg = GameUtil.getImage("images/bg.jpg");
    Image planeImg = GameUtil.getImage("images/plane.png");
 
    Plane plane = new Plane(planeImg,300,300,3);
     
    ArrayList<Shell>  shellList = new ArrayList<Shell>();  
     
    Explode bao;//创建爆炸对象
     
    //paint方法作用是:画出整个窗口及内部内容。被系统自动调用。
    @Override
    public void paint(Graphics g) {  
        g.drawImage(bgImg, 0, 0, null);
         
        plane.drawMySelf(g);    //画出飞机本身
         
        //画出容器中所有的子弹
        for(int i=0;i<shellList.size();i++){
            Shell b =  shellList.get(i);
            b.draw(g);
             
            //飞机和所有炮弹对象进行矩形检测
            boolean peng = b.getRect().intersects(plane.getRect());
            if(peng){
                plane.live = false;   //飞机死掉,画面不显示
                 
                if(bao==null){
                    bao = new Explode(plane.x,plane.y);
                }
                bao.draw(g);
            }
        }
    }  
    //其余代码和上一个版本一致,限于篇幅,不再展示
}

      程序执行结果,当飞机和炮弹碰撞时发生爆炸,如图所示:

发布了127 篇原创文章 · 获赞 7 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/ZGL_cyy/article/details/104157725
今日推荐