类型错误:createjs.Sprite不是构造函数

TypeError: createjs.Sprite is not a constructor

本文关键字:构造函数 Sprite createjs 错误 类型      更新时间:2024-04-15

我正试图用一个SpriteSheet图像文件制作动画,当我运行代码时,我得到了标题中显示的错误。

我的代码如下:

 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();
};

我猜这与以下行有关:my=new createjs。精灵(数据,"移动");

我是不是忘记了什么,或者可能是什么导致了错误?

您正在使用:

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

错误为:类型错误:createjs。Sprite不是构造函数

所以,看来你必须把这行改成:

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

但这可能不是正确的,因为所有示例都使用new createjs.Sprite()

可能的原因可能是缩小的文件中没有包含精灵。

尝试执行以下操作:1.通过链接到head标签中的CreateJS CDN,将CreateJS库包括在您的项目中:

<script src="https://code.createjs.com/createjs-2015.11.26.min.js"></script>
  1. 在页面内容(包括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();
        };
    };