AppleのiPadMiniは、私たちが望むよりも多くの点でiPad2の小さなクローンです。JavaScriptでは、window.navigator
オブジェクトはMiniとiPad 2で同じ値を公開します。違いを検出するためのこれまでの私のテストでは、成功には至りませんでした。
何でこれが大切ですか?
iPadMiniとiPad2の画面はピクセルが同じですが、実際のサイズ(インチ/センチメートル)が異なるため、PPI(ピクセル/インチ)も異なります。
使いやすいユーザーインターフェイスを提供するWebアプリケーションやゲームでは、特定の要素のサイズがユーザーの親指または指の位置に応じて調整されるため、特定の画像やボタンを拡大縮小して、ユーザーエクスペリエンスを向上させることができます。
私がこれまでに試したこと(かなり明白なアプローチを含む):
window.devicepixelratio
- CSS要素の幅(cm単位)
- CSSメディアクエリ(や
resolution
など-webkit-device-pixel-ratio
) - 同様のユニットのSVG図面
- 設定された時間にあらゆる種類のCSSWebkit変換を実行し、レンダリングされたフレームをカウントします
requestAnimFrame
(測定可能な違いを検出することを望んでいました)
私はアイデアが新鮮です。君はどうでしょう?
更新 これまでの回答ありがとうございます。Appleにはすべてを支配するための1つのガイドラインがあるので、iPadminiと2の検出に反対票を投じている人々についてコメントしたいと思います。さて、これが私の推論です。人がiPad miniと2のどちらを使用しているかを知ることは、世界中で本当に理にかなっていると思います。そして、私の推論であなたが好きなことをしてください。
iPad miniは、はるかに小さいデバイス(9.7インチ対7.9インチ)であるだけでなく、そのフォームファクターによってさまざまな使用法が可能になります。iPad 2は、チャック・ノリスでない限り、ゲームをするときは通常両手で持っています。miniは小さいですが、はるかに軽量で、片方の手で持ち、もう一方の手でスワイプやタップなどを行うゲームプレイが可能です。ゲームデザイナー兼開発者として、私はそれがミニかどうかを知りたいので、必要に応じてプレーヤーに別のコントロールスキームを提供することを選択できます(たとえば、プレーヤーのグループでのA / Bテストの後)。
なんで?さて、ユーザーの大多数がデフォルト設定を使用する傾向があることは証明された事実です。そのため、プレーヤーがロードするときに、仮想サムスティックを省略し、画面に他のタップベースのコントロールを配置します(ここでは任意の例を示します)。初めてのゲームは、私、そしておそらく他のゲームデザイナーがやりたいと思っていることです。
したがって、私見では、これは太い指やガイドラインの議論を超えており、Appleや他のすべてのベンダーがすべきことです。ガイドラインに従う代わりに、デバイスを一意に識別して異なる考え方をすることができます。