较早前LGame示例下载地址:http://loon-simple.googlecode.com/files/LGame-Simple-0.2.5.7z
最新版LGame(0.2.6)下载地址:http://loon-simple.googlecode.com/files/LGame-0.2.6.rar
1、如何启动LGame
目前的LGame提供有J2SE以及Android两个开发版本,两版的主要类及函数虽然相同,但由于Android版对应于手机环境,而J2SE版对应于PC环境,所以依旧有少许的差别。
J2SE版:
在J2SE环境下,只需要在Main函数中构造如下内容即可。
Android版:
而在Android版中,我们则需要分两步走,一是需要配置相关的AndroidManifest.xml
文档。
如下所示:
而调用的方法如下:
这时LGame框架就会根据我们所实现的不同Screen,来展示我们的游戏了(很简单吧)。
2、如何构建Screen类
Screen是一个抽象类,也是LGame框架所提供的游戏界面展示器,其中封装了基本的图形接口与相关的操作设备交互函数,在LGame框架中,可以直接作为游戏界面进行展示的Screen共有三种。
一、Screen
即最基本的Screen,包含了最基本的Screen函数,默认自动刷新游戏画面(根据FPS所设定的速度),不提供repaint以及getLGraphics方法,是提供LGame框架调用的最基本Screen形态。
J2SE版使用方式如下:
另外,在
Screen
中还有一个重要的
alter
函数,我们可以通过重载
alter
函数实现最简单的定时操作,譬如
:
//
设定计时器,每隔
1
秒允许执行一次
LTimer
timer
=
new
LTimer(LSystem.
SECOND
);
//
重载
alter
函数
public
void
alter(LTimerContext context){
if
(
timer
.action(context.getTimeSinceLastUpdate())){
}
}
Android版使用方式如下:
Android
版
Screen API
与使用方法基本等价于
J2SE
版,但由于手机与
PC
间功能有所差别,所以具体的
API
名及函数有所不同。
关于
alter
函数部分完全一致。
二、ThreadScreen
J2SE版:
ThreadScreen
是一个实现了
Runnable
接口的
Screen
,它采用
double buffer
方式将绘图与业务线程分离,
gameLoop
函数中即是一个独立的线程。
与标准
Screen
的其它区别在于,
ThreadScreen
可以通过
getLGraphics
或
getDraw
(
Draw
类为
LGraphics
的简化封装)函数直接获得对
LGraphics
的操作权,并非一定要通过
drawScreen
函数绘图。
Android版:
J2SE
与
Android
版的差别仅仅在于鼠标、键盘等设备函数上,其它细节相同。
三、CanvasScreen
CanvasScreen
是
0.2.6
版中最新提供的
Screen
实现,模拟
J2ME
中
Canvas
而成(也混合了
GameCanvas
的
API
),相关函数在
J2SE
及
Android
版中完全一致。
与标准
Screen
的其它区别在于,
CanvasScreen
可以通过
getLGraphics
函数直接获得对
LGraphics
的操作权,并非一定要通过
paint
函数绘图。另外,由于
CanvasScreen
的
Paint
函数并不直接关联父类的
draw
函数,所以
LGame
中提供的精灵或组件无法直接通过
add
函数加载显示,而是只能在
paint
中手动调用相应组件的绘图器进行绘制(关于这点,用惯
J2ME
的朋友应该没什么不习惯的。另外
LGame
提供有配套的
j2me
精灵类包可供使用,为
1
:
1
仿
J2ME
原有
API
实现)。
以下是一个CanvasScreen的使用示例:
//初始化时的精灵动画
//移动时的精灵动画
//背景图片
请注意,为了演示图像扩大机制,示例所用的精灵以及游戏背景图像都非常之小,而实际开发中并非一定要使用图像扩充,更不是只能使用此比例的图像。
下面我制作一个
Sword.java
,这是一个自定义的精灵类,用以显示上图所示的“骷髅剑士”。(在不重新实现
ISprite
的基础上,我们也可以直接使用现成的
Sprite
类来完成此例。但是,关于动作细节部分就只能在精类外部设定或者重载
Sprite
的
update
函数来实现(和实现
ISprite
没什么区别了
|||
))。
设定一个
CanvasScreenExample.java
,用以继承
CanvasScreen
。
此时,我们只需要根据需要实例化相关的Screen(也就是setScreen),就会得到如下效果:
实际运行效果如下(
Android
版效果与此相同,
PC
版中窗体实际大小被设定为
480x320
)
PS:
在
CanvasScreen
中也允许完全照搬
J2ME
中
Canvas(GameCanvas)
与相关精灵(内置有
API 1:1
的精灵类相关实现)的构建方式,可以将任何
J2ME
游戏代码平移其中。简单的讲,您在只掌握
J2ME
技术的情况下也可以使用
LGame
,而无需单独学习任何
LGame
框架本身的构建方式。
较早前LGame示例(仅PC版)下载地址:http://loon-simple.googlecode.com/files/LGame-Simple-0.2.5.7z
最新版LGame(0.2.6)下载地址:http://loon-simple.googlecode.com/files/LGame-0.2.6.rar
分享到:
相关推荐
LGame游戏引擎canvas版本源码
TD2.3(android塔防游戏,运用了国内的开源游戏引擎LGame).rar
同时也是是一个高通用性的游戏框架,作为支持Java桌面游戏以及网页游戏开发的全功能引擎,LGame无论对画面绘制、精灵碰撞、特效渲染、窗体组件,还是XML操作,文本数据库操作,HTTP操作,日志操作等都提供有完善的...
基于LGame游戏引擎的android版飞机游戏,应该是目前为止最详细的LGame应用demo,android版本为2.3.3。由于图片资源等原因,模拟器运行可能会报ANR,真机运行没有问题。
LGame游戏引擎0.32以及LGame开发文档及源码
2014年10月份作者刚更新,标准LGame使用GLEx类作为引擎的最基本渲染器,允许使用JavaSE、JavaME的常用绘图API,以及OpenGL、OpenGLES的常用绘图API,而LSE与LAE包仅模拟有JavaSE、JavaME的Graphics类常用接口。...
LGame-0.3.7z 国内著名Android游戏引擎最新版,大明顶顶的游戏引擎。!!!
内含LGame-Android-Physics-0.2.9.jar,LGame-Android-Core-0.2.9.jar,还有一些运用的实例
截止到 LGame-Android-0.2.9 版,LGame-Android 游戏引擎共包含类 240 个,代码 60000 余行,主要功能从底层图形接口到游戏控制、物理引擎、重力感应、资源存储、资源加密、 地图绘制、精灵绘制、组件绘制、脚本操作...
Lgame最新引擎,需要的同学块下吧,免费的哦
Android游戏源码 基于LGame引擎 横屏跳跃类游戏 JumperGLES
很多人都抱怨android没有好的引擎,但是LGame是一款不错的引擎,这是份中文文档,值得收藏
很不错的一个游戏引擎框架,希望大家能从里面学到自己想要的
制作JAVA 游戏 利器 当前版本 0.3.2
Android and J2SE Game Engine
Android游戏源码 基于LGame引擎 横屏2D闯关类游戏
游戏开发教程,不包含源码。 魔术师的梦 lgame示例 女流 android游戏 游戏开发
Android游戏开发框架LGame-Android
LGame-Android-0.2.8(chinese),游戏开发者可以一看哟
jar),所以无论是XML或Json解析,TMX地图构建,物理引擎,游戏脚本,抑或二维码构建,都有自己的完整实现(当然,肯定也允许使用第三方的),并且能自然和游 戏组件绑定。所以学习难度低(很多事情后台都自动做了),...