В прошлый раз я рассказывал как сделать игру при помощи компонентов Shape. Но Shape это некрасиво и как-то примитивно. Поэтому в этом уроке я покажу как сделать красивую 2D игру-симулятор лодки. Это совсем не сложно. Уровень сложности такое же как и в прошлом уроке. Наша лодка будет уметь плавать и наступать на мину). Мы уже создали лодку и дали возможность ей двигаться. Дело осталось за малым.
Переносим еще один Image из вкладки Additional. Это будет мина. В свойстве Picture выбираем нашу мину(mine.jpg).
Ни одна игра не обходится без Timer. Поэтому из вкладки System переносим Timer. Дважды по нему щелкаем. Теперь прописываем код. Для этого понадобится переменная Overlay. В общем виде процедура будет выглядеть так:
procedure TForm1.Timer1Timer(Sender: TObject); var Overlay: Trect; begin if InterSectRect(Overlay, Image1.BoundsRect, Image2.BoundsRect) then begin Image2.Picture.LoadFromFile('bang.jpg'); Image1.Picture.LoadFromFile('bang.jpg'); Image1.Left:=Image2.Left+30; ShowMessage('Лодка взорвалась!'); Close; end; end;
1-строка: Объявление процедуры 2-строка: Объявление переменных 3-строка: Создание переменной Overlay 4-строка: Исполнение кода 5,6,11-строки: Объявление условного оператора. Дословно можно перевести так:
Если пересекаются(Image1 и Image2) тогда выполнить следующее: .... Конец; 7,8,9,10-строки: Команды. Думаю вам понятно что они обозначают.
Хорошо. Запустим игру...
Как вы можете убедиться: игра работает прекрасно. Когда мы наступаем на мину, то высовывается сообщение и игра закрывается. Что же. Игра готова. Думаю вы что-то извлекли из этой статьи и сможете сделать свою игру! Удачи!
Источник: |