Existe-t-il un moyen d'étendre le chargeur Pixi ou d'écrire un chargeur personnalisé ? Je souhaite ajouter le support SVGZ, ce qui signifie essentiellement que je dois dégonfler le contenu chargé gzippé en un SVG approprié avant que Pixi ne le traite.
PixiJS v5 a introduit registerPlugin
dans le Loader :
http://pixijs.download/dev/docs/PIXI.Loader.html#.registerPlugin
Cela vous permet de créer votre propre middleware pour gérer les types de médias personnalisés. Voici un exemple approximatif de la façon dont vous pouvez procéder :
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);
Vous pouvez également vous référer à https://github.com/englercj/resource-loader pour plus d'informations sur le fonctionnement de Loader.
Bonne chance!
Merci, Matt ! Jusqu'à présent, la mise à niveau de la v4 à la v5 pose des problèmes avec le chargeur - il écrit un avertissement de dépréciation "PIXI.loaders.Loader class has move to PIXI.Loader" et affiche un rectangle noir sur l'écran jusqu'à ce que toutes les images soient chargées.
Existe-t-il un guide de transition ou des exemples sur la façon de réécrire l'ancien chargeur Pixi pour utiliser le nouveau ?
Nous avons un guide de migration v5 ici : https://github.com/pixijs/pixi.js/wiki/v5-Migration-Guide
Il n'y a rien de spécifique pour Loader. Cet avertissement de dépréciation vous permet simplement de savoir que l'espace de noms a changé, mais cela devrait toujours fonctionner. S'il se passe quelque chose de plus subtil, si vous pouviez un nouveau problème avec un exemple de ce que vous voyez avec des rectangles noirs, nous pouvons peut-être fournir une expérience plus gracieuse.
Je vais clore ce problème car il semble que la question du plugin ait été résolue.
Commentaire le plus utile
PixiJS v5 a introduit
registerPlugin
dans le Loader :http://pixijs.download/dev/docs/PIXI.Loader.html#.registerPlugin
Cela vous permet de créer votre propre middleware pour gérer les types de médias personnalisés. Voici un exemple approximatif de la façon dont vous pouvez procéder :
Vous pouvez également vous référer à https://github.com/englercj/resource-loader pour plus d'informations sur le fonctionnement de Loader.
Bonne chance!