Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: CL | DM;

Вниз

Карта 2000 x 2000 с помощью DelphiX   Найти похожие ветки 

 
mefisto   (2004-11-22 13:36) [0]

ЗДРАСТВУЙТЕ !!!

Возможно ли зделать карту типа WarCraft размером 2000 x 2000 или больше с помощью DelphiX? И как?

Заранее спасибо!!!


 
Дубров Николай   (2004-11-22 14:16) [1]

Можно, если рисовать отдельными кусками.


 
Malefic ©   (2004-11-22 16:08) [2]

Карту-то создать можно любую. Например у тебя элементы карты(тайлы, дома, и прочее) размером в 100 х 100, тогда в карте будет 20 ячеек по вертикали и горизонтали. Создавай карту обычным массивом.


 
TButton   (2004-11-24 21:41) [3]

delphiX не используется для создания карты (конечно если... но об этом чуть позже). delphiX это набор компонент позволяющих без особого напряга использовать в своей проге средства DirectX, как то DirectDraw, Direct3D, DirectSound, DirectPlay, DirectInput (ничего не забыл?).

так что вопро неверен в корне. а ведь именно в корень нужно зрить! =) карта это массив данных (как правило - двухмерный) который ты сам должен описать, создать и обрабатывать. другое дело если для отображения этой самой карты ты используешь TDXSpriteEngine. да в таком случае тебе нужно описать класс, допустим, TMapCell = class(TSprite) и создать 4"000"000 экземпляров этого класса... но имхо это маразм... а маразм это же не наш метод, Шурик. пардон, mefisto. Совету использовать TDXImageList для хранения тайлов, TDXDraw для вывода их на экран и голову для создания кода которые будет проверять какие тайлы следует отрисовывать в данный конкретный момент времени.

если будут еще вопросы, чиркани на marcuch@yandex.ru - посмотрим.


 
П7   (2004-11-25 07:24) [4]

не, неблагодарное это занятие. давай лучше призоединяйся к созданию дум3 на квикбэйсике. (: как раз сейчас реализуем бамп-мэпинг в текст-моде. (:


 
AbLaZe ©   (2004-11-26 13:33) [5]

Если у тебя будет не изометрический движок а обычный, то есть классный способ позволяющий выводить карты и 2000x2000 и
5000x5000, да ваааще любой тока грузиться будет долго.
Вот у меня карта в моей игрушке (5000x5000) каждый спрайт 64x64
, так вот карта грузиться 5-6 секунд.
Пиши мне на мыло...


 
Pentium133 ©   (2004-11-26 14:15) [6]


> от у меня карта в моей игрушке (5000x5000) каждый
> спрайт 64x64

Хачу поиграть в твою ирушку. Где мона взять?


 
AbLaZe ©   (2004-11-26 16:28) [7]

Это коммерческий проект и на этом все ... обсуждению не подлежит!


 
Pentium133 ©   (2004-11-26 17:07) [8]

Скажи хоть название. На варезниках поищу.


 
Omar2002 ©   (2004-11-28 16:11) [9]

Сначала создаешь свой массив - карту Map[1..2000,1..2000]
потом загружаешь спрайты в DXImageList1 - это удобно сделать, если все тайтлы лежат в одном файле, например Map.dxg - это специальный дельфиксовский формат. Чтобы с ним работать можно юзать прогу DXGEdit ща сходу не скажу где ее можно скачать. Сам поищешь в нете.

Теперь все готово для вывода.

Допустим ты взял тайтлы 64*64 пикселя, выводишь на экран свои тайтлы в цикле.

DXImageList1.Items[Map[i,j]].Draw(Dxdraw1.Surface,i*64,j*64,0);

Map[i,j] - задает номер картинки в имэйджлисте
Dxdraw1.Surface - поверхность, на которую ты рисуешь
i*64,j*64 - Х и У координаты для данного тайтла.

Блин - досканально все расписал :)



Страницы: 1 вся ветка

Текущий архив: 2005.02.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.04 c
14-1107762736
Alex_Petr
2005-02-07 10:52
2005.02.27
Директива: Stop On Delphi Exceptions


1-1108441307
Steve
2005-02-15 07:21
2005.02.27
TImageList - как можно из одного рисунка вырезать много мелких?


6-1103178655
DelphiN!
2004-12-16 09:30
2005.02.27
Передача файла по сети размером более 1 ГБ


4-1105617848
MInd_f
2005-01-13 15:04
2005.02.27
RegQueryValueEx


1-1108019965
Артем К.
2005-02-10 10:19
2005.02.27
Стоит ли использовать DoubleBuffered?