Warhammer 40K Galaxy Map - Первые шаги. Шаг 1
Говорила мне мама... то есть прочитанная когда-то давно умная статейка "Сначала пиши диздок, а потом уже код!" Но руки слишком уж чешутся.
Решил отложить на потом возникшие в предыдущем посте нестыковки и вопросы и начать с малого. Убираем (прячем, но не удаляем) все лишнее, концентрируемся на относительно небольшом, но оттого не менее важном, сегментуме Solar. Рисуем в фотошопе сеточку, чтобы удобнее было ориентироваться. Немного подправляем масштаб (у меня после импорта карты, с которой рисовал, расстояние между "кольцами" было по полтора юнита, сделал кратно одному).
Также переносим панель, на которой будет впоследствии отображаться инфа о планетах, секторах и прочем, влево, где она меньше мешает. Да и таким образом сектор Solar и Святая Терра оказываются у нас ровно в центре экрана. Размеры секторов я таки подогнал под те, что были на более подробной карте. И да, сектор Armageddon у нас теперь таки L-образный.
Смотрится, аккуратненько, работать становится приятнее. Пишем простенькие скриптики на подсветку сегментума и секторов при наведении мышки и увеличение масштаба при клике. Изначальная задумка (к чему я и писал про диздок) была такая: кликаем на сегментум, он приближается, кликаем на сектор, он приближается, кликаем на субсектор, кликаем на систему, кликаем на планету или другой объект... Ну и так далее. То есть типичная такая древовидная структура.
На всякий случай отображаем остальные сегментумы (напоминаю, масштабы еще не правил, так что все будет еще больше размерами) и чуть приближаем, благо все у нас пока вполне умещается на экране.
И тут приходит осознание, что фишка с "кликнул на сегментум - приблизил - кликай дальше", мягко говоря, не сработает для сегментума Ultima, который и так по высоте занимает уже почти весь экран. Да и хотелось бы таки иметь какой-никакой, но подробный обзор галактики, и понимать, где что находится, без необходимости постоянно скроллить карту. Значит, нужно искать другое решение. Вспоминаем, что люди любят все интерактивненькое и, вероятно, хотели бы иметь возможность все это немножечко покрутить. Пишем скрипт камеры.
Страдаем. Много курим. Местами изобретаем велосипеды. Ломаем. Чиним. На выходе получаем вот такую няшность. Еще не идеально, но выглядит уже поинтереснее.
Масштабирование работает плавнее, чем оно выглядит (мышка умничает). Перемещение потом поплотнее привяжу к уровню масштаба/приближения. Перемещение по осям X и Z ограничено пределами подложки, на которую, собственно и нанесена сетка. В будущем можно придать любую форму, и уменьшить размер, чтобы пользователь не уползал слишком далеко.
В общем, есть над чем еще поработать, но смотрится, на мой взгляд, уже довольно симпатично.
Всем спасибо за внимание, пойду для разнообразия попробую лечь спать раньше четырех часов утра. :)
Завтра буду пытаться наносить первые маркеры и думать, что с ними делать.