Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
1-1087123030
killer
2004-06-13 14:37
2004.06.27
Как можно из буфера обмена в Image вставить фотографию?


3-1086058303
ИМХО
2004-06-01 06:51
2004.06.27
Открыть в FoxPro with memo в Delphi


14-1086527131
Юрок
2004-06-06 17:05
2004.06.27
Создание справочной системы с помощью Html Work Shop


8-1081841509
Max003
2004-04-13 11:31
2004.06.27
Как узнать установлен-ли FLASH player для веб броузера?


1-1087139084
Apocalepse
2004-06-13 19:04
2004.06.27
Socket Но то не совсем сети.. скорее очередная проблема новичка.




   Наверх