Class: Loader

PIXI.Loader

new PIXI.Loader (baseUrl, concurrency)

全新的加载器,扩展了Chad Engler的Resource Loader: https://github.com/englercj/resource-loader

const loader = PIXI.Loader.shared; // PixiJS公开了一个预制实例供您使用。
//或
const loader = new PIXI.Loader(); // 您也可以根据需要创建自己的

const sprites = {};

// Chainable `add` to enqueue a resource
// 可链接的`add`使资源进入队列
loader.add('bunny', 'data/bunny.png')
      .add('spaceship', 'assets/spritesheet.json');
loader.add('scoreFont', 'assets/score.fnt');

// 可链接的 `pre` 添加一个为每种资源运行的中间件,在加载该资源*之前*。
// 这对于实现自定义缓存模块(使用文件系统,indexeddb,内存等)很有用。
loader.pre(cachingMiddleware);

// 可链接的 `use` 添加一个为每个资源运行的中间件,在加载该资源*之后*。
// 这对于实现自定义解析模块(如精灵表解析器,骨骼解析器等)很有用。
loader.use(parsingMiddleware);

// `load` 方法加载资源队列,并在所有资源加载完毕后调用传入的回调。
loader.load((loader, resources) => {
    // resources是一个对象,其中key是加载的资源的名称,而value是资源对象。
    // 它们具有几个默认属性:
    // - `url`: 从中加载资源的URL
    // - `error`: 尝试加载时发生的错误(如果有)
    // - `data`: 加载的原始数据
    // 也可以包含其他基于运行的中间件的属性。
    sprites.bunny = new PIXI.TilingSprite(resources.bunny.texture);
    sprites.spaceship = new PIXI.TilingSprite(resources.spaceship.texture);
    sprites.scoreFont = new PIXI.TilingSprite(resources.scoreFont.texture);
});

// 在整个过程中,可以发出多个信号。
loader.onProgress.add(() => {}); // 每个加载/错误的文件调用一次
loader.onError.add(() => {}); // 每个错误文件调用一次
loader.onLoad.add(() => {}); // 每个加载文件调用一次
loader.onComplete.add(() => {}); // 排队的资源全部加载时调用一次。
Name Type Default Description
baseUrl string '' optional

此加载器加载的所有资源的基础URL。

concurrency number 10 optional

要同时加载的资源数量。

See:

Members

PIXI.Loader.shared PIXI.Loader static

加载器的预制实例,可用于加载资源。

onComplete object

onError object

onLoad object

onProgress object

onStart object

Methods

PIXI.Loader.registerPlugin (plugin)PIXI.Loader static

为全局共享的加载器和创建的所有新的Loader实例添加一个Loader插件。

Name Type Description
plugin PIXI.ILoaderPlugin

要添加的插件

Returns:
Type Description
PIXI.Loader PIXI.Loader的引用

Type Definitions

PIXI.Loader.loaderMiddleware (resource, next)

Name Type Description
resource PIXI.LoaderResource
next function