Android与J2SE OpenGL游戏框架子- Lgame
jopen
13年前
<div id="p_fullcontent" class="detail"> <p><img title="logo.png" border="0" alt="logo.png" src="https://simg.open-open.com/show/cc56f5f115a81f700b7955913a985508.png" width="55" height="55" /><br /> LGame是一个高通用性的游戏框架,作为支持Java桌面游戏 以及网页游戏开发的全功能引擎,LGame无论对画面绘制、精灵碰撞、特效渲染、窗体组件,还是XML操作,文本数据库操作,HTTP操作,日志操作等都 提供有完善的内部解决方案,避免了多包配置的繁琐与不便,同时也降低了用户的学习曲线。出于效率与程序体积两方面考虑,LGame中所有组件皆不依赖 Swing,完全采取AWT绘制而成,因此它可以将自身的运行环境压缩到最小,一个压缩后不足4MB的精简JRE,已足够支持它的运行,也就是与RMXP 或吉里吉里2的运行库大小相仿佛,但功能却更多。</p> <p>LGame内置有视频解码器,支持mp4视频文件播放(在LGame-Simple-0.3.0中将支持flv,在0.6-0.7版本中将以可选组 件方式 引入jmc支持,以争取可播放视频种类的最大化),内置音频解码器支持mid、mod、mp3、ogg、wav、au、aiff、aac、rmf等音频播 放,以上解码器皆不依赖于本地资源,只要拥有jre1.4或以上环境即可正常运行。</p> <p>理论上讲,只要您能够熟练操作LGame,世界上根本没有任何一款2D游戏是您所无法快速实现的。</p> <p>PS:目前LGame尚未推出正式版本,LGame-Simple为前瞻性测试及吸收反馈意见用,此时LGame框架的基本架构尚未最终确定,因此 无法保 证不同版本间的兼容性。LGame-Simple以每版+0.5的方式跳跃式升级,当LGame-Simple更新到1.0版本时,既推出LGame- 0.1的正式版本,并开放SVN,LGame正式版推出后将始终保持新版与旧版间的兼容性。</p> <p><span style="color:orange;"><strong>2011-11-20 LGame-0.3.2-Update:</strong></span><strong> </strong></p> <p>1、LGame-0.3.2版延续0.3.1,使用OpenGL作为游戏渲染核心,早前的AWT与Canvas实现版本现已更名为LSE与LAE(延续0.3)。 </p> <p>2、LGame-0.3.2版极大扩展了LGame核心包功能,新增工具、特效、精灵、接口以数百计(具体细节正在完善文档中,此处不再详述)。 </p> <p>3、LGame-0.3.2版在核心包基础上,新增了STG开发模块,作为游戏框架的额外补充(目前默认支持(可以基本用脚本完成)的游戏类型已含STG、SRPG、AVG,预计0.3.3提供RTS支持)。 </p> <p>4、LGame-0.3.2版的C#(WP7)版已经构建完毕,不久后也将发布。 </p> <p>PS:LSE 和LAE包是针对LGame在0.3.1改版前旧版框架的延续,相对0.3.1及0.3.2版使用的OpenGL渲染方式而言,它们继续采用JavaSE 环境所提供的AWT(特指LSE版)以及Android环境所提供的Canvas(特指LAE版)作为游戏绘图核心,并且仅在LGame的Java版中出 现,其它语法环境下无对应版本提供(比如很快会发布的C#(WP7)版)。 </p> <p><span style="color:red;"><strong>LSE与LAE包与标准LGame包的主要差别有如下几点:</strong></span><strong> </strong></p> <p>1.标准LGame自0.3.2起彻底重构了原有的geom包,已经不再附带OpenJDK中的geom包,但LSE与LAE版继续使用该包。 </p> <p>2. 标准LGame使用GLEx类作为引擎的最基本渲染器,允许使用JavaSE、JavaME的常用绘图API,以及OpenGL、OpenGLES的常用 绘图API,而LSE与LAE包仅模拟有JavaSE、JavaME的Graphics类常用接口(这意味着完全不支持OpenGL)。 </p> <p>3.标准LGame包由于使用OpenGL编程,在不同屏幕手机中进行缩放时,可以较为有效的减少甚至消除画面失真,而LSE与LAE包则难以避免这种现象的产生(特别是大画面的游戏,在较小屏幕的手机上运行时)。 </p> <p>4.LSE 与LAE版基本不受硬件环境限制,在大多数微机或手机中都能产生较为一致的刷新速度(当然,这并不意味着没有浮动,而是指不会出现某些机器上跑几帧,某些 机器上跑数十、数百帧的极端情况),而LGame标准版的速度则受到硬件条件制约,对于某些不支持OpenGL硬件渲染的环境而言(比如ADT模拟器以及 部分低端真机),它的速度甚至不如LSE与LAE版。因此从某种情况上讲,LSE与LAE版的兼容性要超过目前的标准LGame。 </p> <p>5.标准LGame包已经不再支持JavaME游戏组件的模拟,并删除了相关类。而在LSE与LAE版中,相关类依旧被保留了下来。 </p> <p>6.LSE与LAE版的主体结构虽与标准LGame一致,但辅助类明显较LGame标准版本为少(缺少几乎全部工具类以及很多特效类),而各类中提供的API也没有标准版完整。 </p> <p>以下为LGame部分示例画面(下列示例年代较早,目前效果已经较当时更好): </p> <p><img alt="java游戏开发组件 Lgame" src="https://simg.open-open.com/show/29ce1e5258c639432dc4063684ada7c1.gif" width="482" height="336" /> </p> <p><img alt="java游戏开发组件 Lgame" src="https://simg.open-open.com/show/7f58d70ae99ffbbd8a389e3097f6bd8f.gif" width="485" height="384" /> </p> <p><img alt="java游戏开发组件 Lgame" src="https://simg.open-open.com/show/ce1620f08e80d78f724fbedada6648fd.jpg" width="543" height="498" /><br /> <br /> </p> <p><strong>项目主页:</strong><a href="http://www.open-open.com/lib/view/home/1326599587937" target="_blank">http://www.open-open.com/lib/view/home/1326599587937</a></p> </div>