作为EaselJS的新手,我使用了源zip文件打包的“ Simple Sprite Sheet”示例中的代码。我正在尝试加载一张精灵表并进行播放,但是仅出现第一帧。
function init() {
var stage = new Stage(document.getElementById("canvas"));
var ss = new SpriteSheet({
"frames": {
"width": 159,
"numFrames": 71,
"regX": 0,
"regY": 0,
"height": 85
},
"animations":{
"instance1": [0, 0],
"images": ["./assets/spritesheet.png"]
});
var animate = new BitmapAnimation(ss);
animate.x = 0;
animate.y = 0;
ss.getAnimation("instance1").frequency = 2;
ss.getAnimation("instance1").next = "instance1";
animate.gotoAndPlay("instance1");
stage.addChild(animate);
Ticker.setFPS(60);
Ticker.addListener(stage);
}
我不认为我需要股票报价功能,因为我没有注册任何事件,我只是从instance1播放,如果我将
animate.gotoAndPlay("instance1");
替换为,但循环。有什么建议么?提前致谢。 最佳答案
我相信我在另一个网站上回答了这个问题。
问题是Spritesheet格式错误。 “动画”属性是一个对象,其中包含带有开始和结束帧的命名动画。在此示例中,唯一动画的开始和结束帧为[0,0],并且“ images”属性位于动画对象内部。正确的格式可以在这里看到:
https://github.com/CreateJS/EaselJS/blob/master/examples/SimpleSpriteSheet.html
var ss = new SpriteSheet({
"frames": {
"width": 159,
"numFrames": 71,
"regX": 0,
"regY": 0,
"height": 85
},
"animations":{
"instance1": [0, 25] // sample end frame is "25"
},
"images": ["./assets/spritesheet.png"]);
});
希望对其他遇到相同问题的人有所帮助。
干杯,
关于javascript - 用EaselJS加载 Sprite 表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10773896/