Pular para conteúdo

Biblioteca SceneLib

Biblioteca SceneLib

Biblioteca que contém funções relacionadas ao Scene 3/Tabuleiro de combate do RRPG

Todas as funções estão contidas na unidade "scene.lua".

 

Exemplo de uso:

-- Primeiro, é necessário usar a unidade "scene.lua" require("scene.lua");    -- Agora é possível acessar as funções da biblioteca SceneLib.FUNCAO_DA_BIBLIOTECA(Parametro1, Parametro2, ...);

 

 

Funções da biblioteca SceneLib

 

function SceneLib.getLoadedScenes()

 

Retorna um array de Scenes que estão rodando no RRPG no momento.

 

Retorno:

  •  
  • Array (tabela lua indexada de 1 a #tabela) de objeto Scene

 

 

function SceneLib.registerPlugin(attachCallback)

 

Registra um plug-in de scene no RRPG.

 

Parâmetros:

  •  
  • attachCallback - Uma função que será invocada para cada Scene rodando ou que vier a ser carregado. Esta função recebe dois parâmetros na seguinte ordem: scene (um objeto Scene) e attachment (um objeto ScenePluginAttachment) representando, respectivamente, o scene o qual o plug-in deve instalar e um objeto que identifica esta ligação entre o plug-in e o scene.

 

Retorno:

  •  
  • Um identificador do plug-in registrado que poderá ser utilizado posteriormente como parâmetro para a função SceneLib.unregisterPlugin para desregistrá-lo.

 

Observações:

  •  
  • Um pacote .rpk (plugin SDK 3) pode instalar mais de um Plug-in de Scene.
  • Um plug-in de scene pode existir mesmo quando não há nenhum Scene rodando no RRPG, não tem problema.
  • Um plug-in de scene pode se anexar a mais de 1 scene ao mesmo tempo! A função "attachCallback" será chamada uma vez para cada Scene existente e uma instância do objeto ScenePluginAttachment será criada para representar cada uma desta ligação "plugin x scene".
  • Assim como um plug-in pode se anexar a vários scenes, um scene pode estar anexado a vários plug-ins. É uma relação N:N (leia-se: N para N).

 

 

Exemplo de um plug-in simples que apenas exibe uma mensagem quando se anexa a um Scene:

require("scene.lua"); require("dialogs.lua");   SceneLib.registerPlugin(     function (scene, attachment)                    showMessage("Plugin anexado a um tabuleiro de tamanho " ..                     scene.worldWidth .. scene.worldMetricName .. " x " ..                     scene.worldHeight .. scene.worldMetricName ..                     " de cor de fundo ".. scene.bkgColor);     end); 

 

 

function SceneLib.unregisterPlugin(pluginID)

 

Desregistra um plug-in de scene do RRPG que fora previamente instalado pela função SceneLib.registerPlugin

 

Parâmetros:

  •  
  • pluginID - O identificador do plugin que deseja desinstalar. Este valor é retornado pela função SceneLib.registerPlugin .

 

 

Observações:

  •  
  • Normalmente não é preciso se preocupar em desregistrar plug-ins de scene pois o RRPG já faz este trabalho automaticamente quando o .rpk é descarregado da memória.

 

 

function SceneLib.Math.newRotationMatrix(angle, pivoX, pivoY)

 

Cria e retorna uma Matriz de rotação 2D

 

Parâmetros:

  •  
  • angle - O ângulo da rotação em graus
  • pivoX - A posição X do pivô da rotação
  • pivoY - A posição Y do pivô da rotação

 

Retorno:

  •  
  • A Matriz de rotação. (Um tipo de dados interno)

 

 

function SceneLib.Math.transformPoint(x, y, matrix)

 

Transforma a posição de um ponto ao multiplicá-lo por uma matriz.

 

Parâmetros:

  •  
  • x - A posição X do ponto
  • y - A posição Y do ponto
  • matrix - Uma matriz de transformação.

 

Retorno:

  •  
  • x - A nova posição X
  • y - A nova posição Y

 

 

function SceneLib.Math.rotatePoint(x, y, angle, pivoX, pivoY)

 

Rotaciona um ponto.

 

Parâmetros:

  •  
  • x - A posição X do ponto
  • y - A posição Y do ponto
  • angle - O ângulo da rotação em graus
  • pivoX - A posição X do pivô da rotação
  • pivoY - A posição Y do pivô da rotação

 

Retorno:

  •  
  • x - A nova posição X
  • y - A nova posição Y

Created with the Personal Edition of HelpNDoc: Modernize your help files with HelpNDoc's WinHelp HLP to CHM conversion tool