Перемещение многоугольника по координатной плоскости (TCanvas, TImage, Polygon, TTimer) |
Автор megabax | ||||||||
22.10.2009 г. | ||||||||
Перемещение многоугольника по координатной плоскости (TCanvas, TImage, Polygon, TTimer)Прежде чем начать урок, сделаю небольшое сообщение. Я начал писать библиотеку для управления объектами компьютерных игр. Подробнее здесь. А теперь, собственно, урок. Сегодня мы научимся программирование движение объекта по экрану. Для начала вспомним предыдущий урок. Нам понадобятся исходники этого урока. Если у вас их нет, то можете скачать их здесь. И так, открываем исходники предыдущего урока, и, первое, что мы делаем, это в разделе Private класса TfrmGameSample добавляем новые поля, а так же процедуру DrawFigure (добавленное выделено красным).
Если у вас класса TAxesSystem объявлен после TfrmGameSample то перенесите его вперед. Теперь реализуем процедуру DrawFigure:
Напишем обработчик события FormCreate нашей формы:
так как мы создали объект класса TAxesSystem, то нам его и удалять. поэтому реализуем событие FormDestroy:
Проведя вышеуказанные действия, мы разделили процедуру рисования многоугольника на процедуру его создания и процедуру отрисовки. Наконец, дошли до кнопочки. Заменим у нее заголовок на "Старт" и пропишем обработчик OnClick:
Тем самым мы включили флаг, что картинка у нас нарисована и нарисовали ее. А еще нам понадобиться класс TTimer. Его можно найти на закладке System*: Кладем этот объект на форму и прописываем у него обработчик события OnTimer:
в данном обработчике мы проверяем флаг (нажимали ли мы до этого на кнопку). Если процесс у нас запущен, то просто меняем координаты точек прямоугольника, сдвигая его влево. Затем рисуем. Напомню, что процедура очистки поля для рисования у нас есть в DrawFigure. Теперь еще положим на форму объект TSpinEdit*: И напишем его обработчик:
Если вы запустите программа и нажмете кнопку "Старт", то по экрану станет очень медленно ползти фигура. Изменим интервал таймера: Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями в соответствии со ст. 1274 ГК РФ программного продукта "Delphi", авторское право на который принадлежит Borland Delphi.. |
||||||||
Последнее обновление ( 06.11.2011 г. ) |
« След. | Пред. » |
---|