3

Android ゲームを作成し、AndEngine を使用しています。背景 スプライトの移動速度は、デバイスによって異なります。以下のコードを使用して bgSprite を移動しています。さまざまなデバイスでゲームの速度を一定に保つ方法。

 bgSprite1.setPosition(bgSprite1.getX() - 10, bgSprite1.getY());
4

1 に答える 1

0

スプライトを拡張するクラスを作成します。たとえば、私はこれを作成しました(スプライトをいつ破棄するかを知るために使用する変数です(この場合は画面の外にあるとき)):

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 スプライトの移動速度です。ランダムにしましたが、好きなように設定できます。

于 2012-10-31T13:46:41.240 に答える