微信小程序 > 微信公开课 > java applection小程序 怎么在paint里面添加图片??
微信小程序,微信公开课,java applection小程序 怎么在paint里面添加图片??

java applection小程序 怎么在paint里面添加图片??

2019-03-12 17:01:43

微信公开课小程序热门讨论「java applection小程序 怎么在paint里面添加图片??」最新回复-第一种方法:Imageimage=getToolkit().getImage(a.png);第二种方法:URLurl=getClass().getResource(a.png);ImageIconimageIcon=newImageIcon(url);Imageimage=imageIcon.getImage();第三种:Imageimage=imageIO.read(getClass.getClassLoader.getResource(a.png));最后使用画笔对象画就可以了g.drew(图片对象,起点X,起点Y,width,height,null);
直接复制以前写的小程序源码给你。你自己看看吧。packagecom.bjsxt.tank;importjava.applet.Applet;importjava.applet.AppletContext;importjava.applet.AppletStub;importjava.applet.AudioClip;importjava.awt.Color;importjava.awt.Frame;importjava.awt.Graphics;importjava.awt.Image;importjava.awt.Toolkit;importjava.awt.event.KeyAdapter;importjava.awt.event.KeyEvent;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;importjava.io.IOException;importjava.net.MalformedURLException;importjava.net.URL;importjava.util.ArrayList;importjava.util.List;importjava.util.Properties;/***这个类的作用是坦克游戏的主窗口*@authorshenzhuan**/publicclassTankClientextendsApplet{//Frame,/***整个坦克游戏的宽度*/AudioClipaudio;AudioClipaudioStart;publicstaticfinalintGAME_WIDTH=Integer.parseInt(PropertyMgr.getProperty(GameWidth));publicstaticfinalintGAME_HEIGHT=Integer.parseInt(PropertyMgr.getProperty(GameHeight));privatestaticfinalStringBlood=null;privatestaticintlev=1;privatestaticToolkittk=Toolkit.getDefaultToolkit();//草地与墙的图片privatestaticImageglassImages=tk.getImage(Tank.class.getClassLoader().getResource(images/glass.gif));privatestaticImagewallImages=tk.getImage(Tank.class.getClassLoader().getResource(images/wall.gif));/***画出自己的坦克*原:Dir为STOP启动游戏后需点击我界面方能控制移动-》》》修改为U依旧需要点击方加入监听*/TankmyTank=newTank(500,500,true,Direction.STOP,this);/***定义几道墙*/ImageBySrcwallOne=newImageBySrc(wallImages,100,200,50,50),wallTwo=newImageBySrc(wallImages,250,450,400,5),wallThree=newImageBySrc(wallImages,700,700,15,200),wallFour=newImageBySrc(wallImages,800,800,100,100),wallFive=newImageBySrc(wallImages,160,260,5,150),glassOne=newImageBySrc(glassImages,200,290,100,50);ListExplodeexplodes=newArrayListExplode();ListMissilemissiles=newArrayListMissile();ListTanktanks=newArrayListTank();ImageoffScreenImage=null;Blood_bakb=newBlood_bak();publicvoidpaint(Graphicsg){/***显示子弹-爆炸-坦克数量*以及坦克生命值*/g.drawString(missilescount:+missiles.size(),10,50);g.drawString(explodescount:+explodes.size(),10,70);g.drawString(enemey  count:+tanks.size(),10,100);g.drawString(myTanks life:+myTank.getLife(),10,110);/***这里指定当敌方坦克数目为零时*再次添加敌方坦克数目*/while(tanks.size()=0){audioStart.play();if(lev==1){for(inti=0;iInteger.parseInt(PropertyMgr.getProperty(reProduseTankCount1));i++){tanks.add(newTank(10+65*(i+5),100,false,Direction.D,this));}lev++;System.out.println(第+lev+关);}elseif(lev==2){for(inti=0;iInteger.parseInt(PropertyMgr.getProperty(reProduseTankCount2));i++){tanks.add(newTank(10+65*(i+7),950,false,Direction.R,this));}lev++;System.out.println(第+lev+关);}elseif(lev==3){for(inti=0;iInteger.parseInt(PropertyMgr.getProperty(reProduseTankCount3));i++){tanks.add(newTank(10+80*(i+5),850,false,Direction.L,this));}lev++;System.out.println(第+lev+关);}elseif(lev==4){for(inti=0;iInteger.parseInt(PropertyMgr.getProperty(reProduseTankCount4));i++){tanks.add(newTank(10+80*(i+5),850,false,Direction.L,this));}lev++;System.out.println(第+lev+关);}else{for(inti=0;iInteger.parseInt(PropertyMgr.getProperty(reProduseTankCount5));i++){tanks.add(newTank(10+80*(i+5),850,false,Direction.L,this));}lev++;System.out.println(第+lev+关);}}/***子弹类的加入*打击坦克*能否穿墙*/for(inti=0;imissiles.size();i++){Missilem=missiles.get(i);m.hitTanks(tanks);m.hitTank(myTank);m.hitWall(wallOne);m.hitWall(wallTwo);m.hitWall(wallThree);m.hitWall(wallFour);//m.hitWall(w6);m.draw(g);/*如果保留下面方法一次两子弹* if(!m.isLive())missiles.remove(m);elsem.draw(g);*/}for(inti=0;iexplodes.size();i++){Explodee=explodes.get(i);e.draw(g);}/***敌方坦克*能否穿墙*/for(inti=0;itanks.size();i++){Tankt=tanks.get(i);t.collidesWithWall(wallOne);t.collidesWithWall(wallTwo);t.collidesWithWall(wallThree);//t.collidesWithWall(w4);t.collidesWithWall(wallFive);t.collidesWithWall(glassOne);//t.collidesWithTanks(tanks);//不能穿墙//t.collidesWithWall(wallImages);t.draw(g);}/***下面方法让自己坦克根据敌方坦克多少迅移*/for(inti=0;itanks.size();i++){Tankt=myTank;t.draw(g);}/***我方坦克的加入*以及画出各种墙*/myTank.draw(g);myTank.eat(b);//w1.draw(g);//w2.draw(g);//w3.draw(g);////w4.draw(g);//w5.draw(g);//w6.draw(g);b.draw(g);//右上两块草与墙g.drawImage(wallOne.wallImages,wallOne.x,wallOne.y,wallOne.w,wallOne.h,null);g.drawImage(glassOne.wallImages,glassOne.x,glassOne.y,glassOne.w,glassOne.h,null);////画草地与墙图g.drawImage(glassImages,500,100,null);g.drawImage(glassImages,660,170,null);g.drawImage(glassImages,800,300,null);g.drawImage(glassImages,850,370,null);g.drawImage(wallImages,400,500,null);g.drawImage(wallImages,600,500,null);g.drawImage(wallImages,550,500,20,20,null);//g.draw3DRect(100,100,55,55,true);//g.draw3DRect(100,200,55,55,false);}/***图像闪烁的处理*画图*颜色*关闭键*可见*/publicvoidupdate(Graphicsg){if(offScreenImage==null){offScreenImage=this.createImage(GAME_WIDTH,GAME_HEIGHT);}GraphicsgOffScreen=offScreenImage.getGraphics();Colorc=gOffScreen.getColor();gOffScreen.setColor(Color.darkGray);gOffScreen.fillRect(0,0,GAME_WIDTH,GAME_HEIGHT);gOffScreen.setColor(c);paint(gOffScreen);g.drawImage(offScreenImage,0,0,null);}/***本方法显示坦克主窗口*一开始添加敌方坦克数目*/publicvoidinit(){//声音所需audio=getAudioClip(getDocumentBase(),configDjMusic.wav);//startMusic.midaudioStart=getAudioClip(getDocumentBase(),configstartMusic.mid);//startMusic.midaudio.loop();Propertiesprops=newProperties();try{props.load(this.getClass().getClassLoader().getResourceAsStream(config/tank.properties));}catch(IOExceptione1){e1.printStackTrace();}intinitTankCount=Integer.parseInt(PropertyMgr.getProperty(initTankCount));for(inti=0;iinitTankCount;i++){tanks.add(newTank(40+100*(i+2),100,false,Direction.D,this));}/***设置游戏窗口属性*/this.setLocation(1,1);this.setSize(GAME_WIDTH,GAME_HEIGHT);//this.setTitle(坦克大战);/***设置可关闭按钮*不可改变大小*颜色*关闭键*可见*///this.addWindowListener(newWindowAdapter(){////重写父类的方法双击右键source-overrideImplementsmethods//publicvoidwindowClosing(WindowEvente){//System.exit(0);//}//});//this.setResizable(false);this.setBackground(Color.BLACK);this.addKeyListener(newKeyMonitor());setVisible(true);newThread(newPaintThread()).start();}//声音所需privateclassPaintThreadimplementsRunnable{/***所有成员动的速度*/publicvoidrun(){while(true){repaint();try{Thread.sleep(100);}catch(InterruptedExceptione){e.printStackTrace();}}}}/***KeyMonitor键盘的引入*@authorshenzhuan*我方坦克方向键控制方向*/privateclassKeyMonitorextendsKeyAdapter{publicvoidkeyReleased(KeyEvente){myTank.keyReleased(e);}publicvoidkeyPressed(KeyEvente){myTank.keyPressed(e);}}/***main方法*@paramargs*/publicstaticvoidmain(String[]args){TankClienttc=newTankClient();tc.init();}} 更多有关「java applection小程序 怎么在paint里面添加图片??」的疑问请扫码关注微信公开课+小程序!
标签:微信公开课,小程序
微信小程序,微信公开课,java applection小程序 怎么在paint里面添加图片??

「java applection小程序 怎么在paint里面添加图片??」热议话题订阅

方法1:微信扫描微信公开课小程序码即可订阅热议话题「java applection小程序 怎么在paint里面添加图片??」

方法2:微信搜索微信公开课小程序名称进入,即可订阅热议话题「java applection小程序 怎么在paint里面添加图片??」

方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热议话题「java applection小程序 怎么在paint里面添加图片??」

微信公开课小程序热议话题「java applection小程序 怎么在paint里面添加图片??」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。

微信公开课热议话题「java applection小程序 怎么在paint里面添加图片??」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。