TankClient.java
上传用户:cswwx88
上传日期:2021-03-26
资源大小:9k
文件大小:2k
源码类别:

射击游戏

开发平台:

Java

  1. import java.awt.*;
  2. import java.awt.event.*;
  3. public class TankClient extends Frame{
  4.     
  5. public static final int GAME_WIDTH = 800,GAME_HEIGH = 600;
  6. Tank myTank = new Tank(50,50,this);
  7. Missile myMissile = null;
  8. Image offScreamImage = null;
  9. public static void main(String[] args) {
  10.         new TankClient().lauchFrame();
  11. }
  12.    
  13. public void lauchFrame(){
  14. this.setBounds(100,100,GAME_WIDTH,GAME_HEIGH);
  15.     addWindowListener(new WindowAdapter(){
  16.      public void windowClosing(WindowEvent e){
  17.      System.exit(0);
  18.      }
  19.     });
  20.     this.setResizable(false);
  21.     setTitle("TankWar");
  22.     this.setBackground(Color.orange);
  23.     this.setVisible(true);
  24.     new Thread(new ThrPaint()).start();
  25.     this.addKeyListener(new keyMonitor());
  26. }
  27. /*public class windowClose extends WindowAdapter{
  28. public void windowClosing(WindowEvent e){
  29. System.exit(0);
  30. }
  31. }*/
  32. public void paint(Graphics g){
  33. myTank.draw(g);
  34. if(myMissile !=null) myMissile.draw(g);
  35. }
  36.     public void update(Graphics g){
  37.      if(offScreamImage == null){
  38.      offScreamImage = this.createImage(GAME_WIDTH,GAME_HEIGH);
  39.      }
  40.      Graphics goffScreamImage = offScreamImage.getGraphics();
  41.      Color c = goffScreamImage.getColor(); 
  42.         goffScreamImage.setColor(Color.orange);
  43.      goffScreamImage.fillRect(0, 0, GAME_WIDTH,GAME_HEIGH);
  44.      goffScreamImage.setColor(c);
  45.      paint(goffScreamImage);
  46.      g.drawImage(offScreamImage, 0, 0, null);
  47.     }
  48. public class ThrPaint implements Runnable{
  49.     public void run(){
  50.      try{
  51.      while(true){
  52.      repaint();
  53.          Thread.sleep(30);
  54.      }
  55.     }catch(InterruptedException e){
  56.      e.printStackTrace();
  57.      }
  58.     }
  59. }
  60. public class keyMonitor extends KeyAdapter{
  61. public void keyPressed(KeyEvent e){
  62.     myTank.keyPressed( e);
  63. }
  64. public void keyReleased(KeyEvent e){
  65. myTank.keyReleased(e);
  66. }
  67. }
  68. }