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