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 回答