Хорошие способы измерения экрана для использования с ортогональными плоскостями отсечения - PullRequest
0 голосов
/ 27 июля 2011

Эй, я конвертирую свой проект, чтобы он использовал ортогональную проекцию, потому что мне сказали, что он проще и идеально подходит для 2D-игр. Я не знаю, действительно знаю, как я должен измерять параметры экрана для плоскостей отсечения. Я мог бы жестко кодировать числа, но это могло бы вызвать растяжение, когда экран помещен в пейзаж. Я даже не знаю, предназначены ли плоскости отсечения для закрепления на краю экрана, но похоже, что так оно и есть, потому что я пробовал разные числа, и чем больше числа, тем меньше становится нарисованная фигура. Это заставляет меня предположить, что числа, которые я ввожу, являются лишь крайними концами оси.

Верны ли мои предположения?

Каков наилучший способ избежать растяжения?

Какие команды лучше всего подходят для определения размера экрана?

1 Ответ

0 голосов
/ 27 июля 2011

Ах, Ха Только что понял =)

Только что понял, что мой метод 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);

Кто-нибудь исправит меня, если есть лучший способ реализовать это =)

...