Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];

Вниз

Карта 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.035 c
14-1107463276
Kerk
2005-02-03 23:41
2005.02.27
Серьезный вопрос


14-1107823439
ArMellon
2005-02-08 03:43
2005.02.27
Что такое домен в Win Xp


3-1107239879
ocean
2005-02-01 09:37
2005.02.27
Как корректно создать DBF?


3-1106830570
Mva
2005-01-27 15:56
2005.02.27
транзакции


1-1108027661
snake_r
2005-02-10 12:27
2005.02.27
сервис





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский