期末设计(十三周)
2016-05-27 16:00
176 查看
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(); } }
相关文章推荐
- 极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
- 剑指Offer:合并2个排序的链表
- U盘装win7/win8 32位&64位系统
- 14.2 线程创建的方式二:
- Android中dp和px之间进行转换的代码
- 290. Word Pattern
- Save & Apply mechanism of luci
- IOS 单例设计模式解读
- 详解SQL Server连接(内连接、外连接、交叉连接)
- 26. SpringMVC_mvc_view-controller标签 (无笔记)
- 连接Oracle11g时报错ORA-12541: TNS: 无监听程序
- Android EditView用法小结
- redhat 5.0 python2.4升级到2.7
- Linux下安装Tomcat服务器和部署Web应用
- 正则表达式
- JAVA语法题
- Android Library项目注意事项
- ceph 日志01
- [dhtmlxGantt(甘特图)开发手册]第四篇——撤销/重做、提示消息、加载任务
- 新买的电脑如何用U盘装系统