Java游戏开发框架LGame-0 2 6发布(含PC及Android版)

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

本次更新发布日期: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配置如下所示:

 

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.       package="org.loon.test"  
  4.       android:versionCode="1"  
  5.       android:versionName="1.0">  
  6.     <application android:icon="@drawable/icon" android:label="@string/app_name">  
  7.         <activity android:name=".Main"  
  8.                   android:configChanges="orientation|keyboardHidden"   
  9.             <intent-filter>  
  10.                 <action android:name="android.intent.action.MAIN" />  
  11.                 <category android:name="android.intent.category.LAUNCHER" />  
  12.             </intent-filter>  
  13.         </activity>  
  14.     </application>  
  15.     <uses-sdk android:minSdkVersion="3" />  
  16.     <uses-permission android:name="android.permission.INTERNET"/>  
  17. </manifest>   
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"      package="org.loon.test"      android:versionCode="1"      android:versionName="1.0">    <application android:icon="@drawable/icon" android:label="@string/app_name">        <activity android:name=".Main"                  android:configChanges="orientation|keyboardHidden"             <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application>    <uses-sdk android:minSdkVersion="3" />    <uses-permission android:name="android.permission.INTERNET"/></manifest>


关于LGame-Android版的初始化配置:

 

  1. package org.loon.test;  
  2. import org.loon.framework.android.game.LAD;  
  3. import org.loon.framework.android.game.LGameAndroid2DActivity;  
  4. import org.loon.framework.android.game.core.LSystem;  
  5. import android.os.Bundle;  
  6. public class Main extends LGameAndroid2DActivity {  
  7.     public void onCreate(Bundle icicle) {  
  8.         // 有Admob广告,纵屏显示,广告居于屏幕下方,广告ID为“XXXXXXXX”,广告刷新速度为60秒  
  9.         this.initialization(icicle,false,LAD.BOTTOM, "XXXXXXXX",60);  
  10.         // 无Admob广告,纵屏显示  
  11.         // this.initialization(icicle,false);  
  12.         // 使用游戏窗体Game  
  13.         this.setScreen(new Game());  
  14.         // 设定FPS为60  
  15.         this.setFPS(60);  
  16.         // 不显示游戏Logo(设定Logo为setLogo)  
  17.         this.setShowLogo(false);  
  18.         // 显示FPS  
  19.         this.setShowFPS(true);  
  20.         // 显示游戏画面  
  21.         this.showScreen();  
  22.     }  
  23. }                                           
package org.loon.test;import org.loon.framework.android.game.LAD;import org.loon.framework.android.game.LGameAndroid2DActivity;import org.loon.framework.android.game.core.LSystem;import android.os.Bundle;public class Main extends LGameAndroid2DActivity { public void onCreate(Bundle icicle) {  // 有Admob广告,纵屏显示,广告居于屏幕下方,广告ID为“XXXXXXXX”,广告刷新速度为60秒  this.initialization(icicle,false,LAD.BOTTOM, "XXXXXXXX",60);        // 无Admob广告,纵屏显示  // this.initialization(icicle,false);  // 使用游戏窗体Game  this.setScreen(new Game());  // 设定FPS为60  this.setFPS(60);  // 不显示游戏Logo(设定Logo为setLogo)  this.setShowLogo(false);  // 显示FPS  this.setShowFPS(true);  // 显示游戏画面  this.showScreen(); }}                                        

 

关于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游戏移植效果(由于测试示例大部分为反向获得,小弟没有版权,所以无法发布程序,万望海涵(-_-)……):

 

00

 

00

 

 

00

 

04

 

05

 

以下为较早前发布过的一些程序示例画面(请下载较早前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日晚终于下雨了,所以小弟也暂时摆脱了“夏眠”状态……

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值