Есть ли способ расширить загрузчик Pixi или написать собственный загрузчик? Я хочу добавить поддержку SVGZ, что в основном означает, что мне нужно сдуть сжатый загруженный контент в правильный SVG, прежде чем Pixi обработает его.
PixiJS v5 представил загрузчику registerPlugin
:
http://pixijs.download/dev/docs/PIXI.Loader.html#.registerPlugin
Это позволяет вам создавать собственное промежуточное программное обеспечение для обработки пользовательских типов мультимедиа. Вот пример того, как это можно сделать:
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);
Вы также можете обратиться к https://github.com/englercj/resource-loader для получения дополнительной информации о том, как работает загрузчик.
Удачи!
Спасибо, Мэтт! Пока что обновление с v4 до v5 вызывает проблемы с загрузчиком - он пишет "Класс PIXI.loaders.Loader перемещен в PIXI.Loader" предупреждение об устаревании и показывает черный прямоугольник на экране до тех пор, пока все изображения не будут загружены.
Есть ли руководство по переходу или примеры того, как переписать старый загрузчик Pixi для использования нового?
У нас есть руководство по миграции на v5: https://github.com/pixijs/pixi.js/wiki/v5-Migration-Guide
Нет ничего особенного для Loader. Это предупреждение об устаревании просто сообщает вам, что пространство имен изменилось, но оно все равно должно работать. Если происходит что-то более тонкое, если вы могли бы создать новую проблему с примером того, что вы видите с черными прямоугольниками, возможно, мы сможем предоставить более изящный опыт.
Я собираюсь закрыть эту проблему, потому что похоже, что вопрос о плагине был решен.
Самый полезный комментарий
PixiJS v5 представил загрузчику
registerPlugin
:http://pixijs.download/dev/docs/PIXI.Loader.html#.registerPlugin
Это позволяет вам создавать собственное промежуточное программное обеспечение для обработки пользовательских типов мультимедиа. Вот пример того, как это можно сделать:
Вы также можете обратиться к https://github.com/englercj/resource-loader для получения дополнительной информации о том, как работает загрузчик.
Удачи!