Как получить одинаковые размеры игровых элементов на разных размерах и разрешении экрана Android - PullRequest
1 голос
/ 18 января 2012

Я пытаюсь иметь похожий размер моего игрового объекта на разных устройствах Android, что означает разные размеры экрана и разрешения, есть ли способ, например, пересчитать, например, 1 см в пиксели.

Я имею в виду, что пересчитать его в сторону разрешения и размера экрана и получить количество пикселей, которое соответствует реальному размеру.

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

Ответы [ 2 ]

1 голос
/ 19 января 2012
  1. Используйте методы getHeight () и getWidth (), чтобы получить высоту и ширину вида вашей игры.
  2. Определите все размеры игрового объекта относительно высоты и ширины вашего вида.

Кроме того, не вызывайте getHeight () и getWidth () из конструктора вашего View, это вернет 0, так как ваша поверхность View еще не создана. Я использую SurfaceView для своей игры и вызываю эти методы в методе SurfaceCreated ().

1 голос
/ 18 января 2012

Использование экрана dpi может работать. Этот пост объясняет, как получить его с помощью DisplayMetrics.

...