4

描画オブジェクトを画面にレンダリングするには、画面の比率を計算する方法がわかりません。また、モバイルと PC では比率の計算が異なります。

世界のタイムステップに問題があるので、この質問をしたいです。

4

1 に答える 1

8

ウィンドウ、画面、画像、またはその他の長方形のオブジェクトのアスペクト比は、単にその幅をその高さで割ったものです。

したがって、たとえば、フルHD画面(幅1920ピクセル、高さ1080ピクセル)では、アスペクト比は次のようになります。

ratio = width / height = 1920 / 1080 = 1.7778

注意:これが、これがアスペクト比1920/1080 == 16/9と呼ばれることが多い理由です。16:9コロンを分割と考えると、画面自体を測定した場合と同じアスペクト比が得られます。

また、興味深い点として、アスペクト比(16:9や1.7778など)と画面の高さ(1080ピクセルなど)がわかっている場合は、次のように乗算することで画面の幅を取得できます。

width = height * ratio = 1080 * 1.7778 = 1920 // round result to nearest integer
// Or, if you remember that 16:9 means 16/9, then:
width = height * ratio = 1080 * (16 / 9) = 1920

同様に、次を除算することで、アスペクト比と幅から画面の高さを取得できます。

height = width / ratio = 1920 / 1.7778 = 1080 // Again, rounding to integer
// Or...
height = width / ratio = 1920 / (16 / 9) = 1080

唯一の本当にトリッキーなことは、一部のモバイルデバイスがアスペクト比を処理する方法が少し混乱する可能性があることです。たとえば、電話を横に回転させると、長辺が画面の幅になり、短辺が高さになると考えるのが自然ですが、IIRC、ほとんどの電話オペレーティングシステムは実際には幅と高さを同じに保ちます画面が基本的に横向きになっているという事実を処理するのはあなたに任せてください。

于 2012-06-05T21:47:55.890 に答える