???在
J2ME游戲設(shè)計中,需要由很多背景地圖跟活動的精靈才能讓游戲跟接近現(xiàn)實,跟讓玩家從中獲得游戲的興趣。而在復(fù)數(shù)
精靈Sprite跟多
地圖背景TiledLayer的情況下,將給開發(fā)帶來一定的復(fù)雜性,然而,MIDP2.0中的游戲API提供了一個圖層管理類,有了該類我們可以輕易的對游戲中的各個Layer有效的管理,從而使得開發(fā)的難度大大的降低,該類的名稱叫
LayerManager,顧名思義就是對圖層的管理的類,今天在這里將稍微總結(jié)下
LayerManager在開發(fā)過程中的基本知識。
???一、LayerManager的具體作用是根據(jù)準(zhǔn)確的位置跟圖層次序來渲染它管理下的各個圖層,也就是說使用管理的方式來處理圖層之間的層疊關(guān)系因,因此在圖層變化過程中容易的對圖層進(jìn)行添加和刪除操作。
???二、LayerManager使用方法
???1、通過方法append(layer)來增加圖層
???LayerManager layerManager = new LayerManager();
???layerManager.append(layer);
???2、獲取圖層總數(shù)
???layerManager.getSize();
???3、移除一個圖層
???layerManager.remove(Layer layer);
???4、在某處插入圖層方法
???layermanager.insert(Layer layer,int index);
???5、渲染圖層
???layerManager.paint(Graphics g,int x,int y);
???只需要執(zhí)行一次paint方法,所有LayerManager管理的圖層都會被渲染,而無需對每個圖層進(jìn)行繪畫。
???三、定位屏幕可視區(qū)域
???LayerManager中有一個方法setViewWindow(int x,int y,int viewX,int viewY),用來定位圖層在屏幕中顯示的區(qū)域,其中參數(shù)x,y代表可視區(qū)域左上角頂點對應(yīng)于整個背景圖層左上角頂點的位置,viewX跟viewY代表了可視區(qū)域的寬度跟高度。實現(xiàn)圖層的卷動只需要改變x跟y的大小即可,當(dāng)x變小則向左移動效果,變大則向右移動;當(dāng)y變大則想下卷動,變小則向上卷動。
???總結(jié):在J2ME游戲開發(fā)中,MIDP 2.0的游戲Game API函數(shù)提供了一個簡化二維動作游戲開發(fā)的構(gòu)架。首先,
游戲畫布GameCanvas提供了使得游戲循環(huán)體緊湊的繪畫和輸入方法。其次,圖層的架構(gòu)使得創(chuàng)建復(fù)雜的場景成為可能,使用
TiledLayer從源圖像簇的調(diào)色盤中組合成一個大背景或游戲地圖場景。而
游戲精靈Sprite適合于動畫角色人物或其他活動角色,并能檢測到各個精靈在游戲中與其他精靈對象的碰撞情況。而
圖層管理類LayerManager把所有的圖層粘合在一起,輕易管理游戲中各個圖層的顯示跟調(diào)用。
???(轉(zhuǎn)載時請
注明出處并保持鏈接,作為對作者辛勤勞動的尊重,謝謝。)
?
鳳凰涅槃/浴火重生/馬不停蹄/只爭朝夕
???? 隱姓埋名/低調(diào)華麗/簡單生活/完美人生