Unity3Dの公式マニュアル翻訳やってる人がiPhone, Androidでのゲームアプリ開発について記事にしています。Unity3Dでの開発をメインにAsset Storeで入手できるNGUI, Playmakerや, Oculus Riftなど作者サイトからの英語情報を翻訳していきます
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 件のコメント:
コメントを投稿