私はラジアル メニュー (ゲーム用) に取り組んでいますが、パスに沿ってテキストを希望どおりに動作させるのに問題があります。現時点でのメニューの例は次のとおりです。
すべてのテキストをノードの中央に配置し、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);
ただし、(私が見る限り)パスに沿って配置された文字列の長さを測定する方法がないため、このアプローチは湾曲したテキストには適用できません。
テキストがパスに沿って配置されている場合、テキストのセンタリングとスケーリングをどのように達成すればよいですか?