2014-03-02 49 views
0

所以我一直在寻找最好的方式来创建一个Javascript的游戏,并决定EaselJS可能会最好的工作(如果有更好的库,请告诉)。如何使用EaselJS创建精灵?

我刚刚开始,但我似乎无法加载一个精灵工作......我不太清楚问题是什么,因为它与画布连接,它正在加载库。 .. 这里是JavaScript控制台错误:

Uncaught TypeError: Cannot read property 'length' of null easeljs-0.7.1.min.j 
s:12 
     b._calculateFrames easeljs-0.7.1.min.js:12 
     b.initialize easeljs-0.7.1.min.js:12 
     a easeljs-0.7.1.min.js:12 
     init index.html:3 
     onload 

所以呀......如果你能帮助我走出那简直太好了......这里是SRC代码:

function init() { 
     var stage = new createjs.Stage(document.getElementById("demoCanvas")); 
     var jazaSheet = new createjs.SpriteSheet ({ 
      "frames": { 
       "width": 15, 
       "height": 16, 
       "numFrames": 8, 
       "regX": 0, 
       "regY": 0 
      }, 
      "animations":{ 
       "walkDown": [0, 1, "walkDown", 2], 
       "images": ["http://imgur.com/bLfR7TO.png"] 
      } 
     }); 
     var jaza = new createjs.Sprite(jazaSheet); 
     jaza.x = 0; 
     jaza.y = 0; 
     jaza.goToAndPlay("walkDown"); 

     stage.addChild(jaza); 
     Ticker.setFPS(60); 
     Ticker.addListener(stage); 
     stage.update(); 
    } 

编辑: 好吧,我已经改变了它的说法,但我仍然无法让它显示在帆布...

function init() { 
var stage = new createjs.Stage(document.getElementById("demoCanvas")); 
var jazaSheet = new createjs.SpriteSheet ({ 
    "frames": { 
     "width": 15, 
     "height": 16, 
     "numFrames": 8, 
     "regX": 0, 
     "regY": 0 
    }, 
    "animations":{ 
     "walkDown": [0, 1, "walkDown", 2] 
    }, 
    "images": ["http://imgur.com/bLfR7TO.png"] 
}); 
var jaza = new createjs.Sprite(jazaSheet); 
jaza.x = 100; 
jaza.y = 100; 
jaza.gotoAndPlay("walkDown"); 

stage.addChild(jaza); 
createjs.Ticker.setFPS(60); 
stage.update(); 

}

回答

0

我接过一看,你可以看到类here的来源。

基本上,您的参数对象中有拼写错误。 就拿images对象了animations

var jazaSheet = new createjs.SpriteSheet ({ 
     "frames": { 
      "width": 15, 
      "height": 16, 
      "numFrames": 8, 
      "regX": 0, 
      "regY": 0 
     }, 
     "animations":{ 
      "walkDown": [0, 1, "walkDown", 2] 
     }, 
     "images": { 
      ["http://imgur.com/bLfR7TO"] 
     } 
    }); 

说明:

_calculateFrames()函数使用私有变量images。行464与array.length创建一个循环作为一个参数。由于数组为null(参数输入错误),因此引发TypeError异常。

+0

...你的意思是说''图像“:[”http://imgur.com/bLfR7TO.png“]'?我认为这解决了我的问题,谢谢。但是现在我得到一个错误,说'Sprite'没有办法去玩。你知道我应该使用什么方法吗? – tanishalfelven

+0

查看GitHub中的类(/src/easeljs/display/Sprite.js行:293)。检查您是否正确键入函数名称; “gotoAndPlay” – supertopi

+0

它工作?还有什么问题?如果您有答案,请考虑关闭此问题。 – supertopi