Конференция "Игры" » Звёздная карта [Delphi, Windows]
 
  • igor666 © (27.06.08 17:43) [0]
    Доброго всем вечера, может конечно глупый вопрос, но никогда с таким не сталкивался, не знаю даже с чего начать.
    Задача такая, нужно создать карту галактики :), т.е. есть галактика размером 0-0, 65000-65000. На любой координате может быть система. Нужно создать карту, реализовать масштабирование и скролинг.
    Вопрос нубский, но помогите плиз, может ссылки какие или мысли, примеры вообще было бы замечательно.
    Заранее спасибо.
  • Rouse_ © (27.06.08 17:45) [1]

    > есть галактика размером 0-0, 65000-65000

    Чей-то она у тебя плоская какая-то галактика :)
    Делай трехмерный массив и работай с ним
  • igor666 © (27.06.08 17:49) [2]
    Ну просто там достаточно 2х мерного, зачем усложнять :), надо ещё с этим разобраться, а там уже видно будет.
  • grisme (28.06.08 12:43) [3]
    думаю, можно создать базу данных с системами, где в каждой системе будет вся нужная по ней информация(дальность относительно точки просмотра, количество планет в системе, спутники у этих планет, можно физические свойства некоторых планет, если имеются данные и т.д.).
    каждый элемент массива (или там, где есть система) содержит первичный ключ в таблице систем.
    при наведении мышью на область системы, выводится лёгкий хинт типа "название, расстояние".
    при нажатии, делается зум до системы, система отрисовывается, выводится вся нужная информация, ссылки на соседние системы.
    но это всё огурцы :)
    ---
    з.ы. не знаю, то ли ты хотел услышать.
  • igor666 © (29.06.08 17:23) [4]
    мдя, с этим то проблем как раз нет, с базами данных я уже давно работаю :), проблема именно в прорисовке самой карты и систем на ней. Например создать битмап такого размера просто не реально, точнее реально, но он будет места жрать столько и ресурсов, что пипец. Вот меня как раз и интересует визуальное отображение карты и какими методами можно это сделать.
  • grisme (29.06.08 21:21) [5]
    а зачем хранить всё целиком? относительно положения смотрящего, выбираются системы, которые должны быть нарисованы, координаты(положение) этих систем локализуются в координаты граф.API и рисуются примитивами - точками (или более содержательными текстурами, если системы в виде точек не катят).
    а если очень хочется изврата, можно карту разбить на мелкие куски.
    рисовать текущий видимый кусок. при скролле, подгружать куски, которые находятся в соседней области, куда движет скролл.
  • igor666 © (01.07.08 10:19) [6]
    Вот об этом я и спрашивал как это сделать, ладно, сегодня должны пример выслать, буду смотреть и разбираться.
 
Конференция "Игры" » Звёздная карта [Delphi, Windows]
Есть новые Нет новых   [134430   +2][b:0][p:0]