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

Вниз

Игровое поле для ТБС   Найти похожие ветки 

 
неважно   (2004-02-21 15:28) [0]

Извините за тупой вопрос, но как я могу создать игровое поле для моей пошаговой стратегии(120 * 66 клеток по 46 пикселей сторона клетки). Я пытался сделать паинтовый файл и вставить полученый рисунок в ScrollBox, но даже графически не оформленный(пустая сетка) файл занимает 40 Мб и нещадно тормозит при любой работе с ним (У меня Пентиум 3, 256 оперативки, 1,7 ГГц, Виндоуз ХР). Что делать?


 
KA_ ©   (2004-02-21 19:20) [1]

Есть два варианта:
1.
Вообще-то игровая карта состоит из повторяющихся объектов, которые отрисовываются одинаково. Например, пустое поле, дерево, домик и пр. - они одинаковы даже если расположены в разных частях карты.
Значит есть смысл закодировать карту каким-либо способом, а не хранить ее как готовое изображение. каждой клетке карты присваиваем значение от 0 до 255 - пустое поле соответсвует 0, дерево 2, домик - 3 и т.д.
Потом эту кодированную карту сохраняем в файл. И рисуем картиночки 46х46 для каждого игрового объекта (это спрайты). Во время игры зачитываем кодированную карту и по необходимости спрайты. Спрайты и отрисовываем на экране, а координаты отрисовки расчитываем из текущего положения игрового окна.

2.
Дествительно надо отобразить картинку в 40Mb. Но скорее всего на экране вся она не будет видна. Тогда вычисляем координаты видимой области и пользуемся методом TBitmap.ScanLine.


 
Alex Storm   (2004-02-25 07:55) [2]

Послушай, неважно, есть у меня исходник , который может тебе помочь. Если заинтересован, то мыль мне :)


 
Vertex   (2004-02-29 04:44) [3]

2неважно. гениально)


 
TButton ©   (2004-02-29 15:06) [4]

>и пользуемся методом TBitmap.ScanLine.
или BitBlt


 
woolf/psycho ©   (2004-03-01 22:19) [5]

Вообще, для начала, рекомендую использовать DelphiX и работу со спрайтами. Так намного легче выходит. Да и красивее.



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

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

Наверх




Память: 0.47 MB
Время: 0.042 c
6-1083819598
Max!!!!
2004-05-06 08:59
2004.06.27
Компонент TNMSMTP


3-1086151536
Петр
2004-06-02 08:45
2004.06.27
Чтение/запись в BLOB-поле IB файла JPEG.


14-1086860996
Юрий
2004-06-10 13:49
2004.06.27
Учебник по С++


1-1086708278
matt
2004-06-08 19:24
2004.06.27
StringGrid


4-1085125924
ZMaximI
2004-05-21 11:52
2004.06.27
Запрет запуска программ