Pixi.js: Pixiローダーを拡張しますか?

作成日 2019年10月15日  ·  3コメント  ·  ソース: pixijs/pixi.js

Pixiローダーを拡張したりカスタムローダーを作成したりする方法はありますか? 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を参照することもでき

幸運を!

全てのコメント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を参照することもでき

幸運を!

ありがとう、マット! これまでのところ、v4からv5にアップグレードすると、ローダーに問題が発生します。「PIXI.loaders.LoaderクラスがPIXI.Loaderに移動しました」という非推奨の警告が書き込まれ、すべての画像が読み込まれるまで画面に黒い長方形が表示されます。

新しいものを使用するために古いPixiローダーを書き直す方法の移行ガイドまたは例はありますか?

ここにv5移行ガイドがあります: https

ローダーに固有のものはありません。 この非推奨の警告は、名前空間が変更されたことを通知するだけですが、それでも機能するはずです。 もっと微妙なことが起こっている場合、黒い長方形で見ているものの例で新しい問題が発生する可能性がある場合は、より優雅な体験を提供できるかもしれません。

プラグインの質問が解決されたようですので、この問題を解決します。

このページは役に立ちましたか?
0 / 5 - 0 評価