SHOW:
|
|
- or go back to the newest paste.
| 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) | |
| 21 | local terrain = sprite.newSpriteSet(sprite.newSpriteSheet(spritesheet, size, size), 1, 1) | |
| 22 | for i, kind in ipairs(kinds) do | |
| 23 | sprite.add(terrain, kind, i + 1, 1, 1, 1) | |
| 24 | end | |
| 25 | terrain.Create = createMap | |
| 26 | return terrain | |
| 27 | end |