1

AndEngineを使用して、常に360度回転するボールの単純なスプライトを作成しようとしています。回転は正常に機能しています。ただし、ボールの画像はポートレートモードでのみ歪んで見えます。

肖像画:

ここに画像の説明を入力してください

風景:

ここに画像の説明を入力してください

ポートレートモードでは、ボールが上向きに伸びているように見えます。何が原因なのかわかりません。ボールを完全に円形に保ちたいだけです。

誰かが尋ねた場合に備えて..ボールの画像は完全に円形で、200pxx200pxです。

これが私のコードです:

Ball = new Sprite(100, 100, 200, 200, this.BallRegion);

LoopEntityModifier EntityModifier = 
             new LoopEntityModifier(new RotationModifier(10, 0, 360));          
Ball.registerEntityModifier(EntityModifier);

scene.attachChild(Ball);

私の解決策:

    this.mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
    return new org.anddev.andengine.engine.Engine(new EngineOptions(true,
            null, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT),
            this.mCamera));
4

2 に答える 2

0

自分でそれを理解しました。AndEngine でライブ壁紙の向きの変更を処理するには、次のコードを使用できます。

@Override
public void onConfigurationChanged(Configuration newConfig)
{
    if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT)
    {
        scene.setScale(1);
    }
    else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
    {
        scene.setScaleX(480.0f / 720.0f);
        scene.setScaleY(1.0f);
    }

            //Rebuilds the scene. onLoadScene() calls to this method.
    BuildScene();

}

解決ポリシーに応じて値を変更する必要がある場合がありますが、これは私にとっては完全に機能します。

于 2012-09-16T19:51:56.530 に答える