Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Карта 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]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо