• 期末设计(十三周)


    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
    
    import javax.swing.JFrame;
    
    package cumin.planewar;
    
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.Toolkit;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
    
    import javax.swing.JFrame;
    
    public class MainFrame extends JFrame {
    
        /**
         * @param args
         */
        public static final int FRAME_HEIGHT = 800;
        public static final int FRAME_WIDIH = 480;
    
        Image cacheImage = null;
        private Image background = null;
        private Image wait = null;
        private Image result = null;
        
        //手柄控制类
        Handle controller = null;
    
        /**
         * 游戏窗口显示构造函数
         */
        public MainFrame() {
            // 游戏窗口
            this.setLocation(0, 0);
            this.setSize(FRAME_WIDIH, FRAME_HEIGHT);
            this.setDefaultCloseOperation(EXIT_ON_CLOSE);
            background = Toolkit.getDefaultToolkit().createImage("res/背景.png");
            wait = Toolkit.getDefaultToolkit().createImage("res/暂停界面.png");
            result = Toolkit.getDefaultToolkit().createImage("res/result_t.png");
    
            // 游戏窗口监听器
            this.addKeyListener(new MyKeyListener());
    
            // 游戏开始
            this.setVisible(true);
            
        }
    
    
    @Override
        public void paint(Graphics g) {
            if (controller.getGameState() == Handle.GAMESTATE_START)
                controller.onDraw(g);
            else if (controller.getGameState() == Handle.GAMESTATE_STOP) {
    
                g.drawImage(result, FRAME_WIDIH / 2 - 160, FRAME_HEIGHT / 2 - 115, null);
                g.drawString("" + controller.getScore(), FRAME_WIDIH / 2 - 10, FRAME_HEIGHT / 2);
            }
        }
    
        @Override
        public void update(Graphics g) {
            // super.update(g);
            if (cacheImage == null)
                cacheImage = this.createImage(FRAME_WIDIH, FRAME_HEIGHT);
    
            Graphics gCacheImage = cacheImage.getGraphics();
            gCacheImage.drawImage(background, 0, 0, FRAME_WIDIH, FRAME_HEIGHT, null);
            this.paint(gCacheImage);
            g.drawImage(cacheImage, 0, 0, null);
        }
    
        public static void main(String[] args) {
            // 主游戏开启
            MainFrame mf = new MainFrame();
        }
    
    }

  • 相关阅读:
    冒泡排序算法
    delphi 处理图片(剪切,压缩)
    delphi 创建DLL文件 及其调用和注意事项
    对属性的认识
    timer实现Grid自动换行(连续相同的id跳到下一行)
    Form1调用Unit2类中函数
    微信二次分享不显示摘要和图片
    location.search为空导致微信拿不到code的问题
    考虑一下微信跳转的登录流程如何修改-无感知
    微信7.0(2019年1月份之后,没法使用抓包了,也许是为了安全,所以联调出问题记得看后台日志)
  • 原文地址:https://www.cnblogs.com/Mrsli/p/5534960.html
Copyright © 2020-2023  润新知