2017-01-02 2 views
0

Hier ist mein Code.Warum funktioniert mein Add Event Listener nicht korrekt?

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

Ich habe ein Objekt in der Bibliothek und erstellen und fügen Sie Phase 4 Nummer hinzu. Ich möchte mit dem addEventListener (Häkchen) alle Objekte nach unten verschieben, verschiebt aber das letzte Objekt.

Antwort

0

Sie müssen auf das angeklickte Objekt verweisen. In Ihrem Code ändert sich die object Variable in Ihrer for-Schleife, also ist es am Ende der letzte bekannte Wert. Verwenden Sie stattdessen das geklickt Ziel der Veranstaltung (in den Click-Handler übergeben):

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

Cheers,

0

Ich hoffe, dass Sie ein stage irgendwo in Ihrem Code haben die Leinwand zu zeigen, wie in:

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

ich glaube, du verpasst stage.update(event) wie in:

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