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

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

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

Приступим. Сначала скажу пару слов о том что такое спрайты. Спрайты - это мини изображения используемые программистами, как отдельные объекты персонажей. Сам термин спрайт введен с легкой руки программистов игр. 
В этом уроке будет использоваться следующие спрайты, некоторых из них нужных нам, вы можете скачать тут:


Распакуйте архив в папку с нашим проектом(Предыдущий урок). Теперь на нашей форме создадим Image1 размерами 32x32 и кинем ровно в верхний левый угол.

Теперь загрузим для него изображение. Для этого изменяем свойство Picture на down_0. То есть меняем наш спрайт. Далее поставьте следующие свойства для Image1:

Proportional - true (включение правильных пропорций размера спрайта)
Stretch - true (правильное изменение размера спрайта)

Запускаем игру и видим следующею картину: 


За нашим персонажем какое-то белое поле. Как убрать? Легко. Для этого меняем свойство Transparent на true.

И так. Немного отклонюсь от темы. У вас наверняка возникли вопросы по поводу того, что в прошлом уроке я говорил, что Image лучше не трогать, а в этом обратно. Дело в том, что я изначально полагал, что в игре некими объектами(спрайтами) будет компонент Image. 

Продолжаю тему.
Теперь спрайт имеет прозрачный фон. Жаль что я ошибся с выбором картинки для спрайта. Она как-то сливается с фоном. Ну ладно. Прям сейчас просто обведу черным цветом наши спрайты. Вот что у нас получается:


Теперь нужно сделать управление. Управление будет осуществляться стрелками. То есть мы сейчас разберем как в Delphi сделать нормальное управление стрелками.

Для этого создаем событие для Form1 - FormKeyDown и прописываем следующий полный код:

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=vk_right then //Если нажата правая стрелка
Image1.Left:=Image1.Left+32;

if key=vk_left then //Если нажата левая стрелка
Image1.Left:=Image1.Left-32;

if key=vk_up then //Если нажата верхняя стрелка
Image1.Top:=Image1.Top-32;

if key=vk_down then //Если нажата нижняя стрелка
Image1.Top:=Image1.Top+32;
end;

Управление готово. Но без анимации ходьбы скучновато. Поэтому дополняем код:

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=vk_right then
begin
Image1.Left:=Image1.Left+32;
Image1.Picture.LoadFromFile('sprites/right_0.bmp');
end;

if key=vk_left then
begin
Image1.Left:=Image1.Left-32;
Image1.Picture.LoadFromFile('sprites/left_0.bmp');
end;

if key=vk_up then
begin
Image1.Top:=Image1.Top-32;
Image1.Picture.LoadFromFile('sprites/down_up.bmp');
end;

if key=vk_down then
begin
Image1.Top:=Image1.Top+32;
Image1.Picture.LoadFromFile('sprites/down_up.bmp');
end;
end;

Вот что получается:


Ну вот и завершен очередной урок. Удачи вам!



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


Источник:
Категория: Программирование | Добавил: BRESS (01.10.2011) | Автор: EW
Просмотров: 3494 | Комментарии: 1 | Теги: | Рейтинг: 0.0/0
>Всего комментариев>: 1
1 Андрей  
0
Хороший цикл статей. Не останавливайся на достигнутом. Очень интересно. А мало посетителей из-за того, что я тебя нашел на пятой странице в яндексе - не многие листают так же далеко. Я тоже пишу статьи по созданию игр, если тебе интересно - заходи:
http://delgame.at.ua

Авторизация
Опрос
Ваш возраст
Всего ответов: 47
Online
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Статистика


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