我尝试创建绘制到stage.mouseY
stage.MouseX
坐标的eventlisteners,但无论我在哪里点击该线,都是从中间直线下方完全相同的。
这是我的代码
Ext.onReady( function(){
var g;
canvas = document.getElementById('Canvas');
var stage = new createjs.Stage(canvas);
function draw(a){
var mousex = stage.mouseX;
var mousey = stage.mouseY;
a.lineTo(mousex, mousey);
}
g = new createjs.Graphics();
g.setStrokeStyle(1);
g.beginStroke(createjs.Graphics.getRGB(0,0,0));
g.beginFill(createjs.Graphics.getRGB(255,0,0));
stage.addEventListener('click', draw(g));
g.lineTo(0,50);
var s = new createjs.Shape(g);
s.x = 100;
s.y = 100;
stage.addChild(s);
stage.update();
});
我的长期目标是创建用户创建的多边形,这些多边形是可选择/突出显示的,这是一种方法吗?
答案 0 :(得分:1)
这就是您的问题所在:
stage.addEventListener('click', draw(g));
它会立即执行带有参数draw
的{{1}}函数。它不会等待点击。问题是在函数名后跟括号,该函数将立即执行。你需要的是有一个绘图功能的函数引用。您可以使用匿名函数
g