Pixi.js: 扩展 Pixi 加载器?

创建于 2019-10-15  ·  3评论  ·  资料来源: pixijs/pixi.js

有没有办法扩展 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 工作原理的更多信息。

祝你好运!

所有3条评论

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 没有特定的东西。 该弃用警告只是让您知道命名空间已更改,但它应该仍然有效。 如果有更微妙的事情发生,如果你可以用一个你看到的黑色矩形的例子来解决一个新问题,也许我们可以提供更优雅的体验。

我将关闭此问题,因为插件问题似乎已解决。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

madroneropaulo picture madroneropaulo  ·  3评论

lunabunn picture lunabunn  ·  3评论

finscn picture finscn  ·  3评论

Makio64 picture Makio64  ·  3评论

st3v0 picture st3v0  ·  3评论