You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PIXI.js 7.1.1调用PIXI.Loader.shared报TypeError错误求助

PIXI.js 7.1.1 中 Loader.shared 报错的解决方案

问题原因

PIXI.js 从v5版本开始就移除了内置的Loader类,v7.1.1版本里完全不存在PIXI.Loader这个全局对象,所以你访问PIXI.Loader.shared会抛出"Cannot read properties of undefined"的错误。当前PIXI的资源加载功能由@pixi/assets模块提供,这是官方指定的替代方案。

修复方案

直接使用PIXI.Assets替代原有的Loader逻辑,它提供了Promise和事件监听两种加载回调方式,以下是两种可行的代码修改示例:

方式一:使用Promise异步加载

import * as PIXI from 'pixi.js';

export default class Symbols {
    constructor(onAssetsLoaded) {
        this.symbolHeight = 40;
        this.symbolSpacing = 120;
        this.symbols = [];
        this.symbolPaths = [];
        this.rngMap = {};

        this.loadAssets(onAssetsLoaded);
    }

    async loadAssets(onAssetsLoaded) {
        try {
            // 添加资源到加载队列并执行加载
            await PIXI.Assets.add('symbols', 'assets/symbol_0_base.png');
            await PIXI.Assets.load('symbols');
            // 加载完成触发回调
            onAssetsLoaded();
        } catch (error) {
            console.error('资源加载失败:', error);
        }
    }
}

方式二:使用事件监听(贴近原Loader用法)

import * as PIXI from 'pixi.js';

export default class Symbols {
    constructor(onAssetsLoaded) {
        this.symbolHeight = 40;
        this.symbolSpacing = 120;
        this.symbols = [];
        this.symbolPaths = [];
        this.rngMap = {};

        this.loadAssets(onAssetsLoaded);
    }

    loadAssets(onAssetsLoaded) {
        // 注册资源
        PIXI.Assets.add('symbols', 'assets/symbol_0_base.png');
        // 监听加载完成事件
        const completeHandler = (assetKey) => {
            if (assetKey === 'symbols') {
                onAssetsLoaded();
                // 移除监听避免重复触发
                PIXI.Assets.off('complete', completeHandler);
            }
        };
        PIXI.Assets.on('complete', completeHandler);
        // 启动加载
        PIXI.Assets.load('symbols');
    }
}

补充说明

  • @pixi/assets是PIXI.js v7的核心资源管理模块,默认已包含在pixi.js包内,无需额外安装。
  • 若需加载多个资源,可直接传入资源键名数组,比如PIXI.Assets.load(['symbols', 'bgImage', 'soundFile'])。

内容的提问来源于stack exchange,提问作者Zurab Skhiladze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 02:40:29