有没有办法扩展 Pixi loader 或编写自定义 loader? 我想添加 SVGZ 支持,这基本上意味着我需要在 Pixi 处理它之前将 gzip 加载的内容压缩为适当的 SVG。
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了解有关 Loader 工作原理的更多信息。
祝你好运!
谢谢你,马特! 到目前为止,从 v4 升级到 v5 会导致加载器出现问题 - 它写入“PIXI.loaders.Loader 类已移至 PIXI.Loader”弃用警告并在屏幕上显示黑色矩形,直到加载所有图像。
是否有任何转换指南或示例如何重写旧的 Pixi 加载器以使用新的加载器?
我们在这里有一个 v5 迁移指南: https :
Loader 没有特定的东西。 该弃用警告只是让您知道命名空间已更改,但它应该仍然有效。 如果有更微妙的事情发生,如果你可以用一个你看到的黑色矩形的例子来解决一个新问题,也许我们可以提供更优雅的体验。
我将关闭此问题,因为插件问题似乎已解决。
最有用的评论
PixiJS v5 向加载器引入了
registerPlugin
:http://pixijs.download/dev/docs/PIXI.Loader.html#.registerPlugin
这允许您创建自己的中间件来处理自定义媒体类型。 这是您如何执行此操作的粗略示例:
您还可以参考https://github.com/englercj/resource-loader了解有关 Loader 工作原理的更多信息。
祝你好运!