在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Android/ Android 坦克大戰(zhàn)游戲設(shè)計(jì)解析二
Android 坦克大戰(zhàn)游戲設(shè)計(jì)解析八
Android 坦克大戰(zhàn)游戲設(shè)計(jì)解析一
Android 坦克大戰(zhàn)游戲設(shè)計(jì)解析五
Android 坦克大戰(zhàn)游戲設(shè)計(jì)解析六
Android 坦克大戰(zhàn)游戲設(shè)計(jì)解析七
Android 坦克大戰(zhàn)游戲設(shè)計(jì)解析二
Android 坦克大戰(zhàn)游戲設(shè)計(jì)解析三
Android 坦克大戰(zhàn)游戲設(shè)計(jì)解析四

Android 坦克大戰(zhàn)游戲設(shè)計(jì)解析二

Java ME 中提供了一個(gè) Game API (javax.microedition.lcdui.game)。大大方便了程序員在移動(dòng)平臺(tái)上開發(fā)復(fù)雜游戲。一般的游戲可以分為游戲人物及背景,可以將游戲場(chǎng)景分成多個(gè)層次。在 Java ME Game API 中提供了幾個(gè)類。

http://wiki.jikexueyuan.com/project/android-game-design/images/3.jpg" alt="pic" />

  • Layer 類,該類為一抽象類,提供了游戲人物及背景的層次的基本構(gòu)架,它代表了游戲場(chǎng)景中一個(gè)可視化的元素,如游戲人物(Sprite)或是分片背景(TiledLayer)。

  • Sprite 類,為一個(gè)基本動(dòng)畫游戲人物,它可以顯示多個(gè)動(dòng)畫幀中其中一幀,比如人向前,向后,向左,向右,坦克大戰(zhàn)游戲中各種坦克就是一個(gè) sprite 類對(duì)象,它可以顯示坦克向四個(gè)方向移動(dòng)的圖象,并可很容易實(shí)現(xiàn)動(dòng)態(tài)效果,如坦克履帶移動(dòng)的動(dòng)態(tài)效果。它也支持了各種碰撞檢測(cè),比如子彈擊中坦克,或是打中磚塊等等。

  • TiledLayer 類,一般用作顯示游戲背景,為了能顯示范圍較大的背景,一般游戲背景地圖可以通過(guò)小的圖片拼接而成。TiledLayer 用于實(shí)現(xiàn)由一個(gè)二維 cell (分片地圖)組成背景,這個(gè)類也提供了動(dòng)態(tài)背景的支持,比如,坦克大戰(zhàn)背景中水面的動(dòng)態(tài)效果。

  • LayerManager 類用于管理多個(gè) Layer ,sprite 及 TiledLayer 都是 Layer 的子類。在坦克大戰(zhàn)游戲中,LayerManager 用來(lái)管理坦克及背景,TiledLayer 及 sprites 在 LayerManager 管理下有層次的關(guān)系(Z-Order),前面的 Layer 會(huì)遮擋后面的 Layer。

而 Andorid 中沒(méi)有提供 Game API,如果大家看過(guò) Android 例子中 snake 的實(shí)現(xiàn),其中 TileView 的功能類似于 Game API 中 TiledLayer。為了使減少移植工作,第一步是將 Java ME 中 Game API 移植到 Android 平臺(tái)。

移植是基于 microemulator 中相應(yīng)代碼,移植工作量不大。在后面會(huì)提供移植后源碼。