2015-04-05 88 views
0

我正在嘗試創建一個EaselJS應用程序,它可以讓我拖動畫布周圍的未填充圓圈 - 因此,在設置Shape時,我不打電話beginFill,我會打電話給beginStroke。我遇到了如果我不填充形狀的問題,我只能在選擇形狀的左上角時拖動它。當形狀被填充時,我可以通過選擇形狀內的任何位置來拖動它。有沒有辦法讓未填充的形狀像填充的形狀一樣拖動?拖動沒有填充的形狀

+1

你試過用透明色填充它嗎?我從來沒有專門使用過EasyJS,但是過去曾爲我工作的其他庫。 – 2015-04-06 00:08:29

+1

不幸的是,拖動EaselJS使用鼠標不透明度來確定命中測試(就像所有的鼠標交互一樣)。儘管可以使用1%或2%的不透明度,但填充完全透明不起作用。 @derz提出的hitArea解決方案是最好的選擇。 – Lanny 2015-04-06 17:17:44

回答

4

EaselJS中的面具需要衝程和填充。然而,你可以指定一個其他ShapehitArea

var shape = new createjs.Shape(); 
shape.graphics.beginFill("#000000").drawCircle(0, 0, 40); 

draggableCircle.hitArea = shape; 

請記住,hitArea- Shape沒有被添加到舞臺上,因此將不可見。