-1

ボックス2dで多重解像度の問題に直面しています。

まず、ボディを多重解像度にする必要がありました。頂点をスケール係数でスケーリングすることで解決しました。

今、私はすべての異なる解像度のデバイスの同じように行動する力を作る必要があります、それを行う方法はありますか?

このコード行をすべてのデバイスで同じように機能させたい

obj.getBody().applyForce( new Vector2(0, -220), obj.getBody().getWorldCenter());

ここで220は、この式でマルチ解像度にする必要がある要因です。

public float getY(float value) {
    y = (value / 540) * 100;
    return (y / 100) * CAMERA_HEIGHT;
}

ここで540は基本解像度です。多重解像度にするためにgetY(220)を呼び出します。

このコードを解像度540*960で使用すると正常に動作しますが、デバイスを解像度720 * 1280に変更すると、ゲームの動作が非常に遅くなります。誰かがこの問題で私を助けることができますか?私は自分の質問を説明しようとしました。前もって感謝します。

4

2 に答える 2

2

カメラをデバイスのピクセル数以外に設定して、グラフィックを拡大縮小します。

Andengineは、スケーリングのために他のすべてを行います。

デバイスから取得する必要があるのは、xピクセルとyピクセルの比率だけです。

このリンクにある例では、1つの変数を設定するだけで、すべてがそれに合わせてスケーリングされます。http://pastebin.com/WWGFvTVS

したがって、作業する初期スケールを決定し、スケールを気にせずにBox2Dの作業を行うだけです。シーンを見ているカメラをスケーリングする必要があります。

私はこれらの他の人と同じことを言っています、あなたは彼らを理解していないようです。

于 2013-05-01T21:36:58.653 に答える
1

物理学をスケーリングしないでください。グラフィックを拡大縮小します。シミュレーションを異なるデバイスで同じにするために、各解像度間で物理座標系を共有する必要があります。

于 2013-03-11T11:51:30.507 に答える