坦克大战游戏是非常经典的JAVASE基础项目,可以将《马士兵JAVA坦克游戏视频教程》各章节内容进行综合的练习,为以后的工作和学习打下扎实的基础,循序渐进学java从入门到精通中坦克大战项目全程解说,专题内附带了所用的素材及视频中的源代码。视频首先从swing界面入手,介绍了Java中对于事件的处理方式、io接口的实现原理。
课程播放地址:http://www.php.cn/course/513.html
该老师讲课风格:
教师讲课深入浅出,条理清楚,层层剖析,环环相扣,论证严密,结构严谨,用思维的逻辑力量吸引学生的注意力,用理智控制课堂教学进程。学生通过听教师的讲授,不仅学到知识,也受到思维的训练,还受到教师严谨的治学态度的熏陶和感染。
本视频中较为难点是加入爆炸了:
1.写出Bomb类,由于爆炸动态效果是由多张图片快速切换而成,这里设置爆炸的生命,通过生命依次减少,实现图片的切换
class Bomb { int x; int y; //*的生命 int life = 9; boolean isLive = true; public Bomb(int x,int y){ this.x=x; this.y=y; } //减少生命值 public void lifeDown(){ if(life>0){ life--; } else{ isLive = false; } } }
2.在MyPanel中定义爆炸集合,并且初始化爆炸图片
Vector<Bomb> bombs = new Vector<Bomb>(); Image image1 = null; Image image2 = null; Image image3 = null; Image image4 = null; Image image5 = null; Image image6 = null; Image image7 = null; Image image8 = null; // 初始化图片 image1 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/blast1.gif")); image2 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/blast2.gif")); image3 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/blast3.gif")); image4 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/blast4.gif")); image5 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/blast5.gif")); image6 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/blast6.gif")); image7 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/blast7.gif")); image8 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/blast8.gif"));
3.画出*,由于屏幕repaint很快,所以图片切换形成爆炸效果
for(int i=0;i<bombs.size();i++){ //取出* Bomb b = bombs.get(i); //System.out.format("%d",++num); if(b.life>8){ g.drawImage(image1, b.x, b.y, 30, 30, this); }else if(b.life>7){ g.drawImage(image2, b.x, b.y, 30, 30, this); }else if(b.life>6){ g.drawImage(image3, b.x, b.y, 30, 30, this); }else if(b.life>5){ g.drawImage(image4, b.x, b.y, 30, 30, this); }else if(b.life>4){ g.drawImage(image5, b.x, b.y, 30, 30, this); }else if(b.life>3){ g.drawImage(image6, b.x, b.y, 30, 30, this); }else if(b.life>2){ g.drawImage(image7, b.x, b.y, 30, 30, this); }else if(b.life>1){ g.drawImage(image8, b.x, b.y, 30, 30, this); } b.lifeDown(); System.out.format("1+%d\n",i); //如果life为 0 酒吧*从bombs向量去掉 if(b.life==0){ bombs.remove(b); } }
这里还给大家推荐了源码资源的下载:http://www.php.cn/xiazai/learn/1942
这个给大家分享了视频的课件:
1.尚学堂马士兵坦克大战视频教程笔记.pdf
Atas ialah kandungan terperinci 马士兵JAVA坦克游戏视频的源码课件推荐. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!