本次更新发布日期:2010-07-31
源码及jar下载地址 : http://loon-simple.googlecode.com/files/LGame-0.2.6.rar
关于LGame-Android版的 AndroidManifest.xml 配置:
此框架Android版具备LGameAndroid2DActivity以及LGameOpenGLActivity两种启动用 Activity(后者暂未提供) ,针对 LGameAndroid2DActivity的 AndroidManifest.xml配置如下所示:
关于LGame-Android版的初始化配置:
关于Android版以及PC版的共同变化:
1、扩充了原有的LGraphics类,目前的LGraphics几乎涵盖了J2ME及J2SE中所有的Graphics API。
2、加入了CanvasScreen类,这是一个仿J2ME中GameCanvas的实现(以Screen封装),它和普通Screen的主要差别在于不会主动刷新画面,刷新仅在执行repaint时有效,另外CanvasScreen的API在Android和PC版中完全一致。
3、为简化J2ME游戏移植,加入了仿J2ME的精灵类包(完全等价于J2ME中Sprite类的相关系列,API为1:1实现)。
4、为简化J2ME游戏移植,加入了仿J2ME的存储类包(完全等价于J2ME中RecordStore类的相关系列,API为1:1实现,具体到在PC平台为文本方式存储,在Android平台为SQLite方式存储)。
5、在原有LGame的精灵包中增加了SpriteTiled类(仿TitleLayer实现),扩充了Sprites类(增加了仿LayerManager的API),但在细节上与J2ME中的相关类有所差异,在需要1:1移植J2ME游戏时,请使用扩充的J2ME包。
6、增加了一种资源文件打包方式,用户可以通过LPKUtils类(此类PC版特有),将指定文件或文件夹中资源打包为LPK文件(后缀任意,文件头会统一标识为LGPK),并通过LPKResource类进行读取(此为Android版和PC版共有),以避免游戏资源被人轻易盗用(由于此框架开源,建议用户对源码中混淆方式进行少许修改后使用)。
7、扩展了部分原有类库。
8、修正了一些原有BUG。
关于Android版:
由于LGame近期体积逐渐膨胀,考虑到移动平台特性,在此0.2.6版中我将某些可以通过Android类库自有功能替换的类包暂时移除(诸如Ioc、xml、http操作等),此部分功能在下一版中会分包发布,目前需要此部分功能的网友请从上一版本直接COPY即可。
PS:此次开发中反向了大量的J2ME游戏进行移植实验,能够保证绝大多数J2ME游戏皆可正常移植,并且做到Android版和PC版通用(您问为什么要加入仿J2ME的功能?当然是为了响应某知名公司号召:“ 科技,以换壳为主! ”,至于怎么“换”,那就看您的了~)。
以下为部分J2ME游戏移植效果(由于测试示例大部分为反向获得,小弟没有版权,所以无法发布程序,万望海涵(-_-)……):
以下为较早前发布过的一些程序示例画面(请下载较早前LGame发布版本获得):
以下为LGame-Simple开发的部分游戏示例画面。
源码及jar下载地址: http://loon-simple.googlecode.com/files/LGame-0.2.6.rar
关于开发文档的说明:
有很多热心网友,曾经讯问过小弟关于开发文档的事情,小弟在这里明确的表个态,文档在8月份肯定会发布的(也就是赶在LGame-0.3发布前)。
不过小弟还是要提前明确一点,在游戏开发这个领域中,个人以为不太可能存在什么特别神奇的开发说明手册,能够看过后就将所有难题一一攻克,写出让世人爱不释手的游戏来。因为即使有了完整的配套文档,也只能减少开发疑问,而不能根本性的提升用户的游戏开发能力。
我举个例子,想必大家都知道目前iPhone领域的游戏开发是非常火爆的,而iPhone的游戏效果也是有目共睹的。但是,目前iPhone 2D开发中使用最多的Cocos2d,难道就有什么能让人一目了然的开发窍门吗?难道就有什么“一拖而就”的IDE在后面支撑吗?我看也未必。
事实上,近期小弟常常会潜水在国内iPhone领域比较有代表性的Cocoachina网站上,也曾记极力想在上面找到任何堪称“完备”的文档或教材以作参考。但看到最多的,却往往还是那些只言片语的疑问,以及连代码也没有的简短回答。甚至该站提供的Cocos2d置顶示例(
http://www.cocoachina.com/bbs/read.php?tid-15554.html
),个人认为,也并比小弟博客中曾经给出过的示例更为直观具体(坦白讲,该例甚至还要初级很多),而Cocos2d在使用中所会面临的繁琐性以及Object-C语法的繁琐性,小弟以为也更在LGame框架以及Java语法之上——至少LGame还有PC版可在台式机上直观的调试后再移植到智能机,而Cocos2d就只能在虚拟机或真机上硬调了。
但是,就是这样的Cocos2d,却创造了无数个月入万刀以上的iPhone开发者。所以,至今没有人,也不可能有人敢于否定它的存在价值。
我在这里想说的是,文档或示例肯定都是有用的,也都是会有的。可游戏开发,更多还是要依靠开发者的主观摸索与经验积累。如果没有这些,就算小弟能将魔兽世界整个做成示例,并一步步讲解其实现原理,到最后世上流传最多的,恐怕也不过是N种换壳的魔兽世界游戏罢了。
————————————————————————
话说持续高温的“京畿”,在2010年7月31日晚终于下雨了,所以小弟也暂时摆脱了“夏眠”状态……