Планирование уроков на учебный год (по учебнику Н.Д. Угриновича, профильный уровень)



Уроки 114 - 120
§4.13. Графика в объектно-ориентированных языках программирования






Содержание урока

4.13.1. Графика в языках программирования Visual Basic .NET, Visual C# и Visual J#
4.13.2. Графика в языке программирования Turbo Delphi
4.13.3. Компьютерная и математическая системы координат
4.13.4. Анимация

Иллюзии движения на экране

Проект «Часы»

Объявление переменных и создание обработчика события вывода показаний цифровых и стрелочных часов на языке Visual Basic .NET

Дополнение графического интерфейса проекта на языках Visual Basic .NET, Visual С#, Visual J# и Turbo Delphi

Запуск проекта на языках Visual Basic .NET, Visual С#, Visual J# и Turbo Delphi

Компьютерный практикум


4.13.4. Анимация


Объявление переменных и создание обработчика события вывода показаний цифровых и стрелочных часов на языке Visual Basic .NET


4.


Dim XT, YT As Integer 'Координаты цифр 'на стрелочных часах
Dim X1, Y1 As Integer 'Координаты секундной 'стрелки
Dim Х2, Y2 As Integer 'Координаты минутной 'стрелки
Dim ХЗ, Y3 As Integer 'Координаты часовой стрелки
Dim N As Double
Dim T As Double, I As Byte 'Счетчики циклов
Dim Graphl As Graphics
Dim Pen1 As New Pen (Color. Red, 1) 'Перо, рисующее 'секундную стрелку
Dim Pen2 As New Pen (Color .Green, 2) 'Перо, рисующее минутную стрелку
Dim РеnЗ As New Pen (Color. Blue, 3) 'Перо, рисующее 'часовую стрелку
Dim drawFont As New Font ("Arial", 16)
Dim drawBrush As New SolidBrush(Color.Black)

5. В обработчике события Timer1_Tick каждую секунду:

• выводить значение текущей даты и времени на надпись с использованием объекта DateTime и его свойства Now;
• рисовать циферблат стрелочных часов с использованием цикла со счетчиком I;
• рисовать в часовой системе координат секундную, минутную и часовую стрелки, угол поворота которых увеличивается с каждым «тиком» (значение переменной N делится соответственно на 60, 3600 и 21 600);
• делать паузу с использованием цикла со счетчиком Т (пауза должна быть достаточной, чтобы глаз зафиксировал положение стрелок, но не должна превышать времени одного «тика», т. е. 1 секунды);
• осуществлять стирание рисунка стрелочных часов, чтобы подготовиться к рисованию их положения в следующем «тике» (в следующую секунду).


Private Sub Timer1_Tick(ByVal sender As System. Object, ByVal e As System.EventArgs) Handles Timer1.Tick
'Цифровые часы
Label1.Text = DateTime.Now
'Циферблат стрелочных часов
Graph1 = Me.PictureBox1.CreateGraphics()
For I = 1 To 12
XT = 115 + Round (100 * Sin (6.28 * 30 * I / 360))
YT = 115 - Round (100 * Cos (6.28 * 30 * I / 360)) Graph1.DrawString (I, drawFont, drawBrush, XT, YT) Next I
'Преобразование компьютерной системы координат в ' "часовую!' систему координат Graph1.ScaleTransform(l, -1)
Graph1.TranslateTransform(125, -125)
'Рисование стрелок N = N + 1 'Секундная стрелка
X1 = Round(90 * Sin(6.28 * N / 60))
Y1 = Round(90 * Cos(6.28 * N / 60))
Graph1.DrawLine(Pen1, 0, 0, XI, Yl)
'Минутная стрелка
X2 = Round(60 * Sin(6.28 * N / 3600))
Y2 = Round(60 * Cos(6.28 * N / 3600))
Graph1.DrawLine(Pen2, 0, 0, X2, Y2)
'Часовая стрелка
ХЗ = Round(40 * Sin(6.28 * N / 216000))
Y3 = Round(40 * Cos(6.28 * N / 216000))
Graph1.DrawLine(РепЗ, 0, 0, X3, Y3)
'Пауза
For T = 1 To 20000000
Next T
'Стирание циферблата и стрелок Graph1.Clear(Color.White)
End Sub


Следующая страница Дополнение графического интерфейса проекта на языках Visual Basic .NET, Visual С#, Visual J# и Turbo Delphi



Cкачать материалы урока







Наверх