Pixi.js: ¿Ampliando el cargador Pixi?

Creado en 15 oct. 2019  ·  3Comentarios  ·  Fuente: pixijs/pixi.js

¿Hay alguna forma de extender el cargador Pixi o escribir un cargador personalizado? Quiero agregar compatibilidad con SVGZ, lo que básicamente significa que necesito desinflar el contenido cargado con gzip a un SVG adecuado antes de que Pixi lo procese.

Comentario más útil

PixiJS v5 introdujo registerPlugin en Loader:
http://pixijs.download/dev/docs/PIXI.Loader.html#.registerPlugin

Esto le permite crear su propio middleware para manejar tipos de medios personalizados. Aquí hay un ejemplo aproximado de cómo puede hacer esto:

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

También puede consultar https://github.com/englercj/resource-loader para obtener más información sobre cómo funciona el cargador.

¡Buena suerte!

Todos 3 comentarios

PixiJS v5 introdujo registerPlugin en Loader:
http://pixijs.download/dev/docs/PIXI.Loader.html#.registerPlugin

Esto le permite crear su propio middleware para manejar tipos de medios personalizados. Aquí hay un ejemplo aproximado de cómo puede hacer esto:

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

También puede consultar https://github.com/englercj/resource-loader para obtener más información sobre cómo funciona el cargador.

¡Buena suerte!

¡Gracias Matt! Hasta ahora, la actualización de v4 a v5 causa problemas con el cargador: escribe "La clase PIXI.loaders.Loader se ha movido a PIXI.Loader" y muestra un rectángulo negro en la pantalla hasta que se cargan todas las imágenes.

¿Hay alguna guía de transición o ejemplos de cómo reescribir el antiguo cargador Pixi para usar el nuevo?

Tenemos una guía de migración v5 aquí: https://github.com/pixijs/pixi.js/wiki/v5-Migration-Guide

No hay algo específico para Loader. Esa advertencia de desaprobación solo le permite saber que el espacio de nombres cambió, pero aún debería funcionar. Si está sucediendo algo más sutil, si pudiera un nuevo problema con un ejemplo de lo que está viendo con rectángulos negros, tal vez podamos brindarle una experiencia más elegante.

Voy a cerrar este problema porque parece que la pregunta del complemento se resolvió.

¿Fue útil esta página
0 / 5 - 0 calificaciones