O Objeto SceneDrawingOp representa uma operação gráfica de um SceneCanvas .
O objeto SceneDrawingOp herda de SceneBaseObject e possui também todas as suas características.
Esta é uma classe abstrata e você nunca encontrará um objeto SceneDrawingOp vivo sem ser uma das seguintes classes:
Além das características herdadas, o objeto SceneDrawingOp também possui as seguintes características:
Propriedade |
Tipo |
Descrição |
objectType |
String:
|
(Somente Leitura) Contém um texto que identifica o tipo da operação gráfica e pode conter um dos seguintes valores:
|
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:
|
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:
|
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:
|
drawingTrigger |
Conjunto:
|
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:
|
outOfOrderMode |
Enumerado:
|
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:
|
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étodo |
Descrição |
drawingOp:delete() |
Remove/Apaga a operação gráfica do Canvas do Item no Scene. |
Nome do evento |
Descrição |
|
|
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); |
|
Item com a marca |
|
Created with the Personal Edition of HelpNDoc: Effortlessly Convert Your Word Doc to an eBook: A Step-by-Step Guide