![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Игровое поле для ТБС [Delphi, Windows]
неважно © (2004-02-21 15:28:00)Извините за тупой вопрос, но как я могу создать игровое поле для моей пошаговой стратегии(120 * 66 клеток по 46 пикселей сторона клетки). Я пытался сделать паинтовый файл и вставить полученый рисунок в ScrollBox, но даже графически не оформленный(пустая сетка) файл занимает 40 Мб и нещадно тормозит при любой работе с ним (У меня Пентиум 3, 256 оперативки, 1,7 ГГц, Виндоуз ХР). Что делать?
woolf/psycho (2004-03-01 22:19:00) [1]Вообще, для начала, рекомендую использовать DelphiX и работу со спрайтами. Так намного легче выходит. Да и красивее.
TButton (2004-02-29 15:06:00) [2]>и пользуемся методом TBitmap.ScanLine.
или BitBlt
Vertex (2004-02-29 04:44:00) [3]2неважно. гениально)
Alex Storm (2004-02-25 07:55:00) [4]Послушай, неважно, есть у меня исходник , который может тебе помочь. Если заинтересован, то мыль мне :)
KA_ (2004-02-21 19:20:00) [5]Есть два варианта:
1.
Вообще-то игровая карта состоит из повторяющихся объектов, которые отрисовываются одинаково. Например, пустое поле, дерево, домик и пр. - они одинаковы даже если расположены в разных частях карты.
Значит есть смысл закодировать карту каким-либо способом, а не хранить ее как готовое изображение. каждой клетке карты присваиваем значение от 0 до 255 - пустое поле соответсвует 0, дерево 2, домик - 3 и т.д.
Потом эту кодированную карту сохраняем в файл. И рисуем картиночки 46х46 для каждого игрового объекта (это спрайты). Во время игры зачитываем кодированную карту и по необходимости спрайты. Спрайты и отрисовываем на экране, а координаты отрисовки расчитываем из текущего положения игрового окна.
2.
Дествительно надо отобразить картинку в 40Mb. Но скорее всего на экране вся она не будет видна. Тогда вычисляем координаты видимой области и пользуемся методом TBitmap.ScanLine.