程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> J2ME游戲APIの構建地圖TiledLayer

J2ME游戲APIの構建地圖TiledLayer

編輯:J2ME

  在J2ME中游戲精靈Sprite是Layer的子類,而MIDP2.0中關於Layer圖層接口還有一個重要的類TiledLayer,該類的作用是用於構建游戲地圖。游戲中除了精靈的活動之外,還需要有背景地圖,使得精靈在地圖上走動形成逼真的環境效果,因此MIDP2.0提供我們用於構建游戲地圖的TiledLayer類,我們能使用TiledLayer容易的構建形象美觀的各種地圖背景。本文敘述有關TiledLayer的重要方法以及如果使用TiledLayer構造出游戲地圖。

  1、TiledLayer是一個將tiled平鋪於格子狀排列著的cell中,通過使用圖片填滿整站地圖中的cell從而形成一張游戲地圖的類。

  2、TiledLayer的constructor為:public TiledLayer(int columns,int rows,Image image,int tiledWidth,int tiledHeight);

  其中參數columns指定了圖層中cell橫向和縱向的個數,image指定了在圖層中使用的圖片Image對象,tiledWidth和tiledHeight則分別指定了image中小圖片的尺寸。

  image對象跟Sprite中一樣,由多張不同形態的小圖片組成,從構造方法中可以看出,TiledLayer類在構造出自身大小的同時,能對image進行分割。

  TiledLayer的用法:

    TiledLayer map;
    image = Image.create("/tl.png");
    map = new TiledLayer(9,9,image,image.getWidht()/9,image.getHeight());

  3、貼磚

  構建出地圖大小跟分割圖片後,將分割後的圖片組裝到地圖中的各個cell中的過程這裡叫貼磚。使用的方法是setCell(int col,int row,int tiledIndex),就是在地圖的第col列和第row行的地方貼上第tiledIndex張圖片,當全部cell被貼完則形成了我們想得到的游戲地圖。通常情況下,地圖中的cells我們用二維數組來存儲排列情況,並通過一個二維循環來完成貼磚任務。

  如: 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]);
         }
      }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved