[Java] 把游戏窗口的大小改变为640 X 480? →→→→→进入此内容的聊天室

来自 , 2020-07-01, 写在 Java, 查看 115 次.
URL http://www.code666.cn/view/1714726c
  1. import java.awt.*;
  2. import java.awt.event.*;
  3.  
  4. public class TankClient extends Frame {
  5.        
  6.         public static final int GAME_WIDTH=800;
  7.         public static final int GAME_HEIGHT=600;
  8.        
  9.         int x = 50, y = 50;
  10.        
  11.         Image offScreenImage = null;
  12.        
  13.         public void paint(Graphics g) {
  14.                 Color c = g.getColor();
  15.                 g.setColor(Color.RED);
  16.                 g.fillOval(x, y, 30, 30);
  17.                 g.setColor(c);
  18.                
  19.                 y += 5;
  20.         }
  21.        
  22.         public void update(Graphics g) {
  23.                 if(offScreenImage == null) {
  24.                         offScreenImage = this.createImage(GAME_WIDTH, GAME_WIDTH);
  25.                 }
  26.                 Graphics gOffScreen = offScreenImage.getGraphics();
  27.                 Color c = gOffScreen.getColor();
  28.                 gOffScreen.setColor(Color.GREEN);
  29.                 gOffScreen.fillRect(0, 0, GAME_WIDTH, GAME_WIDTH);
  30.                 gOffScreen.setColor(c);
  31.                 paint(gOffScreen);
  32.                 g.drawImage(offScreenImage, 0, 0, null);
  33.         }
  34.  
  35.         public void lauchFrame() {
  36.                 this.setLocation(400, 300);
  37.                 this.setSize(GAME_WIDTH, GAME_WIDTH);
  38.                 this.setTitle("TankWar");
  39.                 this.addWindowListener(new WindowAdapter() {
  40.                         public void windowClosing(WindowEvent e) {
  41.                                 System.exit(0);
  42.                         }
  43.                 });
  44.                 this.setResizable(false);
  45.                 this.setBackground(Color.GREEN);
  46.                 setVisible(true);
  47.                
  48.                 new Thread(new PaintThread()).start();
  49.         }
  50.  
  51.         public static void main(String[] args) {
  52.                 TankClient tc = new TankClient();
  53.                 tc.lauchFrame();
  54.         }
  55.        
  56.         private class PaintThread implements Runnable {
  57.  
  58.                 public void run() {
  59.                         while(true) {
  60.                                 repaint();
  61.                                 try {
  62.                                         Thread.sleep(50);
  63.                                 } catch (InterruptedException e) {
  64.                                         e.printStackTrace();
  65.                                 }
  66.                         }
  67.                 }
  68.         }
  69.  
  70. }
  71.  

回复 "把游戏窗口的大小改变为640 X 480?"

这儿你可以回复上面这条便签

captcha