框架逻辑

com.tedu.controllerGameListener.java//游戏监听类属性private ElementManager em = ElementManager.getManager();private Set<Integer> set=new HashSet<Integer>();方法public void keyTyped(KeyEvent e)public void keyPressed(KeyEvent e) public void keyReleased(KeyEvent e)GameThread.java//游戏主线程属性private ElementManager em;方法public GameThread()public void run() {//游戏的run方法 主线程private void gameLoad()private void gameRun()public void ElementPK(List<ElementObj> listA,List<ElementObj> listB)//碰撞检测public void moveAndUpdate(Map<GameElement, List<ElementObj>> all,long gameTime)//游戏元素自动化方法private void gameOver()
com.tedu.elementElementObj.java//基类属性private int x;private int y;private int w;private int h;private ImageIcon icon;private boolean live=true;方法void showElement(Graphics g)void keyClick(boolean bl,int key) void move()void model(long gameTime)void updateImage() {}void add(long gameTime)void die()ElementObj createElement(String str)Rectangle getRectangle()boolean pk(ElementObj obj)
com.tedu.gameGameStart.java//主程序入口
com.tedu.managerElementManager.java//元素管理类 管理集合list属性private Map<GameElement,List<ElementObj>> gameElements;方法public Map<GameElement, List<ElementObj>> getGameElements()public void addElement(ElementObj obj,GameElement ge)//添加元素(多半由加载器调用)public List<ElementObj> getElementsByKey(GameElement ge)//依据key返回1ist集合,取出某一类元素private static ElementManager EM=null;//引用public static synchronized ElementManager getManager(){//注意是个静态方法,可以通过类来快速获取元素管理对象private ElementManager(){//私有化构造方法public void init(){//实例化在这里完成GameElement.java //枚举类MAPS,PLAY,ENEMY,BOSS,PLAYFILE,DIE;//枚举类型的顺序是声明的顺序GameLoad.java//游戏加载类属性private static ElementManager em=ElementManager.getManager();public static  Map<String,ImageIcon> imgMap = new HashMap<>();public static  Map<String,List<ImageIcon>> imgMaps;private static Map<String,Class<?>> objMap=new HashMap<>(); //map类型、key是字符串、value是类private static Properties pro = new Properties();方法public static void MapLoad(int mapId) {//加载地图资源public static void loadImg() {//加载动作等图片资源 填充imgMappublic static void loadPlay() {//加载play类对象 显示public static ElementObj getObj(String str)//**直接根据字符串如play就,可以得到相应对象,前提是加载了obj.pro loadObj()public static void loadObj() {//**加载obj.pro文件 填充objMap
com.tedu.showGameJFrame.java//游戏窗口类属性public static int GameX = 800;//GAMEX public static int GameY = 600;//窗口大小private JPanel jPanel = null;// 正在显示的面板private KeyListener keyListener=null;//键盘监听private MouseMotionListener mouseMotionListener=null;//鼠标监听private MouseListener mouseListener=null;private Thread thread=null; //游戏主线程方法public GameJFrame()public void init()public void addButton()*窗体布局:可以讲存档,读档。button*/public void start()public void setjPanel(JPanel jPanel)public void setKeyListener(KeyListener keyListener)public void setMouseMotionListener(MouseMotionListener mouseMotionListener)public void setMouseListener(MouseListener mouseListener)public void setThread(Thread thread)GameMainJPanel.java//游戏面板类属性private ElementManager em;方法public GameMainJPanel()public void init()public void paint(Graphics g) public void run()
com.tedu.text//游戏资源包

源码提取

链接: https://pan.baidu.com/s/1TdV2YB1eSH0BClcqnpRErg 提取码: fxhu

随手点赞,留有余香

游戏项目框架(属性名+方法名)相关推荐

  1. 包名,类名,属性,方法名取名规范

    1, 命名:用驼峰命名法. a.类.接口:每个单词的首字母大写.例:ConvertUtil b.变量.方法:第一个单词的首字母小写,其他单词的首字母都大写.例:getCurrentTimeMillis ...

  2. 【收藏】Vue+elementUI的this.$refs.对象名.方法名的理解

    以前根本看不懂这么写是什么意思: this.$refs.tree.getCheckedKeys()); 其实上面的方法就是已经封装好的,直接调用即可,this,代表在当前vue里,$refs代表一个引 ...

  3. JpaRepository查询方法名规范

    JpaRepository的查询 直接在接口中定义查询方法,如果是符合规范的,可以不用写实现,目前支持的关键字写法如下:JpaRepository会对方法名进行校验 不符合规范会报错 除非添加@Que ...

  4. Uglify 压缩特定规则方法名、变量

    UglifyJS 压缩特定规则的方法名.变量时,需要配置 mangle 属性. 以 webpack 插件为例: config.optimization.minimizer.push(new Uglif ...

  5. HTTP协议学习笔记(一)请求方法名及状态码

    HTTP协议是位于TCP协议之上的应用层协议,是应用进程之间通讯的一种协议.之所以称之为应用层协议,是因为它无需关心数据是通过什么方式到达对端的,在到达对方的应用程序之前都经历了什么,而只需要协商好使 ...

  6. Python 动态获取对象的属性和方法(内含inspect)

    首先通过一个例子来看一下本文中可能用到的对象和相关概念. #coding:utf-8 import sysdef foo():passclass Cat(object):def __init__(se ...

  7. 一文搞懂 Python 私有属性 私有方法

    1. 场景定义 私有属性 是指在 Python 的面向对象开发过程中,对象的某些属性只想在对象的内部被使用,但不想在外部被访问到这些属性. 即:私有属性是对象不愿意公开的属性. 私有方法 是指在 Py ...

  8. Python编程系列教程第12讲——属性和方法

    视频地址:http://v.youku.com/v_show/id_XNTgyOTg4NjQ4.html 普及网络安全知识,推动信息技术发展. 为祖国的网络安全撑起一片蓝天,为网络安全爱好者构建一方家 ...

  9. java类与对象(属性,方法)的使用

    ---恢复内容开始--- 类和对象是java编程中很重要的应该面向对象的一课,实际上可以将类看作对象的载体,它定义了对象所具有的功能.Java是面向对象的语言,因此掌握类与对象是学习Java语言的基础 ...

  10. python程序实例讲解_Python编程之属性和方法实例详解

    本文实例讲述了Python编程中属性和方法使用技巧.分享给大家供大家参考.具体分析如下: 一.属性 在python中,属性分为公有属性和私有属性,公有属性可以在类的外部调用,私有属性不能在类的外部调用 ...

最新文章

  1. 产品打包工具的制作,ant,编译源码,打jar包,打tag,打war包,备份release版本等...
  2. Visual Studio 2013 在使用 razor无智能提示的解决办法
  3. 简单好用!利用Spring AOP技术10分钟实现一个数据库读写分离方案
  4. Android 的 init.rc 文件简介【转】
  5. PHP 入门 - 8.数据库
  6. 在linux运行math_neon库,linux - 仅使用带交叉编译器的本地库 - 堆栈内存溢出
  7. python生成树状图_python 生成 树状结构
  8. 输出空格隔开换行_VB编程(六)数据输出 Print 及相关方法
  9. 察看无限网络linux,linux 无线网络调试
  10. 任意文件夹下打开cmd窗口
  11. java做后台移动端QQ第三方登录
  12. 研究了一晚上,填补了中国古代神话中的一些空白
  13. 玩转力扣 - LeetCode进度倒计数表
  14. 桌面虚拟化 VMware Horizon_view 7 安装及管理手册
  15. LIFO栈 ADT接口 链表实现
  16. android app卸载以后弹出用户反馈界面
  17. 在使用vue脚手架之前你必须掌握的:vue的模版以及路由用法
  18. 联想Thinkpad E15 息屏后 无法唤醒
  19. 计算机期末总结ppt课件,计算机期末总结
  20. Welcome Here

热门文章

  1. jxl操作合并单元格复杂表头
  2. 华为梁华:鸿蒙系统不是谈判策略 是针对IoT的操作系统
  3. aws rds mysql 连接_解决连接到 Amazon RDS 数据库实例的问题
  4. 安装某考试软件提示MDAC没有安装或者出错
  5. 强制关闭计算机窗口,windows系统怎么取消关机时强制关闭程序提示窗口?
  6. 故宫夜景门票最高炒至9999元 官方:二手票难以入场
  7. mysql设置允许远程访问
  8. 能量英语(一)之激情英语
  9. 可道云需要配置MySQL吗_可道云kodexplorer搭建私有云后的配置优化
  10. vue 2.6 keep-alive 不生效问题记录点