Pular para conteúdo

Objeto SceneDrawingOp

Objeto SceneDrawingOp

O Objeto SceneDrawingOp representa uma operação gráfica de um SceneCanvas .

 

Herança

O o**bjeto SceneDrawingOp** herda de SceneBaseObject e possui também todas as suas características.

 

Abstração

Esta é uma classe abstrata e você nunca encontrará um objeto SceneDrawingOp vivo sem ser uma das seguintes classes:

 

Características

Além das características herdadas, o objeto SceneDrawingOp também possui as seguintes características:

Propriedades e atributos

Propriedade Tipo Descrição
objectType String: "opBitmap" "opPath" "opText" (Somente Leitura) Contém um texto que identifica o tipo da operação gráfica e pode conter um dos seguintes valores:  "opBitmap" -  este operação gráfica é um Objeto SceneDrawingOpBitmap, uma imagem/bitmap.  "opPath" - esta operação gráfica é um Objeto SceneDrawingOpPath, um caminho/forma/polígono.  "opText" - Esta operação gráfica é um Objeto SceneDrawingOpText, um texto. 
x Double Contém a posição X de onde esta operação gráfica deve ser renderizada.  Por padrão, este valor está em uma métrica relativa ao SceneCanvas de um item no scene e é normalizado entre 0.0 e 1.0, onde 0.0 = canto esquerdo do item, 0.5 = centro do item e 1.0 = canto direito do item. (Item, neste caso, é o Token/UserDrawing/EffectArea desta operação gráfica) 
y Double Contém a posição Y de onde esta operação gráfica deve ser renderizada.  Por padrão, este valor está em uma métrica relativa ao SceneCanvas de um item no scene e é normalizado entre 0.0 e 1.0, onde 0.0 = canto superior do item, 0.5 = centro do item e 1.0 = canto inferior do item (Item, neste caso, é o Token/UserDrawing/EffectArea desta operação gráfica) 
width Double Contém a largura que a operação gráfica deve ser renderizada.  Por padrão, este valor está em uma métrica relativa ao SceneCanvas de um item no scene e é normalizado entre 0.0 e 1.0, onde 0.5 = metade da largura do item, 1.0 = largura do item e 2.0 = duas vezes a largura do item. (Item, neste caso, é o Token/UserDrawing/EffectArea desta operação gráfica) 
height Double Contém a altura que a operação gráfica deve ser renderizada.  Por padrão, este valor está em uma métrica relativa ao SceneCanvas de um item no scene e é normalizado entre 0.0 e 1.0, onde 0.5 = metade da altura do item, 1.0 = altura do item e 2.0 = duas vezes a altura do item. (Item, neste caso, é o Token/UserDrawing/EffectArea desta operação gráfica) 
z Double Contém um número para definir a ordem Z da operação gráfica, isto é, a ordem em que deve ser renderizada.  Exemplo: Se A e B forem duas operações gráficas de um mesmo Item de Scene e se A possuir ordem Z equivalente a 5 e B possuir ordem Z equivalente a 10, a operação gráfica A aparecerá abaixo da operação gráfica B na tela. 
name String Um texto auxiliar qualquer para ajudar a identificar qual é esta operação gráfica.  Pode ser utilizado pela função "canvas:findByName()" do objeto SceneCanvas para fácil localização. 
opacity Double Define a opacidade da operação gráfica.  Este valor varia de 0.0 a 1.0, onde 0.0 = totalmente transparente e 1.0 = totalmente opaco. 
rotMode Enumerado: "default" "ignoreCanvasRot" Define como a operação gráfica deve se comportar em relação à rotação do item/canvas dono da operação gráfica.  "default": Padrão, a operação gráfica deve ser rotacionada conforme a rotação de seu canvas/item do scene.  "ignoreCanvasRot": A renderização desta operação gráfica deve ignorar a rotação de seu canvas/item do scene. 
visibility Enumerado: "everyone" "gmOnly"  Define quem pode visualizar esta operação gráfica:  "everyone": Padrão, todos podem visualizar esta operação gráfica.  "gmOnly": Apenas o mestre da mesa pode ver esta operação gráfica. 
rotation Double Define a rotação da operação gráfica em graus. 
rotCenterX Double Define onde, no eixo X da operação gráfica, está o pivô de rotação.  O valor varia entre 0.0 a 1.0: 0.0 = lado esquerdo do desenho. 0.5 = centro do desenho (Padrão) 1.0 = lado direito do desenho. 
rotCenterY Double Define onde, no eixo Y da operação gráfica, está o pivô de rotação.  O valor varia entre 0.0 a 1.0: 0.0 = parte superior do desenho. 0.5 = centro do desenho (Padrão). 1.0 = parte inferior do desenho. 
drawingTrigger Conjunto: "hover" "selected"  Define gatilhos para esta operação ser desenhada.  É um conjunto, uma tabela contendo um ou mais dos seguintes itens:  "hover" - Quando o mouse estiver por cima do objeto/token.  "selected" - Quando o objeto/token estiver selecionado.  Exemplos: {} - Não há gatilhos, sempre é desenhada {"hover"} - Quando o mouse estiver por cima do item. {"hover", "selected"} - Quando o mouse estiver por cima do item ou quando o item estiver selecionado. 
outOfOrderMode Enumerado: "noOutOfOrder" "afterFogOfWarLayer" "beforeOwnerLayer" "afterOwnerLayer" Define se a operação gráfica possui um comportamento fora da ordem padrão.  "noOutOfOrder" - (Padrão) A operação não possui comportamento de desenho fora da ordem e é desenhado na ordem normal.  "afterFogOfWarLayer" - A operação possui comportamento de desenho fora de ordem. É desenhada após a camada de Fog Of War ser desenhada no tabuleiro.  "beforeOwnerLayer" - A operação possui comportamento de desenho fora de ordem. Ela é desenhada abaixo da camada do item que a possui.  "afterOwnerLayer" - "beforeOwnerLayer" - A operação possui comportamento de desenho fora de ordem. Ela é desenhada acima da camada do item que a possui. 
xMetric yMetric widthMetric heightMetric Enumerado: "screenMetric" "worldMetric" "canvasMetric" "cellMetric"  Altera a medida em que as propriedades "x", "y", "width" e "height" foram informadas:  "canvasMetric" - (Padrão) A propriedade está representado em métricas de canvas, onde, por exemplo, 0.5 = metade da largura/altura do token/desenho e 1.0 = largura/altura do token/desenho.  "screenMetric" - A propriedade está representado em métricas de tela.  "worldMetric" - A propriedade está representado em métricas de mundo.  "cellMetric" - A propriedade está representado em métricas de células. (Exemplo, 0.5 = meia célula do grid, 2 = duas células do grid) 
xOrigin yOrigin Double Contém a posição de origem no eixo X e no eixo Y de onde as propriedades "x" e "y" são relativas.  Este valor está em uma métrica relativa ao SceneCanvas de um item no scene e é normalizado entre 0.0 e 1.0, onde 0.0 = canto esquerdo do item, 0.5 = centro do item e 1.0 = canto direito do item. (Item, neste caso, é o Token/UserDrawing/EffectArea desta operação gráfica)  Observação: Estes valores são úteis apenas quando é usado xMetric/yMetric diferente de "canvasMetric".  Exemplo: x = -1; xMetric = "cellMetric"; xOrigin = 0.5; width=2 widthMetric="cellMetric"  Faz com que a operação gráfica tenha largura equivalente a 2 células do grid e sua posição X seja equivalente ao "centro X do token menos 1 célula do grid" (Horizontalmente alinhado) 

 

Métodos

Método Descrição
drawingOp:delete() Remove/Apaga a operação gráfica do Canvas do Item no Scene. 

 

 

Eventos

Nome do evento Descrição
   

 

Exemplos

Exemplo 1 - Um plug-in que adiciona/remove uma marca personalizada quando o usuário clica nos itens do scene.

 

require("scene.lua");   SceneLib.registerPlugin(     function (scene, attachment)                                    -- Manipular o evento OnMouseDown do Viewport                 scene.viewport.onMouseDown = function(event)             -- Usuário clicou no Scene             -- Transformar as coordenadas de tela em métrica de mundo             local worldX, worldY = scene.viewport:screenToWorld(event.x, event.y);                         -- Localizar o item que o usuário clicou             local item = scene.items:itemAtPoint(worldX, worldY);                         if item ~= nil then                 -- Encontrou um item na posição clicada.             *                 **local* NOME_MINHA_MARCA = "MarcaExemplo";                                 -- Localizar uma operação gráfica neste item com o nosso nome                 local opGrafica = item.canvas:findByName(NOME_MINHA_MARCA);                                 if opGrafica == nil then                     --[[ A operação gráfica da minha marca ainda não                         existe neste token/item. Vamos criar ]]                                             opGrafica = item.canvas:addBitmap();                     opGrafica.name = NOME_MINHA_MARCA;                     -- Abaixo, URL da imagem da nossa marca.                     opGrafica.url = "https://wiki.teamfortress.com/w/images/d/dd/Bleed_drop.png?t=20110425044341";                     opGrafica.x = 0.25;                     opGrafica.width = 0.3;                     opGrafica.y = -0.1;                     opGrafica.height = 0.3;                     opGrafica.z = 10;                                       else                     -- Vamos apagar nossa operação gráfica previamente criada                     opGrafica:delete();                 end;             end;                    end;                     end); 

 

Image Item sem a marca Image Item com a marca

 

                           

 

 

Exemplo 2 -

 

 

Created with the Personal Edition of HelpNDoc: Effortlessly Convert Your Word Doc to an eBook: A Step-by-Step Guide