我正在开发一个径向菜单(用于游戏),并且在获取沿路径的文本以完全按照我想要的方式运行时遇到了一些麻烦。这是目前菜单的示例:
我希望所有文本都与它所在的节点的中心对齐,并且 fontSize 足够小以使文本适合可用空间。通过缩放字体并测量宽度直到它适合,这对于纯文本来说是相当简单的:
var fontSize = 19;
var titleText = new Kinetic.Text({
text: title,
fontSize: fontSize ,
fontFamily: 'Calibri',
fill: 'white',
rotationDeg: rotation
});
while (titleText.getWidth() > availableSpace)
titleText.setFontSize(--fontSize);
但是,这种方法不能应用于弯曲的文本,因为(据我所知)没有办法测量字符串沿路径放置时的长度。
当文本沿路径放置时,我应该如何实现文本的居中和缩放?