您的位置:首页 > 移动开发 > Android开发

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

2010-07-31 20:10 615 查看
本次更新发布日期: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配置如下所示:

<?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版的初始化配置:

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











以下为较早前发布过的一些程序示例画面(请下载较早前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日晚终于下雨了,所以小弟也暂时摆脱了“夏眠”状态……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: