2013-07-31 53 views
0

我試圖創建一個繪製到stage.mouseYstage.MouseX的座標,但無論我在哪裏點擊的線條是完全一樣的直線向下的中間的eventlisteners。如何畫一條線,從第一個鼠標點擊到第二個,用easel.js

這裏是我的代碼

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

這是你的問題是:

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

它會立即與參數g執行draw功能。它不會等待點擊。問題是,在函數名稱後面加上括號,函數將立即執行。你需要的是對draw函數有一個函數引用。你可以通過使用一個匿名函數

stage.addEventListener('click', function() {draw(g); }); 
+0

好吧我會試一試,謝謝你! –

相關問題