2017-01-02 92 views
0

这是我的代码。为什么我的添加事件侦听器无法正常工作?

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)向下移动所有对象,但它移动了最后一个对象。

回答

0

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

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

干杯,

0

我希望你有一个stage地方在你的代码描绘在画布上,如:

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

我想你错过了stage.update(event)为:

function position(event){ 
    //....update the poositions 
    stage.update(event); 
} 
相关问题