募集要項

  • ■ボイスの募集は終了しました。

    非常に沢山のご応募ありがとうございました!

     結果はこちら
2017年6月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

« 【Unity Action】 もう4月。 | トップページ | 【Maya】 アンビエントオクルージョンのテクスチャ焼き付け »

2013年4月 2日 (火)

【Unity Tips】 NGUIのUILabel全体の幅の取得と利用例

ちょっとメニュー実装を進める中でUILabelの全体幅が
必要になったので調べてみました。
具体的には以下のような、
「ラベルだけで無く、アイコン(スプライト)も含めた要素をセンタリングしたい」場合等ですね。

130402
※別々の画像をつなぎ合わせてるだけで、実際は縦に連なってるウィンドウではありません。

で、文字幅が分かればすぐ対応できそうだなーと調べ始めたのですが、
UILabelの幅は、transform.localScale.xでは無いという点でちょっと引っかかりました。
Spriteであれば問題ないのですが、UILabelの場合は文字サイズ、縦横比がlocalScaleに該当するので、
ラベル全体の幅を求めたい場合、別の求め方が必要です。
で、ちょうどいい関数がありました。

relativeSize

です。日本語訳で相対サイズかな?
Vector2で、元のlocalScaleに対しての相対スケールが算出されるといった感じでしょうか。

なので、UILabelの横幅は
transform.localScale.x * UILabelオブジェクト.relativeSize.x
で求められるようです。

あとは、その幅に合わせてアイコンの位置に対して
座標を変更させてあげれば、アイコンも含めた動的なセンタリングができました。

といった比較的どうでもいい小ネタでした(゚∀゚;)既に知ってる人多そうだなぁ。

« 【Unity Action】 もう4月。 | トップページ | 【Maya】 アンビエントオクルージョンのテクスチャ焼き付け »

Unity Tips」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1500357/51066204

この記事へのトラックバック一覧です: 【Unity Tips】 NGUIのUILabel全体の幅の取得と利用例:

« 【Unity Action】 もう4月。 | トップページ | 【Maya】 アンビエントオクルージョンのテクスチャ焼き付け »

Twitter等

  • にほんブログ村 ゲームブログ ゲーム制作へ

メールフォーム

  • 直接コンタクト取りたい方はこちらからどうぞ

サイト内検索
ココログ最強検索 by 暴想