【问题标题】:Spritesheet animation easeljs-0.7.1.min.jsSpritesheet 动画 easeljs-0.7.1.min.js
【发布时间】:2014-06-28 18:18:38
【问题描述】:

我正在尝试制作一个不断循环的 spritesheet 动画,但我的代码出现了问题。图像没有显示在屏幕上并且仍然出现此错误:未捕获的类型错误:无法读取 null 的属性“move_obj”。有人可以帮我解决这个问题吗?

function init() {
    canvas = document.getElementById("canvas");
    stage = new createjs.Stage(canvas);
    score = 0;

     var munt = new Image();
     munt.src = "imgs/sprite.png"; 
     munt.onload = Tiltie;

}

function Tiltie(event){

    var munt = event.target;
    var container = new createjs.Container();
    stage.addChild(container);

    var spriteSheet  =  new createjs.SpriteSheet(
        munt, //image to use
        100, //width of each sprite
        100, //height of each sprite
        {   
            move_obj: [0, 9]
        });


    bmpSeq = new createjs.BitmapAnimation(spriteSheet);

    bmpSeq.regX = bmpSeq.spriteSheet.frameWidth/2|0;
    bmpSeq.regY = bmpSeq.spriteSheet.frameHeight / 2 | 0;

    bmpSeq.gotoAndPlay("move_obj");

    bmpSeq.currentFrame = 0;
    stage.addChild(bmpSeq);



    Ticker.addListener(window);
    // Best Framerate targeted (60 FPS)
    Ticker.setInterval(17);
}

【问题讨论】:

  • 您使用的是什么版本的 CreateJS?这段代码看起来相当陈旧,您的一些方法已被弃用和删除。

标签: html animation easeljs sprite-sheet


【解决方案1】:

老Q :) 虽然不太熟悉这个版本,我可以推荐使用新的 EaselJS v0.8.0+ 吗? 至于 Spritesheet Animations,我已经为 EaselJS 构建了一个基本设置,您所要做的就是声明一些参数,然后就完成了。 此外,我的设置使用了来自 EaselJS 的一些新的额外库,它们提供对 WebGL 的支持,包括一些修复,check it out here

如果您需要任何帮助,请告诉我,干杯

【讨论】: