Сегодня: 20.05.2024г. 02:36
http://professional-pc.ucoz.ru/
Навигация
Рубрики
Категории
OC и Программное обеспечение [16]
Программирование [29]
Игры PC [11]
Интернет [13]
Железо [8]
Delphi [31]
Windows [57]
Прочее [0]
Мини-чат
 
300

Открыть большой чат в окне
в окне сайта
Реклама
Разместить кнопку
Разместить кнопку
Разместить кнопку
Создаем RPG игру: Создание локации (Часть 1)

Вот я и начинаю цикл статей о создании RPG игры. В этот цикл входит несколько статей: создание локации, создание игрока, создание квестов. В именно этой статье я покажу несколько способов сделать карту (локацию) для нашей игры. Карту можно сделать разными способами. Что же, не будем мешкать, давайте рассмотрим их. 

Создание карты одним изображением.
Это не очень распространенный способ среди программистов, но тем не менее довольно упрощающий работу. Для этого рисуем какую-нибудь небольшую карту.


Теперь киньте на форму из вкладки Additional компонент Image1 и создайте процедуру FormCreate:

Image1.Picture.LoadFromFile('land/ter.bmp'); //Загружаем нашу картинку

Теперь карта есть. Разместите карту по координатам x=0,y=0


Создание карты при помощи тайлов.
Очень частый способ создания карты. Он очень удобен тем, что многие создатели RPG создают редакторы карт, а менять тайлы у карты, гораздо проще чем всю карту. Так же этот способ очень полезен если в вашей игре будет возможность возводить/рушить здания.

Но у этого способа есть один существенный минус... В стадии разработки вы помучаетесь с расположением в правильном порядке тайлов. Давайте опробуем этот способ... Для этого скачайте тайлы и сохраните в папке с программой в подкаталоге land, то есть примерно так: ...RPG\land\


Теперь прописываем код. Создайте событие формы FormPaint и перепишите следующий код:


procedure TForm1.FormPaint(Sender: TObject);
var
  land:   TBitMap;
  land1: TBitMap;
  cas:    TBitMap;
begin
   //  Создание BitMap образов
   land:=TBitMap.Create;
   land1:=TBitMap.Create;
   cas:=TBitMap.Create;

   //Загрузка изображений 
   land.LoadFromFile('land/1.bmp');
   land1.LoadFromFile('land/2.bmp');
   cas.LoadFromFile('land/castle.bmp');

   //Прорисовка картинок в определенном месте: (x,y,картинка)
   Canvas.Draw(0, 0, land1);
   Canvas.Draw(32, 0, land1);
   Canvas.Draw(0, 32, land);
   Canvas.Draw(32, 32, land1);
   Canvas.Draw(0, 64, land);
   Canvas.Draw(32, 64, land1);
   Canvas.Draw(64, 0, cas);
   Canvas.Draw(64, 64, land1);
   Canvas.Draw(96, 64, land1);

   //Освобождение переменной
   land.Free;
   land1.Free;
end;

В этом коде мы составляем из блоков размера 32x32 и одного замка размером 64x64 небольшую карту. Но можно в будущем создавая свою рпг сделать блоки размером 100x100 и более.

Заключение.

По идее у вас получится такая мини-карта:


Какой способ вы выберете? Пока не сильно важно но лучше выбирайте тайлы.

На этом первый урок из цикла создания РПГ игры я завершаю. До свидания!



Помогли ли вам наши статьи?
Всего ответов: 465


Источник:
Категория: Программирование | Добавил: BRESS (24.09.2011) | Автор: EW
Просмотров: 1363 | Комментарии: 0 | Теги: | Рейтинг: 0.0/0
>Всего комментариев>: 0
Авторизация
Опрос
Помогли ли вам наши статьи?
Всего ответов: 465
Online
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Статистика


CY-PR.com
© 2024 Professional-PC.Ucoz..Ru