O Objeto SceneGraphicItem é um objeto que contém a coleção de todos os itens gráficos/visuais do tabuleiro, como os tokens.
O SceneGraphicItemList de um scene pode ser obtido através da propriedade "items" do objeto Scene
O objeto SceneGraphicItemList herda de SceneBaseObject e possui também todas as suas características.
Além das características herdadas, o objeto SceneGraphicItemList também possui as seguintes características:
Propriedade |
Tipo |
Descrição |
operador # |
Integer |
(Somente Leitura) Contem a quantidade de itens gráficos que existem no scene. Exemplo: local qtDeItens = #scene.items; |
operador [] |
(Somente Leitura) Contem um objeto SceneGraphicItem representando um item gráfico do scene, como um token. O valor passado dentro do colchete deve ser um número entre 1 a "count". Exemplo de uso: -- Percorrendo todos os itens gráficos do scene for i = 1, #scene.items, 1 do local umItem = scene.items[i]; end; |
|
count |
Integer |
(Somente Leitura), equivale ao operador #. Contem a quantidade de itens gráficos que existem no scene. |
selection |
Array de SceneGraphicItem |
(Somente Leitura) Retorna um array (uma tabela lua indexada de 1 a #array) contendo os itens do scene que estão selecionados no momento. |
Método |
Descrição |
list:get(index) |
Equivalente ao operador [], retorna um SceneGraphicItem representando um item gráfico do scene, como um token. Parâmetros:
Retorno: Um objeto SceneGraphicItem. |
list:enumAtPoint(worldX, worldY [, layer]) |
Dada uma posição em métrica de mundo, retorna todos os SceneGraphicItem do scene que podem ser encontrados neste ponto (isto é, se o ponto for uma posição dentro do item). Parâmetros:
Retorno: Um array (tabela lua com índices de 1 a #tabela) de objetos SceneGraphicItem. Caso nenhum item seja encontrado na posição informada, o array vem vazio. Observação: O array retornado pela função vem ordenado pela posição Z dos itens quando há sobreposição. Isto é, quando um item ocupa o mesmo espaço que outro item ocupa, a função garante que o item que é desenhado mais abaixo apareça antes no array retornado do que o item que é desenhado acima dele.Se um item achado não sobrepor nenhum outro item, sua ordem no array retornado é indefinida (Ordenação Z apenas dos itens em sobreposição). |
list:enumInRect(rect [, layer]) |
Dado um retângulo em métrica de mundo, retorna todos os SceneGraphicItem do scene que sobrepõe ao retângulo (que coincidem, justapõe, que intercedem, etc..) Parâmetros:
Retorno: Um array (tabela lua com índices de 1 a #tabela) de objetos SceneGraphicItem. Caso nenhum item seja encontrado no retângulo informado, o array vem vazio. Observação: O array retornado pela função vem ordenado pela posição Z dos itens quando há sobreposição. Isto é, quando um item ocupa o mesmo espaço que outro item ocupa, a função garante que o item que é desenhado mais abaixo apareça antes no array retornado do que o item que é desenhado acima dele.Se um item achado não sobrepor nenhum outro item, sua ordem no array retornado é indefinida (Ordenação Z apenas dos itens em sobreposição). |
list:itemAtPoint(worldX, worldY [, layer]) |
Dada uma posição em métrica de mundo, retorna um SceneGraphicItem do scene que se encontra neste ponto. Parâmetros:
Retorno:
|
list:clearSelection() |
Deseleciona todos os itens que estavam na lista de seleção do usuário. |
list:addToken([layer]) |
Adiciona um novo Token ao tabuleiro. Parâmetros:
Retorno:
|
list:addUserDrawing([layer]) |
Adiciona um novo UserDrawing ao tabuleiro. Parâmetros:
Retorno:
|
Nome do evento |
Descrição |
onItemAdded |
Evento invocado quando um item for adicionado ao scene, seja porque acabou de ser criado ou porque estava invisível e se tornou visível agora. Parâmetros:
|
onItemRemoved |
Evento invocado quando um item for removido do scene, seja porque foi destruído ou porque se tornou invisível. Parâmetros:
|
onItemSelected |
Evento invocado quando um item for adicionado à seleção de itens do usuário. Parâmetros:
|
onItemDeselected |
Evento invocado quando um item for removido da seleção de itens do usuário. Parâmetros:
|
onItemLayerChange |
Evento invocado quando a camada de um item for alterada. Parâmetros:
|
require("scene.lua");
SceneLib.registerPlugin( function (scene, attachment)
-- Manipular o evento onMouseUp do Viewport afim de detectar o click do mouse scene.viewport.onMouseUp = function(event) -- Converter para métrica de mundo a posição do clique local wx, wy = scene.viewport:screenToWorld(event.x, event.y);
-- Localizar o objeto mais acima da posição clicada local o = scene.items:itemAtPoint(wx, wy);
-- Exibir uma mensagem if o ~= nil then showMessage("Clique em um objeto"); else showMessage("Clique em nada"); end; end;
end); |
Created with the Personal Edition of HelpNDoc: Create Professional CHM Help Files with HelpNDoc's Easy-to-Use Tool