pixi.js已经使用资源加载器 loader,但图片却渲染不出来

使用loader加载图片

引用自gpt

  1. 首先需要使用 PIXI 的 Loader 类或 PIXI.Loader.shared 加载图片资源。这可以通过以下代码实现:
import * as PIXI from 'pixi.js';

// 创建 PIXI Loader 实例
const loader = PIXI.Loader.shared;

// 添加要加载的图片资源
loader.add('image', 'path/to/image.png');

// 监听加载完成事件
loader.load(() => {
  console.log('图片资源加载完成');
});
  1. 创建 Sprite 对象在加载完成事件中,可以创建 PIXI.Sprite 对象来表示加载完成的图片资源。以下是一个示例代码:
  2. // 在加载完成事件中创建 Sprite 对象
    const texture = loader.resources.image.texture;
    const sprite = new PIXI.Sprite(texture);
  3. 设置 Sprite 对象的属性在创建 Sprite 对象后,可以设置其在舞台中显示的位置、缩放比例、旋转角度等属性。以下是一些常用的属性设置方法:
    sprite.anchor.set(0.5, 0.5); // 设置锚点
    sprite.position.set(100, 100); // 设置位置
    sprite.scale.set(0.5, 0.5); // 设置缩放比例
    sprite.rotation = 0.5; // 设置旋转角度
     
  4.  将 Sprite 对象添加到舞台中最后,将创建好的 Sprite 对象添加到 PIXI 应用的舞台中,这可以使用 PIXI.Application 实例中的 stage 属性来实现:
    const app = new PIXI.Application(/* options */);
    
    // 将 Sprite 对象添加到舞台中
    app.stage.addChild(sprite);

在上述步骤完成后,图片就会被渲染到屏幕上了。完整代码如下:

import * as PIXI from 'pixi.js';

const app = new PIXI.Application({
  width: 800,
  height: 600,
});
document.body.appendChild(app.view);

const loader = PIXI.Loader.shared;
loader.add('image', 'path/to/image.png');
loader.load(() => {
  const texture = loader.resources.image.texture;
  const sprite = new PIXI.Sprite(texture);
  sprite.anchor.set(0.5, 0.5);
  sprite.position.set(app.screen.width / 2, app.screen.height / 2);
  app.stage.addChild(sprite);
});

 原因:pixijs的版本不对 原来他们是6.2.0,虽然现在的package.json里面也是6.2.0但,package-lock.json里还有一些东西。卸载pixijs再重新安装就行了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果使用的是Pixi.js最新版本,没有`PIXI.Loader`类的情况下,可以使用`PIXI.Loader.shared`来预加载多个图片,并且可以通过监听`onProgress`事件来显示载入进度,载入完成后可以使用回调方法来处理完成的事件。 以下是一个示例代码,它可以预加载两个图片,并在载入过程中显示进度条,载入完成后会调用回调方法: ```javascript // 创建一个加载 const loader = PIXI.Loader.shared; // 添加要预加载图片 loader.add('image1', 'path/to/image1.png'); loader.add('image2', 'path/to/image2.png'); // 监听进度事件 loader.onProgress.add((loader, resource) => { console.log(`Progress: ${loader.progress}%`); }); // 载入完成后的回调方法 loader.load((loader, resources) => { console.log('All resources loaded'); // 在回调方法中创建精灵并添加到舞台 const sprite1 = new PIXI.Sprite(resources['image1'].texture); const sprite2 = new PIXI.Sprite(resources['image2'].texture); app.stage.addChild(sprite1, sprite2); }); ``` 在上面的代码中,使用`PIXI.Loader.shared`来获取一个共享的加载,然后使用`add`方法添加要预加载图片。`onProgress`事件会在每个资源载入时被触发,它的回调函数会接收两个参数:`loader`表示加载对象,`resource`表示当前正在加载资源对象。在回调函数中可以根据`loader.progress`属性显示进度条。 最后,在`load`方法中传入回调函数,这个函数会在所有资源加载完成后被调用。在回调函数中可以根据`resources`参数获取每个资源的`texture`属性,然后创建精灵并添加到舞台中。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值