即興的靈感

          思維是一種藝術(shù); 藝術(shù)需要靈感。

          博客好友

          最新評論

          J2ME游戲APIの構(gòu)建地圖TiledLayer

          ???在J2ME游戲精靈Sprite是Layer的子類,而MIDP2.0中關(guān)于Layer圖層接口還有一個(gè)重要的類TiledLayer,該類的作用是用于構(gòu)建游戲地圖。游戲中除了精靈的活動之外,還需要有背景地圖,使得精靈在地圖上走動形成逼真的環(huán)境效果,因此MIDP2.0提供我們用于構(gòu)建游戲地圖的TiledLayer類,我們能使用TiledLayer容易的構(gòu)建形象美觀的各種地圖背景。本文敘述有關(guān)TiledLayer的重要方法以及如果使用TiledLayer構(gòu)造出游戲地圖。
          ?? 1、TiledLayer是一個(gè)將tiled平鋪于格子狀排列著的cell中,通過使用圖片填滿整站地圖中的cell從而形成一張游戲地圖的類。
          ???2、TiledLayer的constructor為:public TiledLayer(int columns,int rows,Image image,int tiledWidth,int tiledHeight);
          ???????? 其中參數(shù)columns指定了圖層中cell橫向和縱向的個(gè)數(shù),image指定了在圖層中使用的圖片Image對象,tiledWidth和tiledHeight則分別指定了image中小圖片的尺寸。
          ?????????image對象跟Sprite中一樣,由多張不同形態(tài)的小圖片組成,從構(gòu)造方法中可以看出,TiledLayer類在構(gòu)造出自身大小的同時(shí),能對image進(jìn)行分割。
          ?????????TiledLayer的用法:
          ?????????TiledLayer map;
          ?????????image = Image.create("/tl.png");
          ?????????map = new TiledLayer(9,9,image,image.getWidht()/9,image.getHeight());
          ???3、貼磚
          ?????????構(gòu)建出地圖大小跟分割圖片后,將分割后的圖片組裝到地圖中的各個(gè)cell中的過程這里叫貼磚。使用的方法是setCell(int col,int row,int tiledIndex),就是在地圖的第col列和第row行的地方貼上第tiledIndex張圖片,當(dāng)全部cell被貼完則形成了我們想得到的游戲地圖。通常情況下,地圖中的cells我們用二維數(shù)組來存儲排列情況,并通過一個(gè)二維循環(huán)來完成貼磚任務(wù)。
          ?????????如: final static int[][] mapData = {
          ????????????{4,4,4,4,4,4,4,4,4},
          ????????????{4,1,2,3,1,3,2,1,4},
          ????????????{4,1,5,1,1,2,4,3,4},
          ????????????{4,3,5,6,4,3,7,8,4},
          ????????????{4,3,6,7,7,7,3,2,4},
          ????????????{4,7,2,1,1,1,6,2,4},
          ????????????{4,3,6,7,7,7,3,2,4},
          ????????????{4,7,2,1,1,1,6,2,4},
          ????????????{4,4,4,4,4,4,4,4,4},
          ????????????};
          ???????????貼磚過程:
          ????????????for(int y = 0; y<mapData.length; y++){
          ???????????????for(int x = 0; x<mapData[y].length; x++)
          ??????????????????{
          ????????????????????????map.setCell(x,y,mapData[y][x]);
          ??????????????????}
          ????????????}
          ????????? 轉(zhuǎn)載注明出處是一種對作者辛苦勞動的尊重。

          ?
          鳳凰涅槃/浴火重生/馬不停蹄/只爭朝夕
          ???? 隱姓埋名/低調(diào)華麗/簡單生活/完美人生

          posted on 2009-02-18 00:05 poetguo 閱讀(1894) 評論(0)  編輯  收藏 所屬分類: J2ME

          主站蜘蛛池模板: 工布江达县| 上杭县| 兴隆县| 土默特右旗| 璧山县| 分宜县| 靖边县| 安远县| 新蔡县| 紫阳县| 扎鲁特旗| 泗水县| 宣汉县| 元谋县| 西吉县| 英超| 乐清市| 广东省| 美姑县| 普兰县| 淳化县| 长武县| 泰安市| 高青县| 江源县| 开鲁县| 会宁县| 九龙县| 抚顺县| 清原| 神农架林区| 漾濞| 会东县| 文安县| 平塘县| 互助| 孟津县| 钟山县| 柯坪县| 洪湖市| 名山县|