2017-01-02 12 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-loop, поэтому в конце это последнее известное значение. Вместо того, чтобы использовать щелкнул цель из события (передается в обработчик щелчка):

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); 
}