Практикум. Проект "Літак"

Мета заняття

Створити програму "Літак"


План заняття

Огляд програми

Порядок роботи

Додаткові завдання

Підсумки

Після вивчення матеріалів уроку ви повинні надати звіт (заповнити просту форму).

Огляд програми

У вікні програми виводиться зображення пейзажу, над землею справа наліво пролітатиме літак. Коли літак досягає лівої межі вікна – у правому нижньому кутку з'являється кнопка «Вихід», при натискання на яку здійснює вихід із програми.

Зображення для програми можна взяти тут:
https://drive.google.com/drive/folders/1QU2OLiiuaL4bQX2XJBV0eiEDsUQQYQMn?usp=sharing

Порядок роботи

1. Створити новий проект (тип проекту - Windows Forms App .NET Framework, назва проекту - Flight)

2. Задайте властивості форми:

BackgroundImage завантажте файл landscape.jpg

FormBorderStyle FixedSingle

Size 724; 504

MaximizeBox False

StartPosition CenterScreen

Text Переліт

3. Розмістіть на формі кнопку Button, встановіть для неї такі значення властивостей:

Name btnClose

Location 490; 350

Size 130; 50

Text Вихід

Visible False

4. Створіть обробник події Click кнопки «Вихід» та напишіть наступний код:

Close();

5. Розмістіть на формі компонент PictureBox, встановіть для нього такі значення властивостей:

BackgroundImage завантажте файл airplane.png

BackColor Transparent

Location 685; 20

Name pictureAirPlane

6. Додайте в проект компонент Timer, встановіть для таймера властивості:

Enabled True

Interval 10

7. Натисніть двічі на об'єкті timer1 та напишіть обробник події Tick:

      if (pictureAirPlane.Left > -60)

      {

        pictureAirPlane.Hide();

        pictureAirPlane.Left -= 3;

        pictureAirPlane.Show();

      }

      else

      {

        timer1.Stop();

        btnClose.Show();

      }

8. Запустіть програму на виконання та перевірте її роботу.


Увага!

Можливо у вас літак буде дуже сильно мерехтіти на екрані. Якщо так, тоді після методу ініціалізації компонентів додайте наступний код:

    // Включення подвійної буферизації, щоб уникнути мерехтіння

      SetStyle(ControlStyles.UserPaint, true);

      SetStyle(ControlStyles.AllPaintingInWmPaint, true);

      SetStyle(ControlStyles.DoubleBuffer, true);

Де саме потрібно додати цей код? Ось тут:

          public Form1()

    {

      InitializeComponent();

      // тут додайте ваш код

    }


Додаткові завдання

            label6.Left += 1;

            label6.Top += Convert.ToInt32(Math.Sin(label6.Left) * 5);

    Де label6 - це, обєект, який буде рухатися. У вас це може бути інший об'єкт, наприклад PictureBox.


Підсумки