2017-01-02 42 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); 
} 
相關問題