TankClient.java
上传用户:kikomiki
上传日期:2021-10-31
资源大小:373k
文件大小:1k
源码类别:

游戏

开发平台:

Java

  1. import java.awt.*;
  2. import java.awt.event.*;
  3. public class TankClient extends Frame {
  4. int x = 50, y = 50;
  5. Image offScreenImage = null;
  6. public void paint(Graphics g) {
  7. Color c = g.getColor();
  8. g.setColor(Color.RED);
  9. g.fillOval(x, y, 30, 30);
  10. g.setColor(c);
  11. y += 5;
  12. }
  13. public void update(Graphics g) {
  14. if(offScreenImage == null) {
  15. offScreenImage = this.createImage(800, 600);
  16. }
  17. Graphics gOffScreen = offScreenImage.getGraphics();
  18. Color c = gOffScreen.getColor();
  19. gOffScreen.setColor(Color.GREEN);
  20. gOffScreen.fillRect(0, 0, 800, 600);
  21. gOffScreen.setColor(c);
  22. paint(gOffScreen);
  23. g.drawImage(offScreenImage, 0, 0, null);
  24. }
  25. public void lauchFrame() {
  26. this.setLocation(400, 300);
  27. this.setSize(800, 600);
  28. this.setTitle("TankWar");
  29. this.addWindowListener(new WindowAdapter() {
  30. public void windowClosing(WindowEvent e) {
  31. System.exit(0);
  32. }
  33. });
  34. this.setResizable(false);
  35. this.setBackground(Color.GREEN);
  36. setVisible(true);
  37. new Thread(new PaintThread()).start();
  38. }
  39. public static void main(String[] args) {
  40. TankClient tc = new TankClient();
  41. tc.lauchFrame();
  42. }
  43. private class PaintThread implements Runnable {
  44. public void run() {
  45. while(true) {
  46. repaint();
  47. try {
  48. Thread.sleep(50);
  49. } catch (InterruptedException e) {
  50. e.printStackTrace();
  51. }
  52. }
  53. }
  54. }
  55. }