Создание анимации

  • docx
  • 27.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-002993.docx

  Создание анимации

Для создания простой анимации достаточно использовать таймер, при тике которого будут изменяться параметры изображения (например, координаты концов отрезка) и вызываться обработчик события Paint для рисования по новым параметрам. При таком подходе не надо забо- титься об удалении старого изображения, ведь оно создается в окне за- ново.

В качестве примера рассмотрим код анимации секундной стрелки часов:

 

// Глобальные переменные private int x1, y1, x2, y2, r; private double a;

private Pen pen = new Pen(Color.DarkRed, 2);

 

// Перерисовка формы

private void Form1_Paint(object sender,


PaintEventArgs e)

{

Graphics g = e.Graphics;

// Рисуем секундную стрелку g.DrawLine(pen, x1, y1, x2, y2);

}

 

// Действия при загрузке формы

private void Form1_Load(object sender, EventArgs e)

{

r = 150; // Радиус стрелки

a = 0; // Угол поворота стрелки

// Определяем центр формы – начало стрелки x1 = ClientSize.Width / 2;

y1 = ClientSize.Height / 2;

// Конец стрелки

x2 = x1 + (int)(r * Math.Cos(a)); y2 = y1 - (int)(r * Math.Sin(a));

}

 

// Действия при очередном «тике» таймера

private void timer1_Tick(object sender, EventArgs e)

{

a -= 0.1; // Уменьшаем угол на 0,1 радиану

// Новые координаты конца стрелки x2 = x1 + (int)(r * Math.Cos(a)); y2 = y1 - (int)(r * Math.Sin(a));

// Принудительный вызов события Paint Invalidate();

}