pixi.js 6.1.2 #2 加载图片资源

2022-02-10  本文已影响0人  IamaStupid

pixi.js 加载图片资源

加载独立的图片文件

   let imgWordsUrlArr = [
      './images/page2_word1.png',
      './images/page2_word2.png',
      './images/page2_word3.png',
      './images/page2_word4.png'
    ]
function words() {
    pixiLoader.add([
      ...imgWordsUrlArr
    ])
    .load(setupWords);
}
function setupWords() {
    let wordSprite = new PIXI.Sprite(pixiLoader.resources[imgWordsUrlArr[0]].texture);
    wordSprite.x  = 100;
    wordSprite.y = 100;
    app.stage.addChild(wordSprite )
}

加载精灵图文件 walk.json / walk.png

  let pixiLoader = new PIXI.Loader();

  pixiLoader
  .add("./images/man1/walk.json")
  .load(setup);

  function setup() {
    let textures = pixiLoader.resources["./images/man1/walk.json"].textures; 

    // 组装纹理
    let array = [];
    Object.keys(textures).sort().forEach((key) => {
      array.push(textures[key]);
    });

    // 创建一个动画序列帧
    let animatedSprite = new PIXI.AnimatedSprite(array);
    animatedSprite.x = 300;
    animatedSprite.y = 300;
    animatedSprite.animationSpeed = 30 / 60; // 动画播放的速度,默认为1,每秒播放60张图片
    animatedSprite.loop = true; // 动画是否循环
    animatedSprite.interactive = true;
    animatedSprite.on('tap', (event) => {
      console.log('tap:', event)
      animatedSprite.stop()
    })
    // 动画完成的回调函数
    // loop:true 动画一直循环,则不会触发
    animatedSprite.onComplete = () => {
      console.log("播放完成");
    };
    // animatedSprite.gotoAndPlay(0); // 从第几帧开始播放

    app.stage.addChild(animatedSprite)

    animatedSprite.play()
  }
上一篇 下一篇

猜你喜欢

热点阅读