Java 2D 游戏引擎开发(一)
来源:互联网 发布:django网站开发源码 编辑:程序博客网 时间:2024/05/16 12:25
以前就想用java做桌面端游戏,基于awt和swing,这样可以在轻易的跨平台运行,同时还比Python,Javascript之类的高效。不过很可惜,一直没有找到一个合适的java写的2d游戏引擎。前几天偶然发现了一本书,科学出版社出版的《Java游戏编程》,译自David Brackeen的同名作品。这本书较为细致地从awt动画讲起,一直讲到用java写3d引擎。扫完一眼书后,十分激动之余,不由得想自己写一个基于书上的简易2d引擎的扩展版本。
因为这个引擎是遵循BSD的,所以我直接将它移到了我的项目里进行改造。原版引擎主要是用于制作瓦片游戏(TileGame),包含以下几个版块:
- graphics -- 包括简易的动画,精灵和屏幕管理器
- input -- 包括输入管理器和游戏中的动作事件
- sound -- 这块就复杂多了,包括了Midi播放器,声音管理器和各种过滤器,实现了立体的声音效果
- test -- 包括一个游戏循环的原型
- tilegame -- 包括一个游戏管理器(继承自test里的游戏原型),资源管理器,瓦片地图,瓦片地图渲染器以及一些实例的精灵
- util -- 包括一个特殊的输入流和一个自制的线程池
这个引擎很明显都不能制作稍微复杂一点的游戏(虽然有着十分完备的声音系统),同时也缺乏UI控件的支持。那么我准备改进以下方面
- 重构包架构,比如将test里的游戏原型规范后建立一个新板块,作为一个通用抽象父类使用
- 新建一个背景版块,将瓦片地图和其渲染器移到这个版块里,同时增加一个卷轴式的有深度的背景图和其渲染器
- 将游戏场景显示的所有对象都抽象出一个父类和对应接口,包括摄像机对象,简易的UI控件,以便实现更复杂的画面
目前就先准备实现这么多,毕竟手头还有三个项目在赶,留给完成这个引擎的时间也不多,计划尽量在元旦前将这几块构造好。
PS:
想有中文版教材/原版引擎/实例游戏的码友可以在回复里留下邮箱和需要的资源。
教材封面
阅读全文
0 0
- Java 2D 游戏引擎开发(一)
- 开源3D&2D游戏开发引擎之GoDot简单介绍(一)
- 2D游戏引擎开发
- 游戏引擎篇(一)-苹果2D引擎SpriteKit
- android 2D游戏开发,引擎设计(一) 基本构思
- 2D游戏引擎Allegro 系列教程(一) 配置allegro开发环境
- 动手实现2d游戏引擎(一)
- 漫谈3D游戏引擎(一)
- 基于引擎开发HTML5游戏实战(一)---游戏引擎
- 基于引擎开发HTML5游戏实战(一)---游戏引擎(construct 2)
- 【手游游戏引擎】学习游戏开发的两个方向 Cocos2d-x 和 Unity 3D/2D (一)
- Python游戏引擎开发(一):序
- Unity游戏引擎挖坑记之3d游戏2d显示管理(血条、飘血)(一)
- 3D游戏引擎编写(2)
- 2d游戏引擎(一)——整体框架
- 转载--如何学好3D游戏引擎编程(一)
- android 2D游戏开发,引擎设计(二)脚本思考
- HTML5 2D 游戏开发(一): Snail Bait 简介
- java多线程中的 生产者消费者模式入门级理解
- Fiori2.0学习笔记-GATEWAY
- 无法启动 IIS Express Web 服务器,ID 为 15784 的进程当前未运行,无法连接到已配置的开发 Web 服务器
- dataset基本用法
- Jekins安装
- Java 2D 游戏引擎开发(一)
- 非递归遍历后序二叉树
- unplug / plug PDBS
- HTML常见基础元素整理
- 一致性哈希算法
- C语言实现的2048小游戏
- week10-leetcode #24-Swap-Nodes-in-Pairs
- 二叉树线索化
- 刚学链表,有点搞不懂,求教