为什么addListener不是函数?

时间:2014-01-14 11:52:22

标签: javascript easeljs ticker

我正在使用EaselJS,我的任务是从右向左移动.png。 由于我遇到了一个我无法解决的错误,我复制了一个具有相同目标的工作,并使用createjs.Ticker.addListener来保持所有更新。我用附带的javascript打开了另一个index.html,它运行得很好。我继续使用此代码作为示例,但使用了我的图形。它几乎是相同的代码,但它仍然告诉我“TypeError:createjs.Ticker.addListener不是一个函数”我不知道为什么示例工作正常,但我的代码搞砸了。

<html>
    <head>
        <title>Title</title>
        <link rel="stylesheet" type="text/css" href="css/style.css">
        <script src="js/easeljs.js"></script>

    <script>

        var canvas, stage, child;

        function draw () {

            canvas = document.getElementById("canvas");
            stage = new createjs.Stage( canvas );

            var bg = new createjs.Bitmap( "bg.png" );
            stage.addChild( bg );

            var child = new createjs.Bitmap( "target.png" );
            child.onTick = function ()
            {
                this.x --;
            }


            stage.addChild( child );
            child.y = 100;
            child.x = 100;


            createjs.Ticker.useRAF = true;
            createjs.Ticker.setFPS( 1 );
            createjs.Ticker.addListener( stage , true );
            createjs.Ticker.addListener( window , true );
        }

    </script>

</head>
<body onload="draw()">
    <canvas id="canvas" width="650" height="400" style="background: #ccc;"></canvas>
</body>
</html>

EDIT 找到错误。这不是代码,是easylJS库本身带来了复杂性。我使用了不同版本的库并且它有效。无论如何,谢谢你:)。

1 个答案:

答案 0 :(得分:1)

您所追求的功能是addEventListener

像这样:

createjs.Ticker.addEventListener("tick", handleTick);
function handleTick() {
    stage.update();
}

CreateJS Ticker Documentation