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) 自动收报机实际上只滴答一次。

请你能帮我理解我在这里做错了什么,我很困惑,在这种情况下使用时,文档和互联网提供的信息很少。

4

1 回答 1

1

尝试

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