JAVA認證:J2ME游戲API圖層管理LayerManager

字號:

在J2ME游戲設(shè)計中,需要由很多背景地圖跟活動的精靈才能讓游戲跟接近現(xiàn)實,跟讓玩家從中獲得游戲的興趣。而在復(fù)數(shù)精靈Sprite跟多地圖背景TiledLayer的情況下,將給開發(fā)帶來一定的復(fù)雜性,然而,MIDP2.0中的游戲API提供了一個圖層管理類,有了該類我們可以輕易的對游戲中的各個Layer有效的管理,從而使得開發(fā)的難度大大的降低,該類的名稱叫LayerManager,顧名思義就是對圖層的管理的類,今天在這里將稍微總結(jié)下LayerManager在開發(fā)過程中的基本知識。
    一、LayerManager的具體作用是根據(jù)準確的位置跟圖層次序來渲染它管理下的各個圖層,也就是說使用管理的方式來處理圖層之間的層疊關(guā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管理的圖層都會被渲染,而無需對每個圖層進行繪畫。
    三、定位屏幕可視區(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)用。