为什么我的添加事件监听器无法正常工作?

时间:2017-01-02 07:11:24

标签: easeljs

这是我的代码。

var _this = this;
var i = 0;
var object;

for (i=1 ; i <5 ; i++){
    object = new lib.A ();
    object.x = 50 * i;
    object.y = 100;
    _this.addChild (object);
    object.on ("tick" , position , true)
}

function position(){
    object.y += 1;
}

我在库中有一个对象并创建并添加到第4阶段的数字。 我想使用addEventListener(tick)向下移动所有对象,但它会移动最后一个对象。

2 个答案:

答案 0 :(得分:0)

您需要引用所点击的对象。在您的代码中,{for循环中object变量会发生变化,因此最后它是最后一个已知值。而是使用事件中单击的目标(在单击处理程序中传递):

function position(event){
    event.currentTarget.y += 1;
}

干杯,

答案 1 :(得分:0)

我希望你的代码中有一个stage来描绘画布,如:

stage = new createjs.Stage("gameCanvas");

我认为你错过stage.update(event),如:

function position(event){
  //....update the poositions
  stage.update(event);
}