Огляд принципів створення анімації.
Теорія
Підсумки
Анімація – це імітація руху, що робиться швидким відображенням на екрані серії пов'язаних між собою зображень. Зазвичай анімація вимагає програмного переміщення об'єктів, і часто використовує також зміну розміру або форми зображення.
Просту анімацію можна зробити шляхом показу руху об'єктів.
Система координат для форми Windows Forms заснована на координатах пристрою, а базова одиниця виміру при малюванні в Windows Forms - це одиниця пристрою (зазвичай піксель). Точки на екрані описуються парами координат x та y, при цьому координати x збільшуються зліва направо, а координати y збільшуються зверху донизу.
Положення об'єкта на формі задають такі властивості:
властивості Left та Top - відстань зліва та зверху від початку координат
властивість Location - задає координати верхнього лівого кута елемента
Розміри об'єкта задаються властивостями:
Width, Height - висота та ширина
Size - властивість, яка одночасно задає ширину та висоту
Властивості Left та Top
Щоб перемістити об'єкт у горизонтальному напрямку, потрібно привласнити властивості Left об'єкта нове значення, наприклад:
button1.Left = 50;
Щоб перемістити об'єкт на відносну відстань, потрібно додавати або віднімати пікселі з поточного значення Left. Наприклад, щоб перемістити об'єкт на 50 пікселів праворуч, потрібно додати до властивості Left значення 50:
button1.Left += 50;
Аналогічно здійснюється відносне переміщення вгору або вниз: за допомогою додавання або віднімання пікселів з поточного значення Top. Наприклад, щоб перемістити об'єкт на 30 пікселів донизу, потрібно додати до властивості Top значення 30:
button1.Top += 30;
Властивість Location
Щоб перемістити об'єкт одночасно у вертикальному та горизонтальному напрямку, досить просто використовувати комбінацію значень властивостей Left та Top. Наприклад:
button1.Left += 50;
button1.Top += 30;
Однак розробники Visual .NET не рекомендують використовувати два оператори програми для переміщення об'єкта, якщо необхідно робити багато переміщень об'єктів програми (наприклад, якщо під час складної анімації потрібно переміщати об'єкти сотні чи тисячі разів). Натомість Microsoft рекомендує використовувати властивість Location, наприклад, наступний оператор програми переміщає кнопку координати (100, 200):
button1.Location = new Point(100, 200);
Щоб за допомогою властивості Location виконати відносне переміщення, потрібні властивості Location.X та Location.Y. Наприклад, наступний оператор переміщає кнопку на 50 пікселів вліво та на 40 пікселів вгору:
button1.Location = new Point(button1.Location.X - 50, button1.Location.Y - 40)
Хоча ця конструкція здається дещо громіздкою, вона є способом переміщення об'єктів форми, що рекомендується, під час виконання програми.
Один із способів створення анімації в програмі полягає у приміщенні в процедуру події таймера однієї або кількох змін властивостей об'єкта Location, Top або Left. При цьому через певні інтервали часу таймер змушуватиме один або кілька об'єктів переміщатися екраном. Також можна змінювати розміри об'єктів, використовуючи їх властивості Height та Width.
Також використання в процедурі події значень розмірів форми можна використовувати для зупинки анімації (відключення таймера), коли об'єкт досягає межі форми або зміни напрямку руху об'єкта (змусити його відскакувати від одного або кількох країв форми).
Заповніть звіт.