2014-03-02 47 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