スプライトの速度/動き/座標をスケーリングする方法に関する情報を見つけようとしています。
これが意味することは、スプライトを画面サイズ/ DPI に対して同じ速度で移動させて、画面の一方の側から他方の側に移動するのに同じ量のリアルタイムがかかるようにする方法です。
さまざまなフォーラムで見つけることができるスプライトのスケーリングに関するすべての投稿は、スプライトのサイズに関連していますが、この部分は今のところ問題ありません。スプライトを移動すると、デバイスの dpi / 解像度に応じて速度が異なります。私が理にかなっていることを願っています。
これは私がこれまでに持っているコードで、1 のような明示的な金額を使用する代わりに、次のようなものを使用しています。
platSpeedFloat= (1 * (dpi/160)); //Use '1' so on an MDPI screen, the sprite will move by 1 physical pixel
次に、基本的に私がやっていることは次のようなものです:(以前に宣言されたすべての変数)
platSpeedSave+=platSpeedFloat; //Add the platSpeedFloat value to the current platSpeedSave value
platSpeed=(int) platSpeedSave; //Cast to int so it can be checked in the following statement
if (platSpeed==platSpeedSave) //Check the casted int value to float value stored previoiusly
{floorY=floorY-platSpeed; //If they match then change the Y value
platSpeedSave=0;} //Reset
誰かが助けてくれたらありがたいです-私が理にかなっていることを願っています. 上記は、スプライトがより低い DPI 画面で「より速く」移動するようには機能しないようです。
ありがとう