Я пытаюсь рисовать прямоугольники с определенным расстоянием по оси х друг к другу. Расстояние от каждого прямоугольника должна бытьAndroid OpenGL ES 2.0 Расчет расстояния по разрешению экрана
(screen width - rectangle width)
так, что только один прямоугольник может быть полностью отображается на экране в то время. И если я перетаскиваю первый прямоугольник влево, часть этого прямоугольника, не отображаемого (или вырезанного) на экране, будет отображаться на втором прямоугольнике.
Проблема в том, что я не мог понять, как рассчитать соотношение ширины моего прямоугольника и ширины экрана. Мои прямоугольные вершины
final float[] rectangleVerticesData = {
// X, Y, Z
-1.0f, 2.0f, 0.0f,
-1.0f, -2.0f, 0.0f,
1.0f, 2.0f, 0.0f,
-1.0f, -2.0f, 0.0f,
1.0f, -2.0f, 0.0f,
1.0f, 2.0f, 0.0f
};
На основании выше, моя ширина прямоугольника равна 2. Я использую таблетки с 1280 пикселей в ширину. Используя приведенную выше формулу, я получил
1280 - 2 = 1278
Когда я запускал программу, ожидаемый выход не так, что я пытаюсь достичь. Когда я перетаскиваю первый прямоугольник, следующий прямоугольник не отображается, даже если первый прямоугольник полностью перетаскивается влево от экрана.
Когда я пробовал дистанционное кодирование до 10, прямоугольники отображаются с таким расстоянием. Я думаю, что 1278 так долго будет расстоянием между ними. Как я могу рассчитать правильное расстояние между треугольниками на основе ширины экрана, чтобы только один прямоугольник мог быть полностью отображен за раз на экране? Любая помощь будет принята с благодарностью. Спасибо.
Спасибо @prabindh за ваш ответ. Наверное, мне нужно больше поэкспериментировать о том, как рассчитать это. – xp15