工房瓦版

創作関係の趣味ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【吉里吉里】getTextWidth()を使用する場合の注意

文字列を画面幅基準で中央に配置したい場合、表示位置の計算は下記のとおりです。

ウィンドウ幅÷2-文字列幅÷2

ウィンドウ幅はkag.scWidthです。
文字列幅はgetTextWidth()で取得できます。
ただし取得のための記述においては、下記の2つを区別することが重要です。

A kag.current.font.getTextWidth('文字の位置')
B kag.current.lineLayer.font.getTextWidth('文字の位置')

AはdrawText()を用いる場合の文字列幅が返され、通常のKAGで文字描画した場合の幅を返しません。
下画像①はAで求めた値をdrawTextで使用したものです。
②がAで求めた値を通常のKAGによる文字描画で用いたものです([ch text="文字の位置"]と同じ)。

②で正しく画面中央に配置されないのはAを使っているからです。Bで計算すると③になります。

screenshot_0_20151107231145cfc.jpg

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://kuonkobo.blog82.fc2.com/tb.php/975-0bc9122a
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

まとめ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。