TypeError:createjs.Sprite 不是构造函数

Posted

技术标签:

【中文标题】TypeError:createjs.Sprite 不是构造函数【英文标题】:TypeError: createjs.Sprite is not a constructor 【发布时间】:2013-12-25 01:02:32 【问题描述】:

我正在尝试使用 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.Sprite(data, "move");

我是否在这里忘记了什么或可能导致错误的原因?

【问题讨论】:

【参考方案1】:

您正在使用:

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

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

所以,看来您必须将该行更改为:

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

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

可能的原因可能是您在压缩文件中没有包含 Sprite。

【讨论】:

其实我现在刚刚解决了,我使用的是过时的 createjs 框架。不过,我会将您的答案标记为解决方案。谢谢您的意见。【参考方案2】:

尝试执行以下操作: 1. 通过在 head 标签内链接到 CreateJS CDN,将 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();
        ;
    ;
    

【讨论】:

以上是关于TypeError:createjs.Sprite 不是构造函数的主要内容,如果未能解决你的问题,请参考以下文章

TypeError:“TypeError:函数名称不是 HTMLButtonElement.onclick (/:2:54) 处的函数”

反应本机获取多标记[未处理的承诺拒绝:TypeError:TypeError:未定义不是对象(评估'this.state.markers.map

Django TypeError - TypeError: issubclass() arg 1 必须是一个类

pyspark:TypeError:'float'对象不可迭代

Python 3.8 TypeError: can't concat str to bytes - TypeError: a bytes-like object is required, not 's

TypeError: key 必须是一个字符串,一个缓冲区或一个对象在 typeError 与 GCP 文件存在