2015-04-05 83 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没有被添加到舞台上,因此将不可见。