J2ME游戲APIの構(gòu)建地圖TiledLayer
?? 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