Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local sprite = require "sprite"
- local createMap(self, size, columns, rows)
- local map = display.newGroup()
- map.Tiles = {}
- for row=0,rows+1 do
- map.Tiles[row] = {}
- for column=0,columns+1 do
- local tile = sprite.newSprite(self)
- tile:setReferencePoint(display.BottomLeftReferencePoint)
- map:insert(tile)
- tile.xScale, tile.yScale = size / tile.width, size / tile.height
- tile.x, tile.y = column * size, row * size
- map.Tiles[row][column] = tile
- end
- end
- return map
- end
- return function(spritesheet, size, kinds, mapping)
- if not mapping then
- for _, kind in ipairs(kinds) do
- mapping[kinds:sub(1, 1):upper()] = kinds
- end
- end
- local terrain = sprite.newSpriteSet(sprite.newSpriteSheet(spritesheet, size, size), 1, 1)
- for i, kind in ipairs(kinds) do
- sprite.add(terrain, kind, i + 1, 1, 1, 1)
- end
- terrain.Create = createMap
- terrain.Mapping = mapping
- return terrain
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement