




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、文檔歷史 2010-09-15 LGame-0.2.8 使用文檔(第一版)發(fā)布。2LGame-Android 版為 LGame-J2SE(PC 版)的(Android)精簡(jiǎn)版本,但除輔助功能較 LGame-J2SE 版為少外,主要類及函數(shù)與 LGame-J2SE 版完全相同。截止到 LGame-Android-0.2.8 版,LGame-Android引擎共完成類 192 個(gè),代碼約 50000加密、地圖繪制、精靈繪制、余行,主要功能從底層圖形接口到、組件繪制、字符、數(shù)字、AVG 模式支持、觸摸屏模擬按鍵支持、音頻操作、網(wǎng)絡(luò)等輔助操作功能也盡皆涵蓋。以及可以說,只要您使用 LGame-Andr
2、oid 引擎進(jìn)行構(gòu)建,就能夠在不需任何第組件的前提下,完成任何您想要的 Android2D環(huán)境,發(fā)布個(gè)試玩版之類)。開發(fā)(而且,還可以非常輕松地將它移植到 PCLGame-Android-0.2.8 版包結(jié)構(gòu)如下所示:此文檔將順序逐一講解 LGame 相關(guān)類及函數(shù)的作用與功效。PS:以下說明中子類暫不包含父類函數(shù)以及構(gòu)造方式,具體請(qǐng)參考涉及的父類函數(shù)以及相關(guān)源碼中的構(gòu)造方法。1、 org.loon.framework.android.game此包下共有類 8 個(gè),分別為 Android2DHandler,Android2DSurface,IAndroid2DHandler, IHandler,
3、LAD,LGameAndroid2DActivity,LGameAndroid2DView,ViewAnimator,其中最關(guān)鍵的兩個(gè)類在于LGameAndroid2DActivity 以及LGameAndroid2DView,它們將承載起LGame引擎啟動(dòng)及畫面展示的主要功效。3(1) LGameAndroid2DActivityLGameAndroid2DActivity 繼承自 Activity,作為子類擁有 Activity 的一切功能,它的作用在于初始化 LGame 以及提供基本的引擎初始參數(shù)設(shè)置和將標(biāo)準(zhǔn) Android 視圖、按鍵轉(zhuǎn)換到LGame 框架當(dāng)中。該類提供有函數(shù)如下所示:
4、4函數(shù)名函數(shù)說明onMain()這是一個(gè)抽象的初始化函數(shù),使用者必須在LGameAndroid2Dactivity 子類中實(shí)現(xiàn) onMain 才能完成LGame 引擎的初始化。該函數(shù)多用來進(jìn)行橫豎屏設(shè)定,調(diào)節(jié)界面,設(shè)定 Admob信息,創(chuàng)建窗體實(shí)例等綜合操作。maxScreen(int w,int h)此函數(shù)用來設(shè)定 窗體大小,當(dāng) 畫面小于或等于此設(shè)定時(shí),此設(shè)定將被完全執(zhí)行,否則將以畫面 的最大比值執(zhí)行。它的出現(xiàn)位置必須保持在所有其它設(shè)定出現(xiàn)之前,否則此設(shè)定將不被執(zhí)行。在不設(shè)置此項(xiàng)時(shí),LGame 默認(rèn)的 窗體大小為 480x320(橫),320x480(縱)。Initialization()I
5、nitialization 是 LGame 的窗體及 Admob初始用函數(shù),當(dāng) Initialization 為 True 時(shí),將以橫屏顯示,否則以縱屏顯示,它的出現(xiàn)位置應(yīng)該保持在 maxScreen 設(shè)定之后,其它設(shè)定出現(xiàn)之前。此外,在 Initialization 中也可以順序設(shè)置 Admob是否顯示,的出現(xiàn)位置,的標(biāo)識(shí) ID,的關(guān)鍵字,以及的刷新頻率。setScreen(IScreen screen)設(shè)定一個(gè) LGame 的窗體,以供運(yùn)行。只有繼承自Screen 或者實(shí)現(xiàn) IScreen 的相關(guān)類,才能被此函數(shù)執(zhí)行。setFPS(long frames)設(shè)定畫面刷新速度,該設(shè)定只對(duì)默認(rèn)的
6、標(biāo)準(zhǔn) Screen 類有效。setShowFPS(boolean flag)設(shè)定是否顯示畫面刷新速度,該設(shè)定只對(duì)默認(rèn)的標(biāo)準(zhǔn)Screen 類有效。setLogo(LImage img)設(shè)定初始 logo 圖片,此圖片只有在設(shè)定顯示 Logo 時(shí)才會(huì)被執(zhí)行。setShowLogo(boolean showLogo)設(shè)定初始 logo 是否被顯示。setDebug(boolean debug)設(shè)定 debug 模式,此模式無調(diào)試環(huán)境的真機(jī)使用,當(dāng)此參數(shù)為真時(shí),程序異常時(shí)會(huì)彈出異常提示。openAssetResource(String fileName)獲得指定名稱的 assets 文件夾下。getO
7、rientation()獲得當(dāng)前屏幕方向。isLandscape()獲得是否進(jìn)入橫屏。isKeyboardOpen()獲得中是否顯示了小鍵盤。showAndroidProgress(String title,String message)彈出一個(gè)指定內(nèi)容的進(jìn)度條。(2) LGameAndroid2DViewLGameAndroid2DView 是 SurfaceView 的子類,它的作用在于和 LGameAndroid2Dactivity相互配合,最終完成 LGame 引擎窗體的繪制與顯示。該類提供有函數(shù)如下所示:5函數(shù)名函數(shù)說明setScreen(IScreen screen)設(shè)定一個(gè) LG
8、ame 的窗體,以供運(yùn)行。只有繼承自 Screen或者實(shí)現(xiàn) IScreen 的相關(guān)類,才能被此函數(shù)執(zhí)行。setEmulatorListener(EmulatorLi stener emulator)設(shè)定 LGame 模擬按鍵所使用的器,當(dāng)此項(xiàng)不為NULL 時(shí), 模擬按鍵將被顯示于畫面之上。另外,如果 Screen 實(shí)現(xiàn)了EmulatorListener,此函數(shù)會(huì)被自動(dòng)調(diào)用。getEmulatorListener()返回當(dāng)前的模擬按鍵器。getEmulatorButtons()返回當(dāng)前的模擬按鍵集合。getAndroid2DBitmap()返回當(dāng)前的畫面(Bitmap)。getAndroid2D
9、Image()返回當(dāng)前的畫面(LImage)destroyView()注銷窗體,并強(qiáng)制令 LGame 視圖系統(tǒng)停止。update()強(qiáng)制刷新畫布。update()強(qiáng)制刷新圖形到默認(rèn)位置(0,0),圖形可以是 LImage 或Bitmap 格式。update(,int w,int h)強(qiáng)制刷新指定圖形到中,并按照提供的 w,h 參數(shù)按比例居中顯示,圖形可以是 LImage 或 Bitmap 格式。showAndroidAlert(String title,String message)彈出一個(gè)指定內(nèi)容的提示框。showAndroidSelect(String title, String text
10、)彈出一個(gè)指定內(nèi)容的選擇框。showAndroidException(Excepti on ex)彈出一個(gè)指定內(nèi)容的異常信息。getAndroidSelect()返回打開的選擇框選中項(xiàng)。openBrowser(String url)打開瀏覽器并指定頁面。showAD()顯示 Admob。hideAD()隱藏 Admob。getActivity()返回當(dāng)前的 Activity 實(shí)例。getVersionCode()獲得當(dāng)前版本號(hào)。getVersionName()獲得當(dāng)前版本名。getPackageInfo()獲得當(dāng)前環(huán)境信息集合。getScreenDimension()獲得當(dāng)前窗體實(shí)際大小。ge
11、tFrameLayout()獲得當(dāng)前 的 FrameLayout 布局,您可以在此基礎(chǔ)上任意添加其它 Android 原生組件,而 對(duì) 產(chǎn)生任何干擾。showScreen()顯示畫面,在運(yùn)行此項(xiàng)前將無法顯示。2、 org.loon.framework.android.game.action.avg此包下共有類 5 個(gè),分別為 AVGScreen.、AVGScript、CG、Chara、MessageDialog,其中最要的是 LGame 四大 Screen 之一的 AVGScreen。(1) AVGScreenAVGScreen 是 LGame 引擎的四種 Screen 之一,與其它 Scre
12、en 的主要差異在于,它直接繼承自 CanvasScreen(CanvasScreen 繼承自標(biāo)準(zhǔn) Screen),且必須要注入才能,該類默認(rèn)為自動(dòng)刷新畫面(但調(diào)用父類提供的 repaint 函數(shù))。6函數(shù)名函數(shù)說明nextScript()強(qiáng)制命令向下一行,如果無條件調(diào)用此參數(shù),則會(huì)出現(xiàn)自動(dòng)效果。nextScript(String message)此為抽象函數(shù),需要繼承 AVGScreen 的子類進(jìn)行實(shí)現(xiàn),每次 AVGScreen 進(jìn)行 時(shí),該行 數(shù)據(jù)會(huì)自 此函數(shù) 此行 內(nèi)容并觸發(fā)此函數(shù)運(yùn)行。onSelect(String message, int type)此為抽象函數(shù),需要繼承 AVGSc
13、reen 的子類進(jìn)行實(shí)現(xiàn),當(dāng)AVGScreen 中出現(xiàn)選擇框,并且用戶進(jìn)行選擇時(shí)。有關(guān)于選擇框的信息及選中項(xiàng)會(huì)自動(dòng)傳送到此函數(shù)中。initMessageConfig(LMessage message)此為抽象函數(shù),并且僅在 AVGScreen 初始化時(shí)有效,此函數(shù)用以修正 消息框的設(shè)置為指定參數(shù),否則將以默認(rèn)參數(shù)運(yùn)行 AVG 模式。initSelectConfig(LSelect select)此為抽象函數(shù),并且僅在 AVGScreen 初始化時(shí)有效,此函數(shù)用以修正選擇框的設(shè)置為指定參數(shù),否則將以默認(rèn)updateLocation(,int x, int y)強(qiáng)制刷新指定圖形到指置,圖形可以是
14、LImage 或Bitmap 格式。updateFull(,int w,int h)強(qiáng)制刷新指定圖形到 中,并將其擴(kuò)大為 w,h 參數(shù)所指定的大小,然后按比例居中顯示。圖形可以是 LImage 或 Bitmap 格式。updateResize(,int w,int h)強(qiáng)制刷新指定圖形到中,并按照 w,h 擴(kuò)大或縮小為指定大小,然后按比例居中顯示。圖形可以是 LImage 或 Bitmap 格式。setShowLogo(boolean showLogo)設(shè)定是否顯示 logosetLogo(LImage img)設(shè)定logo 圖形setDebug(boolean debug)設(shè)定是否開啟 de
15、bug 模式setFPS (long frames)設(shè)定的 FPS(僅對(duì)標(biāo)準(zhǔn) Screen 有效)setShowFPS(boolean isFPS)設(shè)定是否顯示FPS(僅對(duì)標(biāo)準(zhǔn) Screen 有效)setRunning(boolean running)設(shè)定是否LGameAndroid2DView 中主線程繼續(xù)運(yùn)行。setDrawPriority(int drawPriority)設(shè)定 LGameAndroid2DView 中主線程運(yùn)行模式。getGameHandler()返回當(dāng)前句柄。(內(nèi)含 LGameAndroid2Dactivity, LGameAndroid2DView,還有一些其它重要
16、配置結(jié)果)7參數(shù)運(yùn)行 AVG 模式。mandConfig(Command command)此為抽象函數(shù),并且僅在 AVGScreen 初始化時(shí)有效,此函數(shù)用以修正 的設(shè)置為指定參數(shù),否則將以默認(rèn)參數(shù)運(yùn)行 AVG 模式。mandConfig(String fileName)初始化指定的到 AVGScreen 中,如果在AVGScreen 中想要更換,可以使用此函數(shù)調(diào)用。drawScreen(LGraphics g)此為抽象函數(shù),當(dāng)實(shí)現(xiàn)此函數(shù)后,可以對(duì) AVG 模式下畫面進(jìn)行底層繪制。select(int type)強(qiáng)制 AVG選擇指定的選擇項(xiàng)。getSelect()獲得當(dāng)前 AVG所在選擇項(xiàng)內(nèi)容
17、。add()為 AVGScreen 添加一個(gè)組件或者精靈。click ()觸發(fā) AVG 模式下點(diǎn)擊。setLocked(boolean locked)鎖定觸發(fā),當(dāng)此方法參數(shù)為 True 時(shí),默認(rèn)的 click 方法無效。可以通過鎖定點(diǎn)擊,來制作特殊的AVGScreen 窗體(比如商店界面,自定義一些商品組件插入,而后鎖定,當(dāng)指定物體后才觸發(fā)新的)isLocked()判定當(dāng)前 AVGScreen觸發(fā)是否遭到了鎖定。isScrFlag()當(dāng)前命令行是否被打上了標(biāo)準(zhǔn)標(biāo)記。(有此標(biāo)記行的下一行需要點(diǎn)擊屏幕才能進(jìn)入)getSelectMessage()獲得當(dāng)前選擇框的標(biāo)題信息。mandGo()獲得當(dāng)前是
18、否正在運(yùn)行。getMessage()獲得當(dāng)前 AVG 模式下 LMessage 組件的實(shí)例。getLSelect()獲得當(dāng)前 AVG 模式下 LSelect 組件的實(shí)例。mand()獲得當(dāng)前 AVG 模式下 Command器的實(shí)例。getScriptName()獲得當(dāng)前 AVG 模式下名稱。getScrCG()獲得當(dāng)前 AVG 模式下CG器。getDesktop()獲得當(dāng)前 AVG 模式下組件器。getSprites()獲得當(dāng)前 AVG 模式下精靈器。pointerPressed(double x, double y)點(diǎn)擊觸摸屏。pointerMove(double x, double y)移
19、動(dòng)觸摸屏。pointerReleased(double x, double y)觸摸屏。keyPressed(int keyCode)鍵盤按下。keyReleased(int keyCode)鍵盤放開。setRunning(boolean running)設(shè)定當(dāng)前線程是否繼續(xù)運(yùn)行。setDelay(int delay)設(shè)定當(dāng)前線程刷新速度。getDialogImage()返回當(dāng)前消息框圖像。getSleep()返回當(dāng)前畫面暫停時(shí)間。onExit()當(dāng)中調(diào)用“exit”命令時(shí),此函數(shù)會(huì)被同時(shí)觸發(fā),多用于在此時(shí)執(zhí)行 setScreen 等命令切換窗體或結(jié)束。以下為 AVGScreen 類默認(rèn)支持的
20、即可被 AVGScreen 解釋并執(zhí)行。命令,將以下命令寫入任意文本文件并導(dǎo)入 AVGScreen,PS:LGame 中命令不區(qū)分大小寫。8命令命令說明Include作用:在當(dāng)前中載入另外一個(gè)的內(nèi)容,當(dāng)導(dǎo)入結(jié)束時(shí)將繼續(xù)當(dāng)前。寫法:Include res/myscript.txtIfelseendif作用:分支流程。寫法:if a>bXelse if a=bXelseXendifbeginend作用:此命令用以構(gòu)造一組,但不立即執(zhí)行,僅在調(diào)用 call命令時(shí)才能觸發(fā)此命令內(nèi)部的。寫法:Begin showMessage Mescolor redMes 孔曰成仁,孟曰取義。XXEndCall
21、作用:此命令用以調(diào)用指定令段,需要和beginend 命令配合使用。寫法:Call showMessage此時(shí) showMessage 命令段將被執(zhí)行。Inout作用:這是一組從輸入到輸出令,在兩組命令之間的字符串?dāng)?shù)據(jù)將被以選擇框形式展現(xiàn)給用戶。寫法:InA.景德鎮(zhèn)瓷器B.景德鎮(zhèn)戲劇C.景德鎮(zhèn)餐具9Outselect作用:為選擇框加上標(biāo)題,如果 select 命令為空,則 inout 命令輸出的選擇框?qū)⒅挥羞x項(xiàng),而沒有標(biāo)題。寫法:Select 景德鎮(zhèn)盛產(chǎn)什么?InA.景德鎮(zhèn)瓷器B.景德鎮(zhèn)戲劇C.景德鎮(zhèn)餐具Outselleft作用:設(shè)定選擇框文字在顯示時(shí)距離選擇框左側(cè)的偏移距離,用以調(diào)節(jié)文字位置
22、。寫法:seleft 10seltop作用:設(shè)定選擇框文字在顯示時(shí)距離選擇框頂端的偏移距離,用以調(diào)節(jié)文字位置。寫法:Seltop 10mes作用:顯示一組,用以令向用戶傳遞信息。寫法:1、單純顯示Mes 吃了嗎?沒吃?!沒吃回家吃去吧。2、強(qiáng)制換行Mes 吃了嗎?n 沒吃?!n 沒吃回家吃去吧。3、轉(zhuǎn)換指定范圍內(nèi)文字顏色Mes <r 吃了嗎/>?n 沒吃?!n 沒吃回家吃去吧。 (r為紅,w 為白,b 為黑,o 為橘黃)meslen作用:規(guī)定 mes 命令在顯示時(shí)每行最多的顯示字?jǐn)?shù),超過將自動(dòng)換行(不填時(shí)以系統(tǒng)的默認(rèn)行數(shù)執(zhí)行)。寫法:Meslen 20mescolor作用:規(guī)定 m
23、es 命令在顯示時(shí)文字的默認(rèn)顏色。寫法:Mescolor yellowmestop作用:規(guī)定 mes 命令在顯示時(shí)距離消息框上方的距離,用以調(diào)節(jié)文字位置。寫法:10Mestop 10mesleft作用:規(guī)定 mes 命令在顯示時(shí)距離消息框左邊框的距離,用以調(diào)節(jié)文字位置。寫法:Mesleft 10messtop作用:關(guān)閉當(dāng)前畫面上的消息框或選擇框。寫法:messtopgb作用:顯示指定的背景畫面。寫法:gb res/background.pngcg作用:顯示指定的畫面。寫法:1、 單純顯示cg res/role.png2、 顯示在指置cg res/role.png 50 50 3、 替換當(dāng)前 c
24、gcg res/role.png to res/role1.png 4、 刪除指定 cgcg del res/role.png (ps:只填寫 cg del 則刪除全部 cg)sleep作用:令畫面延遲指定時(shí)間,此段時(shí)間內(nèi)畫面將無響應(yīng)。寫法:Sleep 1000flash作用:令畫面以指定顏色閃爍。寫法:Flash 200,125,200cgwait作用:暫停當(dāng)前畫面,當(dāng)點(diǎn)擊時(shí)繼續(xù)運(yùn)行。寫法:CgwaitFadein作用:以指定顏色進(jìn)行屏幕淡入。寫法:Fadein blackFadeout作用:以指定顏色進(jìn)行屏幕淡出。寫法:11Fadeout blackshake作用;讓畫面產(chǎn)生模擬震蕩。寫法
25、:Shake 30play作用:指定音樂。寫法:Paly res/m1.wavplayloop作用:循環(huán)指定音樂。寫法:Play res/m1.wavplaystop作用:停止音樂的。寫法:Playstop 0 (0 為音樂索引號(hào),按照添加順序累加,直接playstop 將停止所有音樂的)p作用:畫面呈現(xiàn)櫻花飛舞效果。寫法:P(停止為 pstop)snow作用:畫面呈現(xiàn)銀裝素裹效果。寫法:Snow(停止為 snowstop)rain作用:畫面呈現(xiàn)落雨紛紛效果。寫法:Rain(停止為 rainstop)set作用:預(yù)定義變量。變量也可在 AVGScreen 中通過Command 類設(shè)置,也多用于
26、 AVGScreen 與交互,或者定義需要重復(fù)使用的數(shù)據(jù)信息。寫法:set var = “res/background.png”set var1 = 100print作用:將中的預(yù)定義變量?jī)?nèi)容于指置。寫法:1、set var = “res/background.png”mes print(var) 2、set var =7If var = 7默認(rèn)效果:12set inc=”res/my1.txt” elseset inc=”res/my2.txt” endifinclude print(inc) 1、 set var=10/2*36-7mes print(var)reset作用:清空中一切緩存
27、,此時(shí)所有預(yù)訂義變量都將不復(fù)存在。寫法:Reset/,#.作用:以上三者為行注釋符號(hào),自該符號(hào)起一整行數(shù)據(jù)將不被腳本。寫法:/X#X/*/作用:區(qū)域注釋符號(hào),自/*起,直到*/結(jié)束的所有數(shù)據(jù)將不被。寫法:/*XX*/exit作用:離開 AVGScreen 窗體。當(dāng)執(zhí)行此命令時(shí)將被強(qiáng)制終止,并執(zhí)行 onExit 函數(shù),多用于轉(zhuǎn)換 Screen。寫法:Exit2、 org.loon.framework.android.gmand此包下共有類 5 個(gè),分別為 Command.、CommandIterator、CommandType、Conversion、Expression 其中最主要者為 Comm
28、and,此類為 AVG 引擎的解釋器。(1)Command13函數(shù)名函數(shù)說明mand()靜態(tài)函數(shù),當(dāng)此函數(shù)執(zhí)行時(shí),會(huì)初始 Command 中的所有緩存數(shù)據(jù),此操作僅在緩存未實(shí)例化時(shí)有效。mand(StringfileName)格式化 Command 為指定內(nèi)容,此函數(shù)用以加載到Command 中。mand(String name, List resource)格式化 Command 為指定內(nèi)容,此函數(shù)用以加載指定List 命令集到 Command 中。doExecute()執(zhí)行當(dāng)前行命令,并返回執(zhí)行結(jié)果。commandSplit(String src)靜態(tài)函數(shù),用以拆分指定內(nèi)容中賦值語句,并返
29、回 List 格式。openCache()啟動(dòng)緩存。closeCache()關(guān)閉緩存。nowCacheOffsetName()獲得當(dāng)前緩存名稱。resetCache()靜態(tài)函數(shù),執(zhí)行后將清空所有緩存。setVariable(String key, Object value)指定變量到環(huán)境中。setVariables(Map vars)一組變量集合到環(huán)境中。removeVariable(String key)刪除指定名稱的變量。Next()此函數(shù)將返回一個(gè)布爾值,用以是否有下一行存在。gotoIndex(int index)強(qiáng)制跳轉(zhuǎn)向的指定索引行。batchToList()批處理執(zhí)行,并將結(jié)果集
30、以 List 形式返回。3、 org.loon.framework.android.game.action.map此包中有下屬類 6 個(gè), 分別為 AStarFinder 、Config、Field2D、TileList、TileMap、TileMapConfig,其中AStarFinder 為A*尋徑使用、Config 中配置有基本的八方行走參數(shù),F(xiàn)ield2D是 AStarFinder 使用的八方向?qū)叫凶叻较蚣?,TileList 以及 TileMap 中提供有簡(jiǎn)單的地圖瓷磚操作功能。由于此部分并非功能,暫無詳述,目前請(qǐng)以源碼為主。4、 org.loon.framework.android
31、.game.action.map.shapes此包中下屬有 4 種形狀操作類,分別為 Matrix2D、RectBox、Vector2D 以及 Vector3D,可以滿足一些常規(guī)的圖形碰撞檢測(cè)以及圖形定向需要,由于 graphics.geom 中照搬有 openJDK 的geom 包,所以目前沒有提供的形狀類,復(fù)雜操作可以使用 geom 包完成。由于此部分并非功能,暫無詳述,目前請(qǐng)以源碼為主。5、 org.loon.framework.android.game.action.sprite此包下屬類共 22 個(gè),分別為 AbstractBackground、Animation、Backgroun
32、d、Collidable、CollisionMask、ColorBackground、FlashLabel、GIFAnimation、IAnimation、ISprite、Label、Mask、Picture、Sprite、SpriteConfig、SpriteImage、SpriteMake、Sprites、SpriteTiled、StatusBar、ponent、WaitAnimation。其中類有四個(gè),分別為 ISprite、Srpite、SrpiteTiled、Sprites。(1) ISpriteISprite 是一個(gè)接口類,本身并不實(shí)現(xiàn)具體的業(yè)務(wù),然而它卻是所有精靈的基礎(chǔ),任何精靈
33、都必須實(shí)現(xiàn) ISprite 才能被 LGame 當(dāng)作精靈類使用并有效管理。14函數(shù)名使用方法getWidth()返回當(dāng)前精靈的寬度。getHeight()返回當(dāng)前精靈的高度。gpha()返回當(dāng)前精靈的。x()返回當(dāng)前精靈的 x 軸坐標(biāo)(int 形式)。y()返回當(dāng)前精靈的 y 軸坐標(biāo)(int 形式)。getX()返回當(dāng)前精靈的 x 軸坐標(biāo)(double 形式)。getY()返回當(dāng)前精靈的 y 軸坐標(biāo)(double 形式)。setVisible(boolean visible)設(shè)定當(dāng)前精靈是否可見。isVisible()獲得當(dāng)前精靈是否可見。createUI(LGraphics g)精靈底層繪制
34、接口,可在此覆蓋或修飾原有精靈畫面。update(long elapsedTime)精靈用計(jì)時(shí)器,每當(dāng)發(fā)生時(shí)間變化時(shí)此函數(shù)將被觸發(fā),也可以手動(dòng)觸發(fā)此函數(shù)精靈變動(dòng)。getLayer()獲得當(dāng)前精靈所在層,層變動(dòng)將直接影響精靈。batchToString()批處理執(zhí)行,并將結(jié)果集以 String 形式返回。getNameTags()這是一系列的分解方法,用以將文本信息轉(zhuǎn)化為可用的數(shù)據(jù),并返回 List 數(shù)據(jù)集。(2) SpriteSprite 是一個(gè) ISprite 的具體實(shí)現(xiàn),它內(nèi)置有一套較為完整的精靈解決方案,如果不需要更為復(fù)雜的精靈實(shí)現(xiàn)時(shí),直接使用此類即可滿足絕大多數(shù)的精靈需求。15函數(shù)名函
35、數(shù)說明setRunning(boolean runing)設(shè)定是否精靈動(dòng)畫,當(dāng)參數(shù)為 False 時(shí)動(dòng)畫將被暫停。isRunning()獲得當(dāng)前精靈動(dòng)畫是否被。getTotalFrames()獲得當(dāng)前精靈畫面總幀數(shù)。setCurrentFrameIndex()強(qiáng)制將當(dāng)前精靈畫面轉(zhuǎn)向指定幀。getCurrentFrameIndex()返回當(dāng)前精靈畫面所在幀。setAnimation()一組動(dòng)畫作為精靈??梢蕴顚懙膮?shù)為動(dòng)畫所在地址或圖片(也可以直接一個(gè)動(dòng)畫類),以及的最大幀數(shù),分解動(dòng)畫時(shí)每幅小圖寬,每幅小圖高,以及平均每幀的時(shí)間。此方法相關(guān)函數(shù)較多,具體請(qǐng)參考實(shí)際開發(fā)時(shí) IDE提示。getAni
36、mation()返回當(dāng)前精靈所使用的動(dòng)畫。update(long timer)當(dāng)精靈管理器發(fā)生時(shí)間變更或者手動(dòng)觸發(fā)此項(xiàng)事,將動(dòng)畫的變更。updateLocation(Vector2D vector)變更精靈到指定 vector 所在位置。getImage()返回當(dāng)前幀的精靈圖像(SpriteImage 格式)。getLImage()返回當(dāng)前幀的精靈圖像(LImage 格式)。getImage(int index)返回指定幀的精靈圖像(LImage 格式)。getWidth()返回當(dāng)前幀的精靈寬。getHeight()返回當(dāng)前幀的精靈高。getMiddlePoint()獲得當(dāng)前精靈寬與高各除一半
37、后的所在位置。getDistance(Sprite second)獲得指定精靈與當(dāng)前精靈間的中間差距數(shù)值。getCollisionBox()返回當(dāng)前精靈的碰撞盒。isRectToRect(Sprite sprite)檢查當(dāng)前精靈與指定精靈之間是否發(fā)生了矩形碰撞。isCircToCirc(Sprite sprite)檢查當(dāng)前精靈與指定精靈之間是否發(fā)生了圓形碰撞。isRectToCirc(Sprite sprite)檢查當(dāng)前精靈與指定之間是否發(fā)生了矩形與圓形間的碰撞。isPixelCollision(Sprite sprite)檢查當(dāng)前精靈與指定精靈之間是否發(fā)生了像素級(jí)碰撞。getMask()獲得
38、當(dāng)前精靈的碰撞掩碼器,其中包含有本精靈當(dāng)前幀的像素級(jí)信息。createUI(LGraphics g)繪制當(dāng)前精靈當(dāng)前幀到指定的 LGraphics。setVisible(boolean visible)設(shè)定當(dāng)前精靈是否可見。isVisible()獲得當(dāng)前精靈是否可見。setSpriteName(String設(shè)定當(dāng)前精靈名稱。setLayer(int layer)設(shè)定當(dāng)前精靈所在層。getCollisionBox()返回當(dāng)前精靈碰撞盒。(3) SpriteTiledSpriteTiled 是 LGame 中使用的地圖瓦片用類,用以構(gòu)造我們需要的地圖效果,以及獲得地圖與相關(guān)精靈的碰撞關(guān)系。16函數(shù)
39、名函數(shù)說明setStaticTileSet(LImage image,int tileWidth, int tileHeight)地圖設(shè)定參數(shù),該方 將指定的 LImage 自動(dòng)分解為我們要求大小的瓦片,并將此數(shù)據(jù)保存在 SpriteTiled 中,以供進(jìn)一步操作使用。createAnimatedTile(int staticTileIndex)建立一個(gè)動(dòng)態(tài)的瓦片分塊,并與指定索引號(hào)關(guān)聯(lián)。該方返回一個(gè)動(dòng)態(tài)分塊的索引號(hào),索引由-1 開始分配。setAnimatedTile(int animatedTileIndex,int staticTileIndex)將索引號(hào)為參數(shù)一的動(dòng)態(tài)分塊,與參數(shù)立。g
40、etAnimatedTile(int animatedTileIndex)獲得指定索引號(hào)的動(dòng)態(tài)分塊所關(guān)聯(lián)的靜態(tài)索引號(hào)。setCell(int col, int row, int tileIndex)在指定行、列位置的單元格設(shè)定分塊索引。getCell(int col, int row)返回指定行、列位置的分塊索引。fillCells(int col, int row, int numCols, int numRows,int tileIndex)用指定的分塊索引設(shè)定一個(gè)區(qū)域中所有的單元格,該區(qū)域從row 行、col 列起,累計(jì)包括 numRows 行以及 numCols 列。getCellWi
41、dth()返回當(dāng)前精靈中分塊寬度。getCellHeight()返回當(dāng)前精靈中分塊高度。getColumns()返回當(dāng)前精靈中分塊圖層的單元格列數(shù)。getRows()返回當(dāng)前精靈中分塊圖層的單元格行數(shù)。createUI(LGraphics g)SpriteTiled 繪圖方法,用以繪制瓦片到指定 LGraphics 上,也可以重載此函數(shù)實(shí)現(xiàn)額外的圖形繪制。getTileAt(int x, int y)返回指定 x,y 坐標(biāo)對(duì)應(yīng)的分塊索引。getWidth()獲得當(dāng)前精靈實(shí)際寬度。getHeight()獲得當(dāng)前精靈實(shí)際高度。update(long timer)變更精靈動(dòng)態(tài)。spriteName)
42、getSpriteName()獲得當(dāng)前精靈名稱。setFilterType(int filterType)設(shè)定當(dāng)前精靈畫面過濾方式。(int 參數(shù)來自 ImageFilterType類,默認(rèn)共 18 種濾鏡可用)getFilterType()返回當(dāng)前精靈畫面過濾方式。spha(float alpha)設(shè)定當(dāng)前精靈。gpha()返回當(dāng)前精靈。setTransform(int transform)設(shè)定當(dāng)前精靈旋轉(zhuǎn)角度。(int 參數(shù)來自 Trans 類,默認(rèn)共 8 種角度可用)getTransform()返回當(dāng)前精靈旋轉(zhuǎn)角度。(4) SpritesSprites 是 LGame 使用的精靈管理器,
43、它可以決定精靈的顯示區(qū)域以及觸發(fā)等細(xì)節(jié)因素,通常情況下 Sprites 需要和 Screen(或其子類)一起使用,另外所有的 Screen 中也都默認(rèn)有一個(gè)直接可用的 Sprites 實(shí)例。17函數(shù)名使用方法sendToFront(ISprite sprite)切換指定精靈到精靈管理器數(shù)組前方,此時(shí)該精靈將優(yōu)先繪制。sendToBack(ISprite sprite)切換指定精靈到精靈管理器數(shù)組后方,此時(shí)該精靈將延后繪制。sortSprites()要求精靈管理器中的精靈再次排序,排序標(biāo)準(zhǔn)按照 Layer 的設(shè)定值。add(int index, ISprite sprite)添加一個(gè)精靈到精靈管
44、理器中的指定索引位置。add(ISprite sprite)順序添加精靈到精靈管理器中。append(ISprite sprite)順序添加精靈到精靈管理器中(照顧 J2ME 用戶習(xí)慣)。getSprite(int index)獲得指定索引對(duì)應(yīng)的精靈實(shí)例。contains(ISprite sprite)指定精靈是否存在于精靈管理器中。remove(int index)從精靈管理器中刪除指定索引的精靈對(duì)象。remove(ISprite sprite)從精靈管理器中刪除指定的精靈對(duì)象。remove(int startIndex, int endIndex)從精靈管理器中刪除在指定索引范圍內(nèi)的精靈對(duì)
45、象。removeAll()從精靈管理器中刪除全部的精靈對(duì)象。clear()從精靈管理器中 NULL 化全部的精靈對(duì)象。update(long elapsedTime)觸發(fā)精靈管理器的時(shí)間變更方法,此時(shí)管理器中所有精靈的同名方法也會(huì)被一起觸發(fā)。createUI(LGraphics g)繪制精靈管理器中圖像到指定 LGraphics。createUI(LGraphics g, int x, int y)繪制精靈管理器中圖像到指定 LGraphics 的指定坐標(biāo)。setViewWindow(int x, int y, int width, int height)設(shè)定精靈管理器的顯示位置與顯示大?。?/p>
46、以實(shí)現(xiàn)簡(jiǎn)單的屏幕移動(dòng))。public void setLocation(int x, int y)設(shè)定精靈管理器的顯示位置。getSprites()返回當(dāng)前精靈管理器中的全部精靈對(duì)象。size()獲得當(dāng)前精靈管理器中的精靈總數(shù)。getWidth()獲得當(dāng)前精靈管理器所的可顯示寬度。getHeight()獲得當(dāng)前精靈管理器所的可顯示高度。spha(float alpha)設(shè)定當(dāng)前精靈。gpha()獲得當(dāng)前精靈。getCollisionBox()獲得當(dāng)前精靈碰撞盒。setVisible(boolean visible)設(shè)定當(dāng)前精靈是否可見。isVisible()獲得當(dāng)前精靈是否可見。PS:此處需要
47、注意一點(diǎn),在 LGame 中純繪制的動(dòng)態(tài)可控組件共分為精靈與組件(或者說Window)兩種。出于效率考慮,默認(rèn)情況下 LGame 精靈無法直接獲得觸摸屏或鍵盤(需要調(diào)用相關(guān)函數(shù)判定碰撞信息)。如果想要直接獲得相關(guān)物體是否被點(diǎn)擊的信息,可以使用組件完成(譬如讓 LPaper動(dòng)畫,而后觀察其 onClick 函數(shù))。從具體實(shí)現(xiàn)上講,組件除擁有更為復(fù)雜(也更為耗時(shí))的自身狀態(tài)判定外,與精靈是完全對(duì)等的存在(大多數(shù)情況下,兩者的具體實(shí)現(xiàn)也都繼承成自 LObject)。6、 org.loon.framework.android.game.action.sprite.effect此包中共有類 6 個(gè),分別
48、為 Fade、FreedomEffect、IKernel、PKernel、RainKernel、SnowKernel,他們?yōu)?LGame 提供了一些簡(jiǎn)單的動(dòng)畫效果,由于并非功能,所以目前不詳加介紹。值得注意的是,LGame 中的特效類本身也是精靈,可以直接按照精靈類使用。7、 org.loon.framework.android.game.action.sprite.j2me此包中共有類 7 個(gè),分別為 Command、CommandListener、J2MEKey、Layer、LayerManager、Sprite、TiledLayer,他們?yōu)?LGame 提供了一組仿 J2ME精靈的功能,
49、作用在于幫助不熟悉 LGame 開發(fā),但擁有 J2ME 使用經(jīng)驗(yàn)的用戶也能輕松使用 LGame 或者快速移植 J2ME到 Android 中。除 J2ME 中原有的 Image 圖形部分,需要使用 LGame 提供的 LImage(100%兼容 Image API) 外,此包中類與方法同 J2ME 中同名類操作完全一致,故不再贅述,具體請(qǐng)參看 J2ME 相關(guān)部分文檔。值得一提的是,雖然 LGame 并沒有硬性規(guī)定此包及其下屬類的使用場(chǎng)合,但通常與LGame 中GameCanvas 實(shí)現(xiàn)的 CanvasScreen 類一起使用效果較好。8、 org.loon.framework.android.
50、game.core此包中共有類 11 個(gè), 分別為 EmulatorButton、EmulatorButtons 、EmulatorListener 、GIFDecoder、LGUID、LInput、LObject、LSystem、LUUID、Runner、Version,自 core 包開始,會(huì)涉及到 LGame 中最基礎(chǔ)的業(yè)務(wù)邏輯,此包中最的兩個(gè)類是 LSystem 以及 LObject。(1) LSystemLSystem 是 LGame 引擎的類之一,其中承載有大量的引擎必備靜態(tài)函數(shù),假如刪除此類,那么整個(gè) LGame 都將無法。18函數(shù)名函數(shù)說明getOSVersion()獲得當(dāng)前系
51、統(tǒng)版本。getSDKVersion()獲得當(dāng)前SDK 名稱。getMajorOSVersion()獲得當(dāng)前系統(tǒng)版本標(biāo)識(shí)(0 為 1.1 版、1 為 1.5 版、2 為 1.6 版、3 為 2.0 版、4 為 2.1 版、5 為 2.2 版,此外鑒于 3.0 尚未發(fā)布所以標(biāo)識(shí)暫時(shí)顯示為 5)isEmulator()獲得當(dāng)前系統(tǒng)是否正在使用模擬器。isSamsungGalaxy()獲得當(dāng)前系統(tǒng)是否為三星。setVisible(boolean visible)設(shè)定當(dāng)前精靈管理器是否可見。isVisible()當(dāng)前精靈管理器是否可見。19isDroidOrtone()獲得當(dāng)前系統(tǒng)是否為摩托羅拉。des
52、troy()注銷 LGame 引擎中的常規(guī)緩存。getSurface2D()獲得當(dāng)前系統(tǒng)的 2D 圖形處理接口(內(nèi)部封裝有LGameAndroid2DView 的圖像相關(guān)部分)exit()強(qiáng)制LGame 引擎系統(tǒng)。repaint()強(qiáng)制刷新畫面。repaint(Bitmap bit)強(qiáng)制刷新畫面為指定 Bitmap。repaint(LImage img)強(qiáng)制刷新畫面為指定 LImage。repaint(Bitmap bit, int w, int h)強(qiáng)制刷新畫面為指定 Bitmap 并按照 w,h 參數(shù)的比例居中顯示。repaint(LImage img, int w, int h)強(qiáng)制刷新畫面為指定 LImage 并按照 w,h 參數(shù)的比例居中顯示。repaintFull(Bitmap bit, int w, int h)強(qiáng)制擴(kuò)itmap 為指定 w,h 并按比例居中顯示于畫面之上。repaintFull(LImage img, int w, int h)強(qiáng)制擴(kuò)大LImage 為指定 w,h 并按比例居中顯示于畫面之上。repaintResize(Bitmap bit, int w, int h)強(qiáng)制擴(kuò)大或縮小Bitmap 為指定w,h 并按比例居中顯
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司搬運(yùn)合同范例
- 個(gè)體工程合同范例
- 低溫容器銷售合同范例
- 上海廢棄廠房租賃合同范例
- 07標(biāo)準(zhǔn)施工合同范例
- 供銷酒水合同范例
- 保潔門窗合同范例
- 兼職平面模特合同范例
- 涼菜開店加工合同范例
- 養(yǎng)殖用地流轉(zhuǎn)合同范例
- 四川建設(shè)工程系統(tǒng)用戶滿意度測(cè)評(píng)實(shí)施辦法
- 控制工程基礎(chǔ)教案第四章
- 山田家的氣象報(bào)告--完整版PPT課件
- 煤礦2021年重大安全風(fēng)險(xiǎn)分析預(yù)判防控報(bào)告全文
- 粱昆淼第四版數(shù)學(xué)物理方法第10章
- 采礦學(xué)之采礦方法
- 急診腦卒中病人分診流程圖4.8
- 球閥使用說明書
- 對(duì)外漢語—春節(jié)學(xué)習(xí)教案
- 國(guó)泰安數(shù)據(jù)庫使用指南PPT課件
- 畢業(yè)設(shè)計(jì)(論文)800×800錘式破碎機(jī)
評(píng)論
0/150
提交評(píng)論