2013-12-07 99 views
1

我想用一個SpriteSheet的圖像文件製作動畫,當我運行代碼時,出現標題中顯示的錯誤。TypeError:createjs.Sprite不是構造函數

我的代碼如下所示:

Game.Hero = function (myX, myY) { 
'use strict'; 
var data = new createjs.SpriteSheet({ 
    "images":[Game.imgResSrcs["hero"]], 
    "frames" : { 
     "regX": myX, 
     "height": 60, 
     "regY": myY, 
     "width": 60 
    }, 

    animations: { 
     move: { 
      frames: 
      [0,1,2,3,4,5,4,3,2,1], 
      speed : 0.04 
     }, 
     run: { 
      frames: [1,2,3], 
      speed:0.04 
     } 
    } 
}); 
var startX = myX, 
startY = myY, 
speed = 2, 
my = new createjs.Sprite(data, "move"); 

my.moveTo = function (newX, newY, tween) { 
    var newXpx, newYpx; 
    my.posX = newX; 
    my.posY = newY; 

    Game.stage.update(); 
}; 

我猜它有事情做這一行:我=新createjs.Sprite(數據,「移動」);

我在這裏忘記了什麼,或者可能會產生錯誤?

回答

0

您正在使用:

my = new createjs.Sprite(data, "move"); 

和錯誤是: 類型錯誤:createjs.Sprite是不是構造

所以,似乎你必須改變該行:

my = createjs.Sprite(data, "move"); 

但這很可能不是正確的,因爲所有示例都使用new createjs.Sprite()

可能的原因可能是您沒有在精簡文件中包含精靈。

+1

我其實只是解決了它,現在,我是用過時的createjs框架。我會將你的答案標記爲解決方案..謝謝你的意見。 – SmalliSax

0

儘量做到以下幾點:1。 通過鏈接到CreateJS CDN head標籤內包含在項目中的CreateJS庫:

<script src="https://code.createjs.com/createjs-2015.11.26.min.js"></script> 
  • 創建頁面內容後新CreateJS實例(包括CreateJS庫)實際上被加載:

    function init() { 
        my = new createjs.Sprite(data, "move"); 
        // your code here 
    }; 
    
    // load the create js function when page loaded 
    if (document.readyState === "complete") { 
        init(); 
    } 
    else { 
        window.onload = function() { 
         init(); 
        }; 
    };