如何使用画架从第一次鼠标点击到第二行绘制一条线

时间:2013-07-31 17:18:16

标签: canvas easeljs

我尝试创建绘制到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();


});

我的长期目标是创建用户创建的多边形,这些多边形是可选择/突出显示的,这是一种方法吗?

1 个答案:

答案 0 :(得分:1)

这就是您的问题所在:

stage.addEventListener('click', draw(g));

它会立即执行带有参数draw的{​​{1}}函数。它不会等待点击。问题是在函数名后跟括号,该函数将立即执行。你需要的是有一个绘图功能的函数引用。您可以使用匿名函数

g