0

我正在创建一个游戏,我想在其中使用使用 easeljs 和 spritesheet 的动画。我使用下面的代码来执行此操作,但动画似乎没有出现在我的画布上。这很奇怪,因为也没有错误。我究竟做错了什么?

我的代码:

    stage = new createjs.Stage(canvas);

    sprite = new createjs.SpriteSheet({
    "images": ["./images/vos.png"],
    "frames": [[0, 0, 32, 32, 0, 0, 0], 
              [32, 0, 32, 32, 0, 0, 0], 
              [64, 0, 32, 32, 0, 0, 0], 
              [96, 0, 32, 32, 0, 0, 0]],
    "animations": {"all": {"frames": [0, 1, 2, 3, 2, 1, 0]}

            }
    });

    vos = new createjs.BitmapAnimation(sprite);

    vos.x = 32 + (Math.random() * (canvas.width - 64));
    vos.y = 32 + (Math.random() * (canvas.height - 64));      

    speed=8;

    createjs.Ticker.addListener(window);
    createjs.Ticker.setFPS(24);

    stage.addChild(vos);

    vos.gotoAndPlay('all');
4

1 回答 1

2

您正在使用已弃用的 addListener 方法,并告诉它在 window 上查找 tick 方法:

createjs.Ticker.addListener(window);

你应该改用这个:

createjs.Ticker.addEventListener("tick", function() {
    stage.update();
});

如果它不起作用,你应该看看这里。

于 2013-10-22T18:54:18.450 回答