![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Карта 2000 x 2000 с помощью DelphiX [Delphi, Windows]
mefisto © (2004-11-22 13:36:00)ЗДРАСТВУЙТЕ !!!
Возможно ли зделать карту типа WarCraft размером 2000 x 2000или больше с помощью DelphiX? И как?
Заранее спасибо!!!
Omar2002 (2004-11-28 16:11:00) [1]Сначала создаешь свой массив - карту 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 - Х и У координаты для данного тайтла.
Блин - досканально все расписал :)
Pentium133 (2004-11-26 17:07:00) [2]Скажи хоть название. На варезниках поищу.
AbLaZe (2004-11-26 16:28:00) [3]Это коммерческий проект и на этом все ... обсуждению не подлежит!
Pentium133 (2004-11-26 14:15:00) [4]
> от у меня карта в моей игрушке (5000x5000) каждый
> спрайт 64x64
Хачу поиграть в твою ирушку. Где мона взять?
AbLaZe (2004-11-26 13:33:00) [5]Если у тебя будет не изометрический движок а обычный, то есть классный способ позволяющий выводить карты и 2000x2000 и
5000x5000, да ваааще любой тока грузиться будет долго.
Вот у меня карта в моей игрушке (5000x5000) каждый спрайт 64x64
, так вот карта грузиться 5-6 секунд.
Пиши мне на мыло...
П7 (2004-11-25 07:24:00) [6]не, неблагодарное это занятие. давай лучше призоединяйся к созданию дум3 на квикбэйсике. (: как раз сейчас реализуем бамп-мэпинг в текст-моде. (:
TButton (2004-11-24 21:41:00) [7]delphiX не используется для создания карты (конечно если... но об этом чуть позже). delphiX это набор компонент позволяющих без особого напряга использовать в своей проге средства DirectX, как то DirectDraw, Direct3D, DirectSound, DirectPlay, DirectInput (ничего не забыл?).
так что вопро неверен в корне. а ведь именно в корень нужно зрить! =) карта это массив данных (как правило - двухмерный) который ты сам должен описать, создать и обрабатывать. другое дело если для отображения этой самой карты ты используешь TDXSpriteEngine. да в таком случае тебе нужно описать класс, допустим, TMapCell = class(TSprite) и создать 4'000'000 экземпляров этого класса... но имхо это маразм... а маразм это же не наш метод, Шурик. пардон, mefisto. Совету использовать TDXImageList для хранения тайлов, TDXDraw для вывода их на экран и голову для создания кода которые будет проверять какие тайлы следует отрисовывать в данный конкретный момент времени.
если будут еще вопросы, чиркани на marcuch@yandex.ru- посмотрим.
Malefic (2004-11-22 16:08:00) [8]Карту-то создать можно любую. Например у тебя элементы карты(тайлы, дома, и прочее) размером в 100 х 100, тогда в карте будет 20 ячеек по вертикали и горизонтали. Создавай карту обычным массивом.
Дубров Николай (2004-11-22 14:16:00) [9]Можно, если рисовать отдельными кусками.