2012-04-05 9 views
3

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

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

+0

アスペクト比の問題については、こちらをご覧ください:http://stackoverflow.com/questions/9198932/dealing-with-different-aspect-ratios-in-libgdxまたはこちら:http://blog.acamara.es/2012/ 02/05/keep-screen-aspect-ratio-with-different-resolutions-using-libgdx /。 –

答えて

5

ウィンドウ、スクリーン、イメージ、または他の長方形のオブジェクトの縦横比は、単にその幅をその高さで割ったものです。

ので、例えば、フルHDの画面(高1080ピクセル、幅1920ピクセル)で、アスペクト比は次のとおりです。これは、多くの場合、16:9と呼ばれている理由です:1920/1080 == 16/9こと

ratio = width/height = 1920/1080 = 1.7778 

お知らせアスペクト比。コロンを分割として考えると、画面自体を測定したのと同じアスペクト比になります。関心のも

:あなたはアスペクト比を知っていれば(例えば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の場合、ほとんどの電話オペレーティングシステムは実際には幅と高さを同じに保ちますスクリーンが基本的にその側に傾いているという事実を処理するためにあなたに任せてください。

関連する問題