SVG в разработке игр для рисования карты с движением карты - PullRequest
4 голосов
/ 12 мая 2011

Я планирую нарисовать "карту" (города, реки, дороги и т. Д.), Используя svg. Таким образом, ВСЕ объект будет нарисован в одном svg-изображении, и будут отображаться (видны) только те, которые находятся внутри видимой области.

Вопрос 1:

Это разумный подход? Или мне лучше позаботиться о том, какие конкретные объекты нужно рисовать?

Одна из функций, которую я хочу реализовать, - «перетаскивать» карту. Планируется работать следующим образом: пользователь наведет курсор мыши где-нибудь внутри карты, нажмет кнопку мыши и переместит мышь. Поэтому некоторые объекты выйдут за пределы видимой области, а другие будут нарисованы.

Вопрос 2:

Лучше изменить координаты видимого объекта, чтобы сместить его в соответствии с движением мыши? Или лучше изменить «видимую область» (угадайте, это должно быть возможно через манипулирование параметрами svg-объекта viewbox)?

Большое спасибо! Любые идеи приветствуются!

Ответы [ 3 ]

3 голосов
/ 12 мая 2011

Для меня это звучит немного похоже на Полимапс .Если вы намеревались обслуживать большой основной документ svg, тогда предпочтительнее использовать метод плиточных многопользовательских карт.

0 голосов
/ 12 мая 2011

На лучший подход сильно повлияет то, насколько большим и сложным будет ваш single SVG.

Возможно, вы захотите создать быстрый эксперимент с более крупной и более сложной картой образцов раньше, чем позже, и подготовить ее к простому панорамированию (вы можете попробовать svgpan , прежде чем тратить время на создание своего своя). Это не обязательно должна быть полностью связная карта - вы можете повторить несколько репрезентативных фигур и при этом получить хороший тестовый пример.

Если ваша примерная карта плавно перемещается в браузерах, которые вас интересуют, вы можете избежать сложности разбиения (или иного отображения частей целого).

Если вы посчитаете это резким и медленным, то предложение @Erik Dahlstrom о взгляде на Polymaps будет следующим вариантом (но это требует гораздо больше работы на стороне сервера, поэтому было бы неплохо избежать).

0 голосов
/ 12 мая 2011

Я ни в коем случае не профессионал и не очень хороший программист, но я раньше работал с svg maps и думаю, что это разумный подход, svg может хранить много данных, и если у вас есть хороший рендерердолжен быть в состоянии не отставать.Что касается вопроса 2, я бы сказал: измените окно просмотра, в противном случае вы обнаружите, что меняете координаты каждого объекта SVG, многие люди создали код панорамирования для изображения SVG, поэтому сделайте быстрый поиск в Google, и это должно помочь,

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