Как мне рекурсивно нарисовать шестнадцатеричную карту в opengl? - PullRequest
3 голосов
/ 18 мая 2011

Я новичок в GL и хотел создать плиточную карту как самоучитель.Я хочу создать маленькую (возможно, 7 гексов ширину / высоту) гекс карту.Моей первой мыслью было создать метод для рисования одного гекса, а затем просто перевести соответствующее смещение и поместить новый гекс.Но это не кажется эффективным.Есть идеи?Alos в качестве дополнительного вопроса, как мне определить, есть ли MotionEvent с данным гексом?

Ответы [ 2 ]

5 голосов
/ 18 мая 2011
2 голосов
/ 18 мая 2011

Чтобы определить, находится ли MotionEvent в определенном гексе, вам нужно преобразовать координаты, переданные через событие motion, в ваши координаты OpenGL World.Это как преобразование в единицу, вы знаете, что экран идет от 0 - WIDTH, а ваш мир GL, скажем, изменяется от -1 до 1.

(xCoord / (Width - 0)) * (1 - (-1)) = xCoordWorld

даст вам xCoord от 0 до 2, затем вычтите 1, чтобы получить его от -1 до 1.

Что касается гексов, которые я всегда использовал«художественные» гексы.Нарисуйте гекс в краске, затем нарисуйте группу квадратов с этим произведением искусства, быстро и легко поменять гекс на другой гекс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...