гексогональная тайловая карта(изометрия)
Пример шестиугольной изометрии :
Может кто лучше предложит а? Код:
Function dot(x0,y0,x1,y1,x2,y2) |
Ответ: гексогональная тайловая карта(изометрия)
Отправной точкой явилась статья http://hale32bit.blogspot.com/
|
Ответ: гексогональная тайловая карта(изометрия)
Все это давно известно и можно прочитать В свойствах правильного шестиугольника, например тут xD
http://ru.wikipedia.org/wiki/Правильный_шестиугольник |
Ответ: гексогональная тайловая карта(изометрия)
Цитата:
|
Ответ: гексогональная тайловая карта(изометрия)
Цитата:
|
Ответ: гексогональная тайловая карта(изометрия)
Цитата:
Закрасить экран шестиугольниками и сделать поиск пути, такой же как на экране? |
Ответ: гексогональная тайловая карта(изометрия)
Не используй стандартное 2D в блице, оно использует DirectDraw - а это старый подход, и не использует аппаратного ускорения, а налегает на CPU.
Лучше всего было бы генерировать геометрию используя вершины и трианглы, и рисовать такое дело в виде одного сюрфейса. И рендер будет шустрее, и будет возможность нормально затекстурить и т.п. Либо заюзать FastImage и их возможность рисовать трианглы (DrawPoly вроди). |
Ответ: гексогональная тайловая карта(изометрия)
Да собственно меня устраивает ,просто думал может есть способ подругому вычислять попадание мыши в шестигранник .
А так ,захотелось попробовать гексо-тайлы . |
Ответ: гексогональная тайловая карта(изометрия)
То как ты делаешь - ужасно, математика умеет это намного лучше:
http://www.playchilla.com/how-to-che...side-a-hexagon |
Ответ: гексогональная тайловая карта(изометрия)
Вот спасибо попробую ... я так и думал что есть более удобное вычисление.
|
Ответ: гексогональная тайловая карта(изометрия)
Некоторое продолжение ...
Код:
Dim r_map(27,29) ;<- for the in game map |
Ответ: гексогональная тайловая карта(изометрия)
Сразу скажу ,что код нужно оптимизировать . но думаю как концепция какой-нибудь игры пойдёт
|
Ответ: гексогональная тайловая карта(изометрия)
я все равно не понял как это делается.Кто может обьяснить подробнее,или ссылку на хороший и понятный расклад по полочкам.Мне нужно по нажатию мыши по гексу определить, к какой ячейке массива он пренадлежит.Так как карта в массиве,или лучше как у вас в типе ее держать?
|
Ответ: гексогональная тайловая карта(изометрия)
Для меня лучше в типе держать ( гибче) ,хотя можно и в массиве .
так там при запуске выводится номера ячеек (в левом верхнем углу). |
Ответ: гексогональная тайловая карта(изометрия)
Вот пример с пояснениями
Код:
;--------------- функция проверки точки в гексагоне --------------------------------------------------- Кстати ,кому может понадобиться изображения тайлов ,качаем здесь : http://rpg-maker.info/gallery/-rpg-m...-xp/animations |
Ответ: гексогональная тайловая карта(изометрия)
Вложений: 1
Улучшенное перемещение , некоторые изменения в коде.
Код:
картинка во вложении |
Ответ: гексогональная тайловая карта(изометрия)
Вложений: 1
Появились новые текстуры...
Код:
Распаковать архив в папку с сохранённой программой !( в архиве необходимые текстуры) |
Ответ: гексогональная тайловая карта(изометрия)
Спасибо кажется разобрался.Если возникнут вопросы на которые сам не найду решения,задам.Надеюсь поможешь.(это не вопрос а задумка:мне нужно будет знать какие номера саседних гексов будут находится вокруг игрока,что бы узнать проходимый или нет).Если знаешь сразу ответ не откажусь от подсказки.
|
Ответ: гексогональная тайловая карта(изометрия)
Так номера вычислить просто . Берём номер ячейки персонажа ,например 2,4 _(i,j) ,тогда номера вокруг персонажа будут ,при моей форме гексов
_____ 2,4-2 _____ 2,4-1| 2,4 | 2+1,4-1 2,4+1 ______ 2+1,4+1 _____|2,4+2 |______ |
Ответ: гексогональная тайловая карта(изометрия)
Вложений: 1
Продолжаем ...
Теперь можно добавлять новых героев (нажав на клавиатуре цифру 1 Так же несколько изменён код Продолжение следует ... :) |
Ответ: гексогональная тайловая карта(изометрия)
Итак начнём сначала и постепенно будем усложнять .
Здесь :
Код:
;_______________________________________________________________________________ |
Ответ: гексогональная тайловая карта(изометрия)
Добавил загрузку карты .
Прежде чем запустить этот код создайте карту в редакторе катры (он ниже) Код:
;_______________________________________________________________________________ Редактор карты : Код:
;_______________________________________________________________________________ |
Ответ: гексогональная тайловая карта(изометрия)
Аффтар посмотри как это дело реализовано в БМаксовском фрэймворке DW Lab. - там все с открытыми исходниками.
|
Ответ: гексогональная тайловая карта(изометрия)
Цитата:
Кстати , в основной программе нужно поменять путь : LoadMap( "D:\vitalii\blitz\гексы\maps2.txt") например на: LoadMap( "maps2.txt") А то будет выдавать что файла не существует |
Ответ: гексогональная тайловая карта(изометрия)
Полный путь не обязательно писать. Можно написать путь из папки игры. Например: "map\maps2.txt"
|
Ответ: гексогональная тайловая карта(изометрия)
А я о чём !
|
Ответ: гексогональная тайловая карта(изометрия)
Абсолютные пути, конечно не допустимы, как было сказано - используй относительные пути к файлам.
Так вот я и посоветовал, прежде чем что то усложнять - посмотри как это делается ;) возможно появятся новые идеи и мысли по реализации. |
Ответ: гексогональная тайловая карта(изометрия)
Спасибо за совет ,в принципе у меня особой цели или идеи нет ,так баловство. Ну и конечно интересно . А вообще , думаю тем кто начинает или продолжает Блиц игрострой ,тоже интересно. Тем более по гексагонам тема на русском мало освещена , зато по ромбам инфы в достатке.
Так отдельная просьба присмотреться к этой теме может чем поможешь али посоветуешь. |
Ответ: гексогональная тайловая карта(изометрия)
Добавил скроллинг по карте ,мини карту :
Код:
|
Ответ: гексогональная тайловая карта(изометрия)
Причём по мини карте можно кликнуть . Перемещение карты ,так же осуществляется мышью , достаточно подвести мышь к краям экрана .
|
Часовой пояс GMT +4, время: 22:08. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot