Что является лучшим способом для создания сетки с помощью Моаи
У Moai есть объект для создания сетки: MOAIGrid. Используя фреймворк , вы создаете сетку и даете ей колоду. Затем вы прикрепляете его к опоре, а добавьте опору на слой. (Этот слой также нуждается в видовом экране, который прикреплен к окну.)
Как я могу заполнить каждую плитку по отдельности с цветом
Moai deck изображение или набор изображений. Если вы хотите, чтобы ваши плитки были разных цветов, тогда вы создадите колоду с изображениями квадрата в этих цветах.
Пример
Этот код будет создавать 4x4 сетки в окне:
-- Open the window and create a viewport
MOAISim.openWindow("Example", 512, 512)
viewport = MOAIViewport.new()
viewport:setSize(512, 512)
viewport:setScale(512, 512)
-- Create a layer
layer = MOAILayer2D.new()
layer:setViewport(viewport)
MOAISim.pushRenderPass(layer)
-- Create a 4x4 grid of 64x64px squares
grid = MOAIGrid.new()
grid:initGrid(4, 4, 64)
grid:setRow(1, 1, 1, 1, 1)
grid:setRow(2, 1, 1, 1, 1)
grid:setRow(3, 1, 1, 1, 1)
grid:setRow(4, 1, 1, 1, 1)
-- Load the image file
deck = MOAITileDeck2D.new()
deck:setTexture("squares.png")
deck:setSize(2, 2)
-- Make a prop with that grid and image set
prop = MOAIProp2D.new()
prop:setDeck(deck)
prop:setGrid(grid)
prop:setLoc(-256, -256)
-- Add it to the layer so it will be rendered
layer:insertProp(prop)
После этого, если вы хотите изменить цвет конкретной ячейки, используйте метод setTile
, чтобы выбрать в колоде, которую использует ячейка.
-- Change the color of cell 1,1 to the second item in the deck
grid:setTile(1, 1, 2)
В v1.4p0 (точно не указано, в какой версии оно было изменено) строка 'grid: initGrid (4, 4, 64)' будет 'grid: initRectGrid (4, 4, 64, 64)' – devnate