
Panthera Runtime - Perpustakaan DeFold yang dirancang untuk mengintegrasikan animasi yang dibuat dengan editor Panthera 2.0 , perangkat lunak animasi serbaguna, ke dalam proyek yang diturunkan. Perpustakaan runtime ini menyederhanakan proses mengimpor dan memutar kembali animasi Panthera, meningkatkan kualitas visual dan interaktivitas game dan aplikasi yang dihiasi.
Baca Panduan Editor Panthera 2.0 untuk mempelajari tentang Editor Panthera 2.0, sebuah alat inovatif yang dikembangkan menggunakan mesin defold, yang dirancang untuk menyederhanakan dan meningkatkan pembuatan animasi untuk proyek defold.
Buka file game.project Anda dan tambahkan baris berikut ke bidang dependensi di bawah bagian Proyek:
Defold Tweener
https://github.com/Insality/defold-tweener/archive/refs/tags/3.zip
Runtime Panthera
https://github.com/Insality/panthera/archive/refs/tags/runtime.4.zip
Setelah itu, pilih Project ▸ Fetch Libraries untuk memperbarui dependensi perpustakaan. Ini terjadi secara otomatis setiap kali Anda membuka proyek sehingga Anda hanya perlu melakukan ini jika dependensi berubah tanpa membuka kembali proyek.
CATATAN: Ukuran perpustakaan dihitung berdasarkan laporan pembuatan per platform
| Platform | Ukuran perpustakaan |
|---|---|
| Html5 | 12.42 kb |
| Desktop / seluler | 21.35 kb |
Catatan: Hot Reloading dirancang untuk digunakan di lingkungan pengembangan saja. Hot Reload hanya berfungsi untuk animasi dari file JSON. Jika Anda menggunakan meja LUA untuk animasi, pemuatan ulang panas tidak akan berfungsi.
Panthera Runtime mendukung pemuatan ulang animasi yang panas untuk alur kerja pengembangan yang lebih efisien. Fitur ini memungkinkan animasi untuk dimuat ulang secara otomatis tanpa memulai kembali game defold Anda, memfasilitasi iterasi cepat pada aset animasi.
Untuk mengaktifkan pemuatan ulang animasi yang panas, sertakan pengaturan berikut dalam file game.project Anda. Project:
[panthera]
hotreload_animations = 1Detail Konfigurasi:
1 untuk mengaktifkan pemuatan ulang panas. Fitur ini hanya aktif dalam mode debug.Menerapkan Hot Reload di Defold:
Untuk memanfaatkan pemuatan ulang panas, siapkan pendengar acara jendela di skrip defold Anda yang memicu panthera.reload_animation() ketika jendela game mendapatkan fokus. Ini memastikan bahwa animasi disegarkan secara otomatis selama pengembangan:
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 ])Baca file referensi API untuk melihat dokumentasi API lengkap untuk modul.
Mengintegrasikan animasi Panthera menjadi ditentukan dengan contoh -contoh singkat ini:
Muat dan mainkan file animasi menggunakan adaptor 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 })
endContoh ini menerapkan animasi Looping Run ke objek game saat game dimulai.
Muat dan mainkan file animasi menggunakan adaptor 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 " )
endContoh ini menerapkan animasi fade-in ke simpul GUI saat game dimulai
Periksa apakah animasi sedang diputar dan mengambil ID animasi saat ini.
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
endSaat mengintegrasikan animasi Panthera 2.0 dengan objek game defold (GOS), penting untuk mengetahui properti mana yang dapat Anda berikan:
Secara default, komponen sprite menggunakan properti tint dan komponen label menggunakan properti color . Panthera mencoba menggunakan properti color . Untuk mengaktifkan properti color , Anda harus mengatur bahan komponen sprite ke /panthera/materials/sprite.material atau menggunakan bahan lain dengan atribut color .
Baca panduan campuran animasi untuk mempelajari cara memadukan banyak animasi secara bersamaan pada entitas yang sama, menciptakan animasi yang kompleks dan berlapis yang meningkatkan kesetiaan visual dan dinamisme gim Anda.
Sementara Panthera Runtime menyediakan adaptor default untuk objek game dan GUI, Anda mungkin perlu menyesuaikan adaptor Anda berdasarkan kebutuhan proyek Anda. Baca Panduan Kustomisasi Adaptor Anda untuk mempelajari cara memetakan jenis pelonggaran, menangani acara khusus, dan menggunakan adaptor khusus Anda dengan Runtime Panthera.
Panthera Runtime dilisensikan di bawah lisensi MIT - lihat file lisensi untuk detailnya.
Untuk masalah, pertanyaan, atau saran apa pun, silakan buat masalah.
Baca Changelog untuk mempelajari tentang pembaruan dan fitur terbaru di Panthera Runtime.
Dukungan Anda memotivasi saya untuk terus membuat dan memelihara proyek untuk dihapus . Pertimbangkan mendukung jika Anda menemukan proyek saya bermanfaat dan berharga.