вторник, 10 января 2012 г.

Как превратить квадратное разбиение в гексогональное?

Рецепт:

1)  Возьмите обычный двумерный массив тайлов. и визуализируйте его на экране (Рис. 1).

Рис. 1

2)  Измените алгоритм визуализации так чтобы каждый ряд был смещён по оси x вправо на i*d/2. где d - ширина тайла, i - номер строки. Получится картина как на рис. 2.

Рис. 2

3) Замените квадратики на шестиугольники (Рис. 3)


Рис.3

4) Готово.

     Из рисунка 3 видно, что в данном массиве возможны перемещения персонажа в направлениях: вверх-вправо (-1,0), вправо (0,1), вниз-вправо (1,1), вниз-влево (1,0),  влево(0,-1), вверх-влево (-1,-1). В скобках проставлены соответствующие изменения индексов.

2 комментария:

  1. Действительно можно, я просто почему-то не сразу догадался как. :) Спасибо.

    ОтветитьУдалить
  2. Спасибо, помогли направления, а то думал как лучше проверять имея координаты 2 гексов, можно ли с одного на другой пройти в один ход.

    ОтветитьУдалить