
Panthera Runtime : una biblioteca Defold diseñada para integrar animaciones creadas con el editor Panthera 2.0 , un software de animación versátil, en proyectos Defold. Esta biblioteca de tiempo de ejecución simplifica el proceso de importación y reproducción de animaciones de Panthera, mejorando la calidad visual y la interactividad de los juegos y aplicaciones defold.
Lea la guía del editor Panthera 2.0 para conocer el editor Panthera 2.0, una herramienta innovadora desarrollada utilizando el motor DeFold, diseñado para simplificar y mejorar la creación de animaciones para proyectos Defold.
Abra su archivo game.project y agregue las siguientes líneas al campo Dependencias en la sección del proyecto:
Defold tweener
https://github.com/Insality/defold-tweener/archive/refs/tags/3.zip
Tiempo de ejecución de Panthera
https://github.com/Insality/panthera/archive/refs/tags/runtime.4.zip
Después de eso, seleccione Project ▸ Fetch Libraries para actualizar las dependencias de la biblioteca. Esto sucede automáticamente cada vez que abre un proyecto, por lo que solo tendrá que hacerlo si las dependencias cambian sin volver a abrir el proyecto.
Nota: El tamaño de la biblioteca se calcula en función del informe de compilación por plataforma
| Plataforma | Tamaño de la biblioteca |
|---|---|
| Html5 | 12.42 KB |
| Escritorio / móvil | 21.35 kb |
Nota: La recarga en caliente está diseñada solo para su uso en entornos de desarrollo. La recarga en caliente solo funciona para animaciones de archivos JSON. Si usa una mesa Lua para animaciones, la recarga en caliente no funcionará.
Panthera Runtime admite la recarga en caliente de animaciones para un flujo de trabajo de desarrollo más eficiente. Esta característica permite que las animaciones se vuelvan a cargar automáticamente sin reiniciar su juego Defold, facilitando la rápida iteración en los activos de animación.
Para habilitar la recarga en caliente de las animaciones, incluya la siguiente configuración en su game.project .
[panthera]
hotreload_animations = 1Detalles de configuración:
1 para habilitar la recarga en caliente. Esta característica está activa solo en modo de depuración.Implementación de la recarga caliente en Defold:
Para utilizar la recarga en caliente, configure un oyente de eventos de ventana en su script Defold que desencadena panthera.reload_animation() cuando la ventana de juego gana se enfoca. Esto asegura que las animaciones se actualicen automáticamente durante el desarrollo:
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 ])Lea el archivo de referencia de API para ver la documentación de API completa para el módulo.
Integre las animaciones de Panthera en Defold con estos ejemplos concisos:
Cargue y reproduce un archivo de animación usando el 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 ejemplo aplica una animación de ejecución de bucle a un objeto de juego cuando comienza el juego.
Cargue y repite un archivo de animación utilizando el 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 ejemplo aplica una animación de desvanecimiento a un nodo GUI cuando comienza el juego
Compruebe si actualmente se está reproduciendo una animación y recupere la ID de animación actual.
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
endAl integrar las animaciones de Panthera 2.0 con los objetos de juego Defold (GOS), es esencial saber qué propiedades puede animar:
De forma predeterminada, Sprite Components utiliza la propiedad tint y los componentes de la etiqueta usan la propiedad color . Panthera intenta usar la propiedad color . Para habilitar la propiedad color , debe establecer el material del componente Sprite en /panthera/materials/sprite.material o usar cualquier otro material con atributo color .
Lea la Guía de mezcla de animación para aprender a combinar múltiples animaciones simultáneamente en la misma entidad, creando animaciones complejas y en capas que mejoran la fidelidad visual y el dinamismo de su juego.
Si bien Panthera Runtime proporciona un adaptador predeterminado para objetos de juego y GUI, es posible que deba personalizar su adaptador en función de las necesidades de su proyecto. Lea la guía de adaptador personalizada para aprender a mapear los tipos de facilidad, manejar eventos personalizados y use su adaptador personalizado con Panthera Runtime.
El tiempo de ejecución de Panthera tiene licencia bajo la licencia MIT: consulte el archivo de licencia para obtener más detalles.
Para cualquier problema, pregunta o sugerencia, cree un problema.
Lea el ChangeLog para conocer las últimas actualizaciones y funciones en Panthera Runtime.
Su apoyo me motiva a seguir creando y manteniendo proyectos para Defold . Considere apoyar si encuentra mis proyectos útiles y valiosos.