Pixi.js: Estendendo o carregador Pixi?

Criado em 15 out. 2019  ·  3Comentários  ·  Fonte: pixijs/pixi.js

Existe alguma maneira de estender o carregador Pixi ou escrever um carregador personalizado? Quero adicionar suporte a SVGZ, o que basicamente significa que preciso esvaziar o conteúdo carregado com gzip para um SVG adequado antes que Pixi o processe.

Comentários muito úteis

PixiJS v5 introduziu registerPlugin no carregador:
http://pixijs.download/dev/docs/PIXI.Loader.html#.registerPlugin

Isso permite que você crie seu próprio middleware para lidar com tipos de mídia personalizados. Aqui está um exemplo aproximado de como você pode fazer isso:

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);

Você também pode consultar https://github.com/englercj/resource-loader para obter mais informações sobre como o Loader funciona.

Boa sorte!

Todos 3 comentários

PixiJS v5 introduziu registerPlugin no carregador:
http://pixijs.download/dev/docs/PIXI.Loader.html#.registerPlugin

Isso permite que você crie seu próprio middleware para lidar com tipos de mídia personalizados. Aqui está um exemplo aproximado de como você pode fazer isso:

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);

Você também pode consultar https://github.com/englercj/resource-loader para obter mais informações sobre como o Loader funciona.

Boa sorte!

Obrigada, Matt! Até agora, a atualização de v4 para v5 causa problemas com o carregador - ele escreve "PIXI.loaders.Loader class mudou para PIXI.Loader" aviso de descontinuação e mostra um retângulo preto na tela até que todas as imagens sejam carregadas.

Existe algum guia de transição ou exemplos de como reescrever o antigo carregador do Pixi para usar o novo?

Temos um guia de migração v5 aqui: https://github.com/pixijs/pixi.js/wiki/v5-Migration-Guide

Não há algo específico para o Loader. Esse aviso de descontinuação apenas permite que você saiba que o namespace mudou, mas ainda deve funcionar. Se houver algo mais sutil acontecendo, se você pudesse criar um novo problema com um exemplo do que está vendo com retângulos pretos, talvez possamos fornecer uma experiência mais elegante.

Vou encerrar este problema porque parece que a questão do plug-in foi resolvida.

Esta página foi útil?
0 / 5 - 0 avaliações