Objeto SceneDrawingOp

.html ›› .html ›› .html ››
Parent Previous Next

Objeto SceneDrawingOp

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


Herança

O objeto 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:



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.= 0.25;

                    opGrafica.width = 0.3;

                    opGrafica.= -0.1;

                    opGrafica.height = 0.3;

                    opGrafica.= 10;                      

                else

                    -- Vamos apagar nossa operação gráfica previamente criada

                    opGrafica:delete();

                end;

            end;           

        end;

               

    end);




Item sem a marca

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