Advertisement
alestane

Updated mapped info

Jan 1st, 2012
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local sprite = require "sprite"
  2.  
  3. local createMap(self, size, columns, rows)
  4.         local map = display.newGroup()
  5.         map.Tiles = {}
  6.         for row=0,rows+1 do
  7.                 map.Tiles[row] = {}
  8.                 for column=0,columns+1 do
  9.                         local tile = sprite.newSprite(self)
  10.                         tile:setReferencePoint(display.BottomLeftReferencePoint)
  11.                         map:insert(tile)
  12.                         tile.xScale, tile.yScale = size / tile.width, size / tile.height
  13.                         tile.x, tile.y = column * size, row * size
  14.                         map.Tiles[row][column] = tile
  15.                 end
  16.         end
  17.         return map
  18. end
  19.  
  20. return function(spritesheet, size, kinds, mapping)
  21.     if not mapping then
  22.         for _, kind in ipairs(kinds) do
  23.             mapping[kinds:sub(1, 1):upper()] = kinds
  24.         end
  25.     end
  26.     local terrain = sprite.newSpriteSet(sprite.newSpriteSheet(spritesheet,  size, size), 1, 1)
  27.     for i, kind in ipairs(kinds) do
  28.         sprite.add(terrain, kind, i + 1, 1, 1, 1)
  29.     end
  30.     terrain.Create = createMap
  31.     terrain.Mapping = mapping
  32.     return terrain
  33. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement