Главная страница
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.48 MB
Время: 0.032 c
1-1087077214
Neytrin0
2004-06-13 01:53
2004.06.27
ALL Help!!! Как закодить чтоб моя прога запускалась со ст...


11-1075358808
Ajax
2004-01-29 09:46
2004.06.27
Edit+выпадающий список


4-1084772222
Dennisius
2004-05-17 09:37
2004.06.27
особенности HOOK-ов в MDI приложениях


4-1084875724
sachem
2004-05-18 14:22
2004.06.27
Как сделать, что бы при закрытии формы вы давалось сообщение


10-1012483036
nikols
2002-01-31 16:17
2004.06.27
Что такое CORBA?