0

2Dゲームに最適であると言われているので、正投影を使用するようにプロジェクトを変換しています。クリッピングプレーンの画面パラメータをどのように測定するのか、本当にわかりません。数字をハードコーディングすることはできますが、画面を横向きにするとストレッチが発生します。クリッピングプレーンが画面の端に固定されることを意図しているかどうかさえ本当にわかりませんが、私はさまざまな数値を試してきたので、そのように見えます。数値が大きいほど、描画される形状は小さくなります。そのため、私が入力している数値は、軸の端にすぎないと思います。

私の仮定は正しいですか?

ストレッチを避けるための最良の方法は何ですか?

画面のサイズを見つけるのに最適なコマンドは何ですか?

4

1 に答える 1

0

ああ、ちょうどそれを得た =)

私の onSurfaceChanged メソッドが次のようになっていることに気付きました。

@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
    gl.glViewport(0, 0, width, height);
    gl.glMatrixMode(GL10.GL_PROJECTION);
    gl.glLoadIdentity();
    GLU.gluOrtho2D(gl, -width, width , -height, height);
    gl.glMatrixMode(GL10.GL_MODELVIEW);
    gl.glLoadIdentity();

gl.glViewPort は画面サイズを検出し、少し遊んだ後、行を使用して向きを変更すると、最終的に中央に配置された画像が伸びずに表示されます

GLU.gluOrtho2D(gl, -width, width , -height, height);

これを実装するより良い方法があれば、誰かが私を修正してください =)

于 2011-07-27T07:53:40.867 に答える