1LGame-Android-0.2.9版中文使用文档项目地址:开源协议:ApacheLicense2.02文档历史记录2010-09-15LGame-0.2.8使用文档(第一版)发布。2010-12-11LGame-0.2.9使用文档发布。3LGame-Android版为LGame-J2SE(PC版)的手机(Android)精简版本,除辅助功能较LGame-J2SE版为少外,主要类及函数与LGame-J2SE版完全相同。LGame-Android可以运行在Android1.5(最低要求)及以上版本,大多数Android平台衍生系统也可以支持LGame-Android正常运转。截止到LGame-Android-0.2.9版,LGame-Android游戏引擎共包含类240个,代码60000余行,主要功能从底层图形接口到游戏控制、物理引擎、重力感应、资源存储、资源加密、地图绘制、精灵绘制、组件绘制、脚本操作、AVG模式支持、触摸屏模拟按键支持(详见EmulatorButton部分)、音频操作、以及字符、数字、密码等辅助操作功能也尽皆涵盖。LGame在设计上极大简化了原本繁琐的Android游戏开发流程,应该说,只要您正使用LGame-Android引擎进行游戏构建,便能够在不使用任何第三方组件的前提下,完成任意您想要实现的Android2D游戏(而且,还可以非常轻松地将它移植到PC环境,发布个试玩版之类)。LGame-Android-0.2.9版包结构如下所示(此为0.2.8旧图,上一版的http封装部分在0.2.9中被暂时删除,会在不久后和其它辅助功能单独发布,其它完全一致):此文档将顺序逐一讲解LGame相关类及函数的作用与功效。PS:以下说明中子类暂不包含父类函数以及构造方式,具体请参考涉及的父类函数以及相关源码中的构造方法。1、org.loon.framework.android.game4此包下共有类7个,分别为Android2DHandler,Android2DSurface,IAndroid2DHandler,IHandler,Location,LGameAndroid2DActivity,LGameAndroid2DView,其中最关键的两个类在于LGameAndroid2DActivity以及LGameAndroid2DView,它们将承载起LGame引擎启动及画面展示的主要功效。(1)LGameAndroid2DActivityLGameAndroid2DActivity继承自Activity,作为子类拥有Activity的一切功能,它的作用在于初始化LGame以及提供基本的引擎初始参数设置和将标准Android视图、按键转换到LGame框架当中。该类提供有函数如下所示:函数名函数说明onMain()这是一个抽象的初始化函数,使用者必须在LGameAndroid2Dactivity子类中实现onMain才能完成LGame引擎的初始化。该函数多用来进行横竖屏设定,调节界面尺寸,设定Admob广告信息,创建游戏窗体实例等综合操作。maxScreen(intw,inth)此函数用来设定游戏窗体大小,当手机画面小于或等于此设定时,此设定将被完全执行,否则将以画面允许的最大比值执行。它的出现位置必须保持在所有其它设定出现之前,否则此设定将不被执行。在不设置此项时,LGame默认的游戏窗体大小为480x320(横),320x480(纵)。Initialization(……)Initialization是LGame的游戏窗体及Admob广告初始用函数,当Initialization为True时,游戏将以横屏显示,否则以纵屏显示,它的出现位置应该保持在maxScreen设定之后,其它设定出现之前。此外,在Initialization中也可以顺序设置Admob广告是否显示,广告的出现位置,广告的标识ID,广告的关键字,以及广告的刷新频率。setScreen(IScreenscreen)设定一个LGame的游戏窗体,以供游戏运行。只有继承自Screen或者实现IScreen的相关类,才能被此函数执行。setFPS(longframes)设定游戏画面刷新速度,该设定只对默认的标准Screen类有效。setShowFPS(booleanflag)设定是否显示画面刷新速度,该设定只对默认的标准Screen类有效。setLogo(LImageimg)设定游戏初始logo图片,此图片只有在设定显示Logo时才会被执行。setShowLogo(booleanshowLogo)设定游戏初始logo是否被显示。setDebug(booleandebug)设定debug模式,此模式仅供无调试环境的真机使用,当此参数为真时,程序异常时会弹出异常提示。openAssetResource(StringfileName)获得指定名称的assets文件夹下资源。5getOrientation()获得当前屏幕方向。isLandscape()获得游戏是否进入横屏。isKeyboardOpen()获得游戏中是否显示了小键盘。showAndroidProgress(Stringtitle,Stringmessage)弹出一个指定内容的进度条。showAndroidAlert(Stringtitle,Stringmessage)弹出一个指定内容的提示框。showAndroidSelect(Stringtitle,Stringtext[])弹出一个指定内容的选择框。showAndroidException(Exceptionex)弹出一个指定内容的异常信息。getAndroidSelect()返回打开的选择框选中项。openBrowser(Stringurl)打开浏览器并访问指定页面。showAD()显示Admob广告。hideAD()隐藏Admob广告。getActivity()返回当前游戏的Activity实例。getVersionCode()获得当前游戏版本号。getVersionName()获得当前游戏版本名。getPackageInfo()获得当前游戏环境信息集合。getScreenDimension()获得当前手机窗体实际大小。getFrameLayout()获得当前游戏的FrameLayout布局,您可以在此基础上任意添加其它Android原生组件,而不会对游戏产生任何干扰。showScreen()显示游戏画面,在运行此项前游戏将无法显示。(2)LGameAndroid2DViewLGameAndroid2DView是SurfaceView的子类,它的作用在于和LGameAndroid2Dactivity相互配合,最终完成LGame引擎游戏窗体的绘制与显示。该类提供有函数如下所示:函数名函数说明setScreen(IScreenscreen)设定一个LGame的游戏窗体,以供游戏运行。只有继承自Screen或者实现IScreen的相关类,才能被此函数执行。setEmulatorListener(EmulatorListeneremulator)设定LGame模拟按键所使用的监听器,当此项不为NULL时,模拟按键将被显示于游戏画面之上。另外,如果Screen实现了EmulatorListener,此函数会被自动调用。getEmulatorListener()返回当前的模拟按键监听器。getEmulatorButtons()返回当前的模拟按键集合。getAndroid2DBitmap()返回当前的游戏画面(Bitmap)。getAndroid2DImage()返回当前的游戏画面(LImage)destroyView()注销游戏窗体,并强制令LGame视图系统停止运作。6update()强制刷新游戏画布。update(……)强制刷新图形到游戏默认位置(0,0),图形可以是LImage或Bitmap格式。update(……,intw,inth)强制刷新指定图形到游戏中,并按照提供的w,h参数按比例居中显示,图形可以是LImage或Bitmap格式。updateLocation(……,intx,inty)强制刷新指定图形到游戏指定位置,图形可以是LImage或Bitmap格式。updateFull(……,intw,inth)强制刷新指定图形到游戏中,并将其扩大为w,h参数所指定的大小,然后按比例居中显示。图形可以是LImage或Bitmap格式。updateResize(……,intw,inth)强制刷新指定图形到游戏中,并按照w,h扩大或缩小为指定大小,然后按比例居中显示。图形可以是LImage或Bitmap格式。setShowLogo(booleanshowLogo)设定是否显示logosetLogo(LImageimg)设定游戏logo图形setDebug(booleandebug)设定是否开启debug模式setFPS(longframes)设定游戏的FPS(仅对标准Screen有效)setShowFPS(booleanisFPS)设定是否显示游戏FPS(仅对标准Screen有效)setRunning(booleanrunning)设定是否允许LGameAndroid2DView中游戏主线程继续运行。setDrawPriority(intdrawPriority)设定LGameAndroid2DView中游戏主线程运行模式。getGameHandler()返回当前游戏句柄。(内含LGameAndroid2Dactivity,LGameAndroid2DView,还有一些其它重要配置结果)2、org.loon.framework.android.game.action.avg此包下共有类5个,分别为AVGScreen.、AVGScript、CG、Chara、MessageDialog,其中最要的是LGame四大Screen之一的AVGScreen。(1)AVGScreenAVGScreen是LGame引擎的四种Screen之一,与其它Screen的主要差异在于,它直接继承自CanvasScreen(CanvasScreen继承自标准Screen),且必须要注入脚本才能运作,该类默认为自动刷新画面(但允许调用父类提供的repaint函数)。函数名函数说明nextScript()强制命令脚本向下解析一行,如果无条件调用此参数,则会出现自动播放效果。nextScript(Stringmessage)此为抽象函数,需要继承AVGScreen的子类进行实现,每次AVGScreen进行脚本解析时,该行脚本数据会自动向此函数发送此行脚本内容并触发此函数运行。onSelect(Stringmessage,inttype)此为抽象函数,需要继承AVGScreen的子类进行实现,当AVGScreen中出现选择框,并且用户进行选择时。有关于选择框的信息及选中项会自动传送到此函数中。7initMessageConfig(LMessagemessage)此为抽象函数,并且仅在AVGScreen初始化时有效,此函数用以修正游戏消息框的设置为指定参数,否则将以默认参数运行AVG模式。initSelectConfig(LSelectselect)此为抽象函数,并且仅在AVGScreen初始化时有效,此函数用以修正游戏选择框的设置为指定参数,否则将以默认参数运行AVG模式。initCommandConfig(Commandcommand)此为抽象函数,并且仅在AVGScreen初始化时有效,此函数用以修正游戏脚本的设置为指定参数,否则将以默认参数运行AVG模式。initCommandConfig(StringfileName)初始化指定的游戏脚本到AVGScreen中,如果在AVGScreen中想要更换脚本,可以使用此函数调用。drawScreen(LGraphicsg)此为抽象函数,当实现此函数后,可