0

状況

jqueryプラグイン内でeaseljsを使用していますが、問題なくセットアップできました。ここに私が使用するコードのスニペットがあります:

/**
*
* FUNCTION - SETUP_CANVAS
*
**/
setupcanvas: function() {
    /* Prepare the canvas for Easel interaction */
    params.objHTMLEaselObject = new createjs.Stage("LoL-canvas");

    /* Enable mouse/touch events */
    params.objHTMLEaselObject.mouseEventsEnabled = true;

    params.text = new createjs.Text("Test", "20px Arial", "#ff7700");
    params.text.x = 100;
    params.text.textBaseLine = "alphabetic";

    params.objHTMLEaselObject.addChild(params.text);

    /* Set ticker for the stage */
    createjs.Ticker.setFPS(params.intDesiredFPS);
    createjs.Ticker.addListener("tick", methods.tick());
    console.log('canvas is set up');

},
/**
*
* FUNCTION - TICK
*
**/
tick : function(event) {
    params.intTicks++;
    params.text.set({text: params.intTicks});
    console.log('tick: '+params.intTicks);
    params.objHTMLEaselObject.update();
}

### Properties set elsewhere ###
params.intDesiredFPS = 30;
params.intTicks = 0;

ご覧のとおり、ほとんどのプロパティを JavaScript オブジェクトに設定しています。この機能はすべて問題なく正常に動作します。デフォルトでは、ティッカーはゼロに設定されています。これは変更され、キャンバスは「1」をレンダリングすることで変更を反映します

問題

ティッカーをコールする唯一の方法は、示されているとおりです。通常、ブラケットなしでコールを行いますが、何らかの理由で、イーゼルはそれを好みません。それだけではありません:

1) console.log を実行するとイベントが定義されません

2) ティッカーは実際には 1 回しかティックしません。

ここで私が間違っていることを理解するのを手伝ってくれませんか?

4

1 に答える 1

1

試す

createjs.Ticker.addListener("tick", new function(e) { methods.tick(e); });
于 2013-07-20T07:33:39.103 に答える