2017-12-06 25 views
0

ゲームの実際のサイズに応じて、異なる数の要素をゲームに表示します。出力をスケーリングするだけでなく、幅と高さが同じ論理ピクセルで作業します。 20個の要素がiPad上で大きく見え、30個の要素がiPhone上で小さすぎます。Unityを使ってiOSシミュレータで物理的な画面サイズを取得する方法は?

私はScreen.dpiと一緒にScreen.widthとScreen.heightを使って物理的な画面サイズを計算しています。それから、私は小、中、大のシナリオを決めます。

しかし、iOSシミュレータでは、私にのScreen.dpiが与えられます。残念ながら、私はすべてのiPadsとiPhoneを利用できるわけではありません。これは、物理的なiPhone 6S +とiPadエア2.

これはユニティのバグまたはシミュレータの正常な動作です上大丈夫働いていましたか?

良い方法がありますか?または、iPhoneとiPadの既存のモデルごとにデバイスDPIのリストを本当に維持する必要がありますか?

Unity 2017.2.0p3; XCodeの9.1

答えて

0

あなたはScreen.dpiドキュメントを読んでいる場合:

これは、アプリケーションを実行している画面添付または物理デバイス の実際のDPIです。現在のDPIを と判断できない場合は0を返します。

シミュレータは、物理デバイスではないので、それは0を返しますし、シミュレータは、他の多くの物理的特性に欠けるとして、それは正常な動作です。

あなたは、ターゲット・デバイスの種類を検出するために、Device.generationを使用することができます。可能な値DeviceGenerationを調べて、dpi for each deviceをチェックして要素を設定します。

あなたにも、シミュレータのために働くDPIを取得するために、独自の拡張機能を作成することができます。

希望します。

関連する問題