
Panthera Runtime - Uma biblioteca definida projetada para integrar animações criadas com o Panthera 2.0 Editor , um software de animação versátil, em projetos definidos. Essa biblioteca de tempo de execução simplifica o processo de importação e reprodução de animações do Panthera, aprimorando a qualidade visual e a interatividade dos jogos e aplicativos definidos.
Leia o Guia do Editor do Panthera 2.0 para aprender sobre o editor do Panthera 2.0, uma ferramenta inovadora desenvolvida usando o mecanismo defold, projetado para simplificar e aprimorar a criação de animações para projetos definidos.
Abra seu arquivo game.project e adicione as seguintes linhas ao campo Dependências na seção do projeto:
Defold Tweener
https://github.com/Insality/defold-tweener/archive/refs/tags/3.zip
Panthera Runtime
https://github.com/Insality/panthera/archive/refs/tags/runtime.4.zip
Depois disso, selecione Project ▸ Fetch Libraries para atualizar as dependências da biblioteca. Isso acontece automaticamente sempre que você abrir um projeto para que você só precisará fazer isso se as dependências mudarem sem reabrir o projeto.
Nota: O tamanho da biblioteca é calculado com base no relatório de construção por plataforma
| Plataforma | Tamanho da biblioteca |
|---|---|
| Html5 | 12,42 KB |
| Desktop / Mobile | 21.35 KB |
Nota: A recarga a quente foi projetada apenas para uso em ambientes de desenvolvimento. A recarga a quente funciona apenas para animações a partir de arquivos JSON. Se você estiver usando uma tabela Lua para animações, a recarga a quente não funcionará.
O Panthera Runtime suporta recarregamento a quente de animações para um fluxo de trabalho de desenvolvimento mais eficiente. Esse recurso permite que as animações sejam recarregadas automaticamente sem reiniciar seu jogo definido, facilitando a iteração rápida em ativos de animação.
Para ativar a recarga a quente das animações, inclua as seguintes configurações em seu game.project arquivo:
[panthera]
hotreload_animations = 1Detalhes da configuração:
1 para ativar a recarga a quente. Esse recurso está ativo apenas no modo de depuração.Implementando recarregar a quente em Defold:
Para utilizar a recarga quente, configure um ouvinte de eventos de janela em seu script definido que desencadeia panthera.reload_animation() quando a janela do jogo ganha foco. Isso garante que as animações sejam atualizadas automaticamente durante o desenvolvimento:
local panthera = require ( " panthera.panthera " )
-- Reload animation when window is focused, only for debug and on desktop
window . set_listener ( function ( _ , event )
if event == window . WINDOW_EVENT_FOCUS_GAINED then
panthera . reload_animation ()
end
end ) panthera . create_gui ( animation_path_or_data , [ template ], [ nodes ])
panthera . create_go ( animation_path_or_data , [ collection_name ], [ objects ])
panthera . create ( animation_path_or_data , adapter , get_node )
panthera . clone_state ( animation_state )
panthera . play ( animation_state , animation_id , [ options ])
panthera . stop ( animation_state )
panthera . set_time ( animation_state , animation_id , time )
panthera . get_time ( animation_state )
panthera . get_duration ( animation_state , animation_id )
panthera . is_playing ( animation_state )
panthera . get_latest_animation_id ( animation_state )
panthera . set_logger ([ logger_instance ])
panthera . reload_animation ([ animation_path ])Leia o arquivo de referência da API para ver a documentação completa da API para o módulo.
Integre as animações do Panthera em Defold com esses exemplos concisos:
Carregue e reproduza um arquivo de animação usando o adaptador GO.
local panthera = require ( " panthera.panthera " )
local animation = require ( " path.to.panthera_animation " )
function init ( self )
self . animation = panthera . create_go ( animation )
panthera . play ( self . animation , " run " , { is_loop = true })
endEste exemplo aplica uma animação de corrida em loop a um objeto de jogo quando o jogo começa.
Carregue e reproduza um arquivo de animação usando o adaptador GUI.
local panthera = require ( " panthera.panthera " )
local animation = require ( " path.to.panthera_animation " )
function init ( self )
self . animation = panthera . create_gui ( animation )
panthera . play ( self . animation , " fade_in " )
endEste exemplo aplica uma animação de desbotamento a um nó GUI quando o jogo começa
Verifique se uma animação está tocando e recupere o ID de animação atual.
local panthera = require ( " panthera.panthera " )
function init ( self )
-- You can use JSON instead of Lua tables, but it should be accessible with sys.load_resource()
self . animation = panthera . create_gui ( " /animations/animation.json " )
local is_playing = panthera . is_playing ( self . animation )
local animation_id = panthera . get_latest_animation_id ( self . animation )
if is_playing then
print ( " The animation is currently playing: " , animation_id )
else
print ( " The animation is not playing " )
end
endAo integrar as animações do Panthera 2.0 com os objetos de jogo definido (GOS), é essencial saber quais propriedades você pode animar:
Por padrão, o Sprite Components usa a propriedade tint e os componentes de etiqueta usam a propriedade color . Panthera Tente usar a propriedade color . Para ativar a propriedade color você deve definir o material do componente sprite como /panthera/materials/sprite.material ou usar qualquer outro material com atributo color .
Leia o guia de mistura de animação para aprender a misturar várias animações simultaneamente na mesma entidade, criando animações complexas e em camadas que aprimoram a fidelidade visual e o dinamismo do seu jogo.
Embora o Panthera Runtime forneça um adaptador padrão para objetos de jogo e GUI, pode ser necessário personalizar seu adaptador com base nas necessidades do seu projeto. Leia a personalização do seu guia adaptador para aprender como mapear os tipos de flexibilização, lidar com eventos personalizados e use seu adaptador personalizado com o Panthera Runtime.
O tempo de execução do Panthera é licenciado sob a licença do MIT - consulte o arquivo de licença para obter detalhes.
Para quaisquer problemas, perguntas ou sugestões, crie um problema.
Leia o Changelog para saber sobre as atualizações e recursos mais recentes no Panthera Runtime.
Seu apoio me motiva a continuar criando e mantendo projetos para definir . Considere apoiar se você achar os meus projetos úteis e valiosos.