test some stuff
This commit is contained in:
@@ -9,11 +9,85 @@ module('text')
|
||||
module('tileset')
|
||||
module('texture')
|
||||
|
||||
CELL_STATE_DEFAULT = 0
|
||||
CELL_STATE_HOVER = 1
|
||||
CELL_STATE_DOWN = 2
|
||||
CELL_STATE_DISABLED = 3
|
||||
|
||||
screenSetBackground(colorBlack())
|
||||
camera = cameraCreate(CAMERA_PROJECTION_TYPE_ORTHOGRAPHIC)
|
||||
|
||||
tileset = tilesetGetByName("ui")
|
||||
ui = textureLoad(tileset.texture)
|
||||
tilesetUi = tilesetGetByName("ui")
|
||||
textureUi = textureLoad(tilesetUi.texture)
|
||||
|
||||
tilesetGrid = tilesetGetByName("grid")
|
||||
textureGrid = textureLoad(tilesetGrid.texture)
|
||||
gridPiece = tilesetPositionGetUV(tilesetGrid, 0, 0)
|
||||
gridSlice = tilesetPositionGetUV(tilesetGrid, 11, 3)
|
||||
|
||||
tilesetCell = tilesetGetByName("cell")
|
||||
textureCell = textureLoad(tilesetCell.texture)
|
||||
cellSliceHover = tilesetPositionGetUV(tilesetCell, 3, 4)
|
||||
cellSliceDefault = tilesetPositionGetUV(tilesetCell, 3, 5)
|
||||
cellSliceDown = tilesetPositionGetUV(tilesetCell, 3, 6)
|
||||
cellSliceDisabled = tilesetPositionGetUV(tilesetCell, 3, 7)
|
||||
|
||||
width = 10
|
||||
height = 14
|
||||
|
||||
i = 0
|
||||
cells = {}
|
||||
for y = 1, height do
|
||||
for x = 1, width do
|
||||
cells[i] = CELL_STATE_DEFAULT
|
||||
i = i + 1
|
||||
end
|
||||
end
|
||||
|
||||
function cellDraw(x, y, type)
|
||||
if type == CELL_STATE_HOVER then
|
||||
slice = cellSliceHover
|
||||
elseif type == CELL_STATE_DOWN then
|
||||
slice = cellSliceDown
|
||||
elseif type == CELL_STATE_DISABLED then
|
||||
slice = cellSliceDisabled
|
||||
else
|
||||
slice = cellSliceDefault
|
||||
end
|
||||
|
||||
spriteBatchPush(textureCell,
|
||||
x, y,
|
||||
x + tilesetCell.tileWidth, y + tilesetCell.tileHeight,
|
||||
colorWhite(),
|
||||
slice.u0, slice.v0,
|
||||
slice.u1, slice.v1
|
||||
)
|
||||
end
|
||||
|
||||
function backgroundDraw()
|
||||
local t = (TIME.time * 3) % 1
|
||||
local offXStart = gridPiece.u1 * t
|
||||
local offYStart = gridPiece.v1 * t
|
||||
local offXEnd = offXStart + gridPiece.u1
|
||||
local offYEnd = offYStart + gridPiece.v1
|
||||
|
||||
-- Tile background
|
||||
local cols = math.ceil(screenGetWidth() / tilesetGrid.tileWidth)
|
||||
local rows = math.ceil(screenGetHeight() / tilesetGrid.tileHeight)
|
||||
|
||||
for y = 0, rows do
|
||||
for x = 0, cols do
|
||||
spriteBatchPush(
|
||||
textureGrid,
|
||||
x * tilesetGrid.tileWidth, y * tilesetGrid.tileHeight,
|
||||
(x + 1) * tilesetGrid.tileWidth, (y + 1) * tilesetGrid.tileHeight,
|
||||
colorWhite(),
|
||||
gridSlice.u0 + offXStart, gridSlice.v0 + offYStart,
|
||||
gridSlice.u1 + offXEnd, gridSlice.v1 + offYEnd
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function sceneDispose()
|
||||
end
|
||||
@@ -27,17 +101,20 @@ function sceneRender()
|
||||
camera.bottom = screenGetHeight()
|
||||
camera.right = screenGetWidth()
|
||||
|
||||
slice = tilesetTileGetUV(tileset, 0)
|
||||
spriteBatchPush(ui,
|
||||
0, 0,
|
||||
ui.width * slice.u1, ui.height * slice.v1,
|
||||
colorRainbow(),
|
||||
slice.u0, slice.v0,
|
||||
slice.u1, slice.v1
|
||||
)
|
||||
spriteBatchFlush()
|
||||
backgroundDraw()
|
||||
|
||||
-- textDraw(0, 0, "Hello World", colorRainbow())
|
||||
offsetX = 32
|
||||
offsetY = 32
|
||||
for y = 0, height - 1 do
|
||||
for x = 0, width - 1 do
|
||||
cellDraw(
|
||||
x * tilesetCell.tileWidth + offsetX,
|
||||
y * tilesetCell.tileHeight + offsetY,
|
||||
cells[i]
|
||||
)
|
||||
end
|
||||
end
|
||||
spriteBatchFlush()
|
||||
|
||||
cameraPopMatrix()
|
||||
end
|
||||
Reference in New Issue
Block a user