需购买观看

全屏

13.6.2 主窗口类创建爆炸对象


【专业IT培训机构,真正零首付入学www.bjsxt.com


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

【示例13-24】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);
			}
		}
	}	
	//其余代码和上一个版本一致,限于篇幅,不再展示
}

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

图13-16 爆照效果图.png

图13-16 爆照效果图

分类导航
点击按住视频可拖动

缩小

关闭

  • 正在学习
  • 北京总部地址:北京市海淀区西三旗街道建材城西路中腾建华商务大厦东侧二层尚学堂
  • 咨询电话:400-009-1906 010-56233821
  • Copyright 2007-2015 北京尚学堂科技有限公司
  • 京ICP备13018289号-1 京公网安备11010802015183