Использование таймера в Windows Forms
В Windows Forms для автоматических действий используется компонент Timer. Он позволяет задать интервал времени, в течение которого будет выполняться определённый код, например, передвижение объектов.
Для создания компонента Timer:
- На панели элементов найдите компонент Timer и дважды кликните на нём.
- Компонент добавится; он не будет отображаться на форме, но станет доступен для настройки.
Настройки Timer:
- Enabled: Установите значение True для активации таймера (по умолчанию False).
- Interval: Задаёт интервал времени в миллисекундах между срабатываниями таймера. Например, значение 20 задаёт интервал в 20 миллисекунд. Рекомендуется переименовать таймер (например, timer1 -> timer).
Дважды щелкнув на компоненте Timer, вы создадите обработчик события Tick, в котором будет располагаться код, выполняющийся с заданным интервалом.
Создание и улучшение эффекта движущейся дороги
В обработчике события Tick мы реализуем передвижение заднего фона. Для плавного движения необходимы два компонента PictureBox с фоном.
- Создайте два компонента PictureBox (например, bg1 и bg2).
- Задайте начальные координаты: для bg1 – (0, 0), для bg2 – (0, -h), где h – высота изображения.
- Создайте переменную speed (например, int speed = 10;).
- В обработчике события Tick добавьте следующий код:
bg1.Top += speed;
bg2.Top += speed;
if (bg1.Top >= this.Height)
{
bg1.Top = bg2.Top + bg1.Height;
}
if (bg2.Top >= this.Height)
{
bg2.Top = bg1.Top + bg2.Height;
}
- Удалите фоновое изображение с основной формы (BackgroundImage -> Очистить). Установите нужный цвет фона формы.
Теперь движение будет плавным, без артефактов. Для регулировки скорости изменяйте значение speed или Interval таймера.
Мы создали эффект плавной анимации движущейся дороги, используя два компонента PictureBox и таймер. Этот урок является основой для дальнейшей разработки игры.