Android ゲームを作成し、AndEngine を使用しています。背景 スプライトの移動速度は、デバイスによって異なります。以下のコードを使用して bgSprite を移動しています。さまざまなデバイスでゲームの速度を一定に保つ方法。
bgSprite1.setPosition(bgSprite1.getX() - 10, bgSprite1.getY());
スプライトを拡張するクラスを作成します。たとえば、私はこれを作成しました(スプライトをいつ破棄するかを知るために使用する変数です(この場合は画面の外にあるとき)):
public class BackgroundMovingLine extends Sprite {
public boolean shouldDie;
private int speed;
BackgroundMovingLine(final int pX,final int pY, final ITextureRegion pTextureRegion, final VertexBufferObjectManager pVertexBufferObjectManager)
{
super(pX,pY,pTextureRegion,pVertexBufferObjectManager);
shouldDie=false;
speed=(new Random()).nextInt(150)+250;
}
@Override
protected void onManagedUpdate(final float pSecondsElapsed) {
float h=this.getY();
h=(h+(speed*pSecondsElapsed));
if(h>800)
{
shouldDie=true;
}
this.setY(h);
}
}
Speed スプライトの移動速度です。ランダムにしましたが、好きなように設定できます。