2012年9月5日水曜日

NGUI画面サイズを取得する場合の注意


皆さんはゲーム開発のときに画面サイズを取得したスクリプト書いていたりしますか?

マルチプラットフォーム対応する場合はハードコードせずに対応したいもの。

その際に注意すべきフラグなどもあることが分かったため、今回は作者サイトから関連FAQを翻訳した:
http://www.tasharen.com/forum/index.php?topic=1214
July 31, 2012, 05:07:51 PM

質問
NGUIでのUI作成を順調に進めている。そのなかで悩んでいることがあるんだけど、状況としてはカメラをプラットフォームの解像度に合わせるなかで、今は解像度の異なる画面サイズにあうように自分でオブジェクトの大きさを手動指定している。

問題はScreen.widthをコールして画面横幅を取得してるが、Unity Editorの画面サイズしか値が取得できてないがために、カメラの座標系とずれちゃっていること。(つまり、カメラは1280×720でUI Rootになっているんだけど、Unity Editorが16:9の小さい画面にしているような状況とか)NGUIが相対サイズを計算してくれることは分かっているんだけど、どうも自身で変更できる方法がわからず、読取り専用なので困ってます。どうやったらカメラの表示範囲での画面サイズを取得できるんでしょう?pixelHeightもpixelWidthを使ってもエディタの画面サイズの各々の高さ、幅の値を取得してしまっている様子。

回答
UIRootのautomaticチェックボックスを外してみて。それだけで画面サイズが読取り専用でなくて手動指定できるようになるよ。
-----

知らなかったけど画面サイズを取得するだけでもオフにすべきパラメータがあるのか。これは盲点だね。

勉強してマスターしようぜ!NGUI。

0 件のコメント:

コメントを投稿

ブックマークに追加

このエントリーをはてなブックマークに追加

自己紹介

自分の写真
Unity3D公式マニュアル翻訳やってる人がスマホ(iPhone, Android)のゲーム開発しています。気軽に面白く初心者が遊べる内容がモットー。Blogでは開発情報をひたすら、Twitterではゲーム作成の過程で参考にしている情報を中心につぶやきます

ページビューの合計

過去7日間の人気投稿

ブログ アーカイブ