![]() |
клеточный мир, где клетка - правильный шестиугольник
Подскажите, пожалуйста, как разбить мир в игре на клетки, где каждая клетка - правильный шестиугольник?
|
2 greegreeman:
Вопрос, который не даёт людям покоя после успеха Fallout... Разбить можно. Только врядли вам кто-то тут ответит, как именно. Вопрос из разряда "Как сделать 3D-игру". |
тогда может я себе просто усложнил все ) мне надо чтобы шарики сталкивались и прилипали друг к другу и между ними чтобы не было зазора. для этого я хочу разбить мир, где они летают на шестиугольники и если шарик попал не в центр шестиугольника (а это будет почти всегда) смещать его туда самому. тем самым все шарики будут в нужных мне координатах.
|
2 greegreeman:
Как по мне, вам лучше тогда уж взглянуть в сторону каких-то физических движков. Если шарики - это у вас кружочки, то можете взглянуть на Box 2D. |
я с помощью него и сделал все ) но никак не могу добиться, чтобы шарики замирали в нужный момент без зазоров между ними. решил делать это сам. по своему алгоритму, т.к. с бокс2д этот момент не получился, а подсказать мне никто не смог. гуглил перегуглил все...
Добавлено через 2 минуты у меня шарики с коэффициентом упругости. и они при столкновении отлететь успевают на некоторое расстояние друг от друга, и только потом замирают. я решил, раз иначе никак, то надо их руками сблизить уже после столкновения. для этого надо помещать их точно в центр шестиугольника, на который разбит весь мир... может и правда усложнил |
2 greegreeman:
Не можете добиться отсутствия зазоров из-за каких-то проблем с определением столкновений и реакцией на них в Box 2D, либо сами не можете правильно описать то, что хотите? |
Если вам нужно упорядоченное расположение шариков, например вы делаете арканойд, где шарики весят наверху, а вы сбиваете их по нужным цветам. То вам надо делать клеточный мир.
А если не нужна упорядоченная структура. То проще проверять столкновение, посчитав расстояние между центрами окружностей, и если расстоение между ними меньше или равно сумме радиусов окружностей, то они столкнулись, и мы можите их останавливать/слеплять. |
замучался сам описывать. уверен, что в бокс2д это можно сделать без проблем. просто у меня не получается
Добавлено через 2 минуты первый вариант. мне надо упорядоченное расположение шариков |
Ну если вам нужен клеточный мир, то это не проблема, вы же знаете относительные координаты каждой клетки. вот и центрируйте их. к этим координатам. Шарик отлетел, Потом смотришь ближайшую координату по умолчанию, и перемещаешь объект в эту координату.
|
да. так я и решил сделать. но я не знаю как сделать клетки шестиугольными. с квадратоми проще.
|
| Часовой пояс GMT +4, время: 06:40. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.