我试图创建一个按鼠标位置移动的粒子。所以,我创建了一个创建粒子的类。我可以通过调用" handleMouseEvent()"
来添加事件监听器请看这个小提琴:
预期结果是通过鼠标操作移动的两个粒子。但结果是;只有一个粒子在移动,第一个事件监听器被覆盖。
在代码的最底部,您将看到两个创建过程。当我调用两个create procedure时,第二个会覆盖第一个事件监听器。
你能告诉我为什么这段代码不起作用吗?
答案 0 :(得分:1)
我修改了你的小提琴,使用scope
方法的on()
参数,它更清晰。我认为它现在有效(不完全确定你的目的),但它会影响两个粒子。
particleClass.prototype.handleMouseEvent=function(){
stage.on("stagemousemove",function(){
console.log(this.currentX);
this.setXYByMousePosition(stage.mouseX,stage.mouseY);
}, this);
return this;
};