如何在J2ME里使用TiledLayer

Layer是一个抽象类,在游戏里代表了一个元素.TiledLayer继承了Layer,
它有点像精灵类但是主要用来组成背景、道路和屏幕上其它较大的地区。
TiledLayer由许多小格子构成(格柵),这些小格子可以添上各种各样的图像,
从而构成各种各样复杂的背景和游戏场景。

下边的代码说明了如何在J2ME里使用TiledLayer

  TiledLayer tiledLayer;
  Image bg;

  int tileData[][]={
   {11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
    11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
    11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
    11,11,11,11,11,11,11,11,11,11},
 
   {14,11,14,11,14,11,11,14,11,14,11,11,14,11,14,11,14,14,11,11,
    14,11,11,11,14,11,14,11,14,11,14,14,14,14,11,11,11,11,11,11,
    11,14,11,11,14,11,11,14,11,11,14,11,11,14,11,14,14,11,14,11,
    14,11,14,11,14,11,14,14,11,14},
 
   {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,11,
    11,13,13,13,13,13,11,11,11,11,11,13,13,13,13,11,11,11,11,11,
    13,13,13,13,13,13,13,13,13,13,13, 9, 9, 9, 9, 9,11, 9,11, 9,
    9, 9, 9, 9, 9, 9,11,11,11,11},

   {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,17,17,17,
    17,17,9,9,9,9,9,17,17,17,17,17,9,9,9,9,11,11,11,11,
    11,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,11,14,11,
    8,8,9,9,8,8,8,9,11,11,11},

  {8,8,8,9,9,8,8,8,8,8,8,14,8,8,8,8,10,10,10,
   10,10,8,8,14,8,8,10,10,10,10,10,8,8,8,8,10,9,10,9,10,
   8,8,14,8,8,8,8,14,8,8,8,8,8,8,8,8,10,8,10,9,9,
   8,8,9,9,8,8,9,11,11 },

  {9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,10,10,10,
   10,10,8,8,8,8,8,10,10,10,10,10,8,8,8,8,10,10,10,10,10,
   8,8,9,9,9,9,9,9,8,8,8,8,8,8,8,8,10,8,10,8,8,
   8,8,8,8,8,8,8,9,11 },
 
  {16,16,10,16,16,10,10,16,10,10,10,16,10,10,10,10,10,10,10,10,
   10,16,16,16,16,16,10,10,10,10,10,16,16,16,16,10,10,10,10,10,
   10,10,10,10,10,16,16,16,16,16,16,16,16,16,16,16,10,16,10,16,
   16,16,16,16,16,16,16,16,16,16},
 
  {10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
   10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
   10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
   10,10,10,10,10,10,10,10,10,10}
              
         };
 
 
  public initializeTiledLayer() {

    try{
      bg=Image.createImage("/bg.png");
   
    }catch(Exception e){}
 
    //初始化
    tiledLayer=new TiledLayer(tileData[0].length,
      tileData.length, bg, 30, 30);
   
    //设置数据
    for(int i=0;i<set.length;i++)
    {
      for(int j=0;j<tileData[0].length;j++)
      {
        tiledLayer.setCell(j,i, set[i][j]) ;
      }
    }
   
  }
 
  void paint(Graphics g)
  {
    tiledLayer.paint(g);
  } 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值