Apakah ada cara untuk memperpanjang pemuat Pixi atau menulis pemuat khusus? Saya ingin menambahkan dukungan SVGZ yang pada dasarnya berarti saya perlu mengempiskan konten yang dimuat dengan gzip ke SVG yang tepat sebelum Pixi memprosesnya.
PixiJS v5 memperkenalkan registerPlugin
ke Loader:
http://pixijs.download/dev/docs/PIXI.Loader.html#.registerPlugin
Ini memungkinkan Anda membuat middleware sendiri untuk menangani jenis media khusus. Berikut adalah contoh kasar tentang bagaimana Anda dapat melakukan ini:
const SVGZLoaderPlugin = {
add() {
// handle loading SVGZ files as an ArrayBuffer
PIXI.LoaderResource.setExtensionXhrType(
'svgz', LoaderResource.XHR_RESPONSE_TYPE.BUFFER);
PIXI.LoaderResource.setExtensionLoadType(
'svgz', LoaderResource.LOAD_TYPE.XHR);
},
use(resource, next) {
// deflate SVGZ
next();
}
};
PIXI.Loader.registerPlugin(SVGZLoaderPlugin);
Anda juga dapat merujuk ke https://github.com/englercj/resource-loader untuk informasi lebih lanjut tentang cara kerja Loader.
Semoga beruntung!
Terima kasih, Mat! Sejauh ini peningkatan dari v4 ke v5 menyebabkan masalah dengan loader - ia menulis peringatan penghentian "PIXI.loaders.Loader telah pindah ke PIXI.Loader" dan menunjukkan persegi panjang hitam di layar sampai semua gambar dimuat.
Apakah ada panduan transisi atau contoh cara menulis ulang pemuat Pixi lama untuk menggunakan pemuat baru?
Kami memiliki panduan migrasi v5 di sini: https://github.com/pixijs/pixi.js/wiki/v5-Migration-Guide
Tidak ada sesuatu yang spesifik untuk Loader. Peringatan penghentian itu hanya memberi tahu Anda bahwa namespace berubah, tetapi seharusnya masih berfungsi. Jika ada sesuatu yang lebih halus terjadi, jika Anda dapat masalah baru dengan contoh apa yang Anda lihat dengan persegi panjang hitam, mungkin kami dapat memberikan pengalaman yang lebih anggun.
Saya akan menutup masalah ini karena sepertinya pertanyaan plugin telah diselesaikan.
Komentar yang paling membantu
PixiJS v5 memperkenalkan
registerPlugin
ke Loader:http://pixijs.download/dev/docs/PIXI.Loader.html#.registerPlugin
Ini memungkinkan Anda membuat middleware sendiri untuk menangani jenis media khusus. Berikut adalah contoh kasar tentang bagaimana Anda dapat melakukan ini:
Anda juga dapat merujuk ke https://github.com/englercj/resource-loader untuk informasi lebih lanjut tentang cara kerja Loader.
Semoga beruntung!