O Objeto SceneGridLayer representa o grid do tabuleiro de combate e possui informações e utilitários a respeito do mesmo.
O SceneGridLayer de um scene pode ser obtido através da propriedade "grid" do objeto Scene
O objeto SceneGridLayer herda de SceneBaseObject e possui também todas as suas características.
Além das características herdadas, o objeto também possui as seguintes características:
Propriedade |
Tipo |
Descrição |
scene |
(Somente Leitura) Contém o Objeto Scene a qual este SceneGridLayer pertence. |
|
gridType |
Enumerado:
|
Define o tipo de grid que o tabuleiro de combate utiliza. "square": Grid com células quadradas "vertHex": Grid com células hexagonais organizadas verticalmente.
|
squareDiagonals |
Enumerado:
|
Quando gridType for "square", esta propriedade define como as diagonais do grid quadriculado devem se comportar e pode ser um dos seguintes valores:
|
offsetX |
Double |
Define o deslocamento em métrica de mundo que a primeira célula do grid (i:0, j:0) deve receber no eixo X. Em outras palavras, offsetX e offsetY são usadas para ajuste fino para posicionar corretamente o grid no tabuleiro. O RRPG faz um "WrapAround" no offset: Se você especificar um OffsetX que equivalha a 3,3 células por exemplo, o RRPG fará um deslocamento de apenas 0,3 células, pois deslocar 3,3 ou deslocar 0,3 células produz o mesmo resultado visual. |
offsetY |
Double |
Define o deslocamento em métrica de mundo que a primeira célula do grid (i:0, j:0) deve receber no eixo Y. Em outras palavras, offsetX e offsetY são usadas para ajuste fino para posicionar corretamente o grid no tabuleiro. O RRPG faz um "WrapAround" no offset: Se você especificar um OffsetY que equivalha a 3,1 células por exemplo, o RRPG fará um deslocamento de apenas 0,1 células, pois deslocar 3,1 ou deslocar 0,1 células produz o mesmo resultado visual. |
cellSize |
Double |
Define o tamanho de cada célula do grid em métrica de mundo. Exemplo: 1.5 significa que cada célula do grid ocupam 1.5 metros no espaço do mundo do tabuleiro (ou outra unidade de medida, conforme a propriedade scene.worldMetricName). Dimensões se o gridType for "square": Dimensões se o gridType for "vertHex": |
gridColor |
Define a cor da linha do grid. |
|
gridThickness |
Double |
Define, em métrica de tela, a espessura das linhas do grid. |
drawGrid |
Boolean |
True se as linhas do grid devem ser desenhadas, ou false se as linhas do grid devem ser invisíveis. |
rowCount |
Integer |
(Somente Leitura) Com base no tamanho do tabuleiro (propriedade scene.worldWidth) e no tamanho de cada célula da grid (cellSize), esta propriedade contém quantas linhas a grid/matriz tem. |
colCount |
Integer |
(Somente Leitura) Com base no tamanho do tabuleiro (scene.worldHeight) e no tamanho de cada célula da grid (cellSize), esta propriedade contém quantas colunas a grid/matriz tem. |
Método |
Descrição |
grid:cellToWorld(i, j) |
Dada uma coordenada de matriz/grid Aij, retorna qual é a posição central desta célula em métrica de mundo. Parâmetros:
Retorno: Esta função retorna dois valores na seguinte ordem:
Observações:
Exemplo: local wX, wY = scene.grid:cellToWorld(10, 5); |
grid:worldToCell(worldX, worldY) |
Dada uma posição em métrica de mundo, retorna qual célula da grid que este ponto pertence. Parâmetros:
Retorno: Esta função retorna dois valores na seguinte ordem:
Observações:
Exemplo: local i, j = scene.grid:worldToCell(16, 6);
|
grid:shortestPath(srcI, srcJ, destI, destJ[, options]) |
Dada duas coordenadas de matriz/grid Aij, calcula e retorna o caminho mais curto entres as duas células da grid. Parâmetros:
Retorno: Esta função retorna 4 valores na seguinte ordem:
|
|
|
Nome do evento |
Descrição |
onChange |
Evento que é disparado quando o Grid do scene mudar. As seguintes situações disparam este evento:
|
require("scene.lua");
SceneLib.registerPlugin( -- Manipular o evento onMouseUp do Viewport afim de detectar o click do mouse
scene.viewport.onMouseUp = function (event) -- Converter coordenada de tela do click para coordenada de mundo local wx, wy = scene.viewport:screenToWorld(event.x, event.y);
-- Converter coordenada de mundo para coordenada do grid local i, j = scene.grid:worldToCell(wx, wy);
-- Exibir uma Mensagem sobre a célula clicada showMessage("Click na célula [Linha " .. i .. ", Coluna " .. j .. "]"); end; end); |
Created with the Personal Edition of HelpNDoc: Free Kindle producer