问题描述
我正在尝试实现一个简单的事情-我需要一个圆(或不同路径形状)内的文本并将其视为单个“对象”。我认为Group
对象是最好的解决方案。但是,一旦我将PointText
添加到组中,paperjs的行为就会很奇怪。
请检查此sketch。
该组中是否有文字
new Group([circle,text])
仅点击圆圈的结果
event.item = Group @83
但是如果您不将文本添加到组中,则结果为
event.item = Group @87
hit2.item = Group @87
因此,无论出于何种原因,如果组中有文本,则hitTest的结果为null。
解决方法
的确,这很奇怪,看起来像是库本身的错误。
您可以将它作为新问题发布在这里吗:https://github.com/paperjs/paper.js/issues,我们将尝试尽快进行修复。
作为一种解决方法,如果您知道您的文本包含在其他形状中,则可以直接对其他形状而不是在组中进行点击测试:
h1,h2 {
font-family: vamp;
font-weight: normal;
}
编辑
实际上,我注意到,如果您直接在小组中进行点击测试,这也将起作用:
var hit2 = circle.hitTest(event.point);