Після запуску PascalABC, за замовчуванням,
запускається текстовий режим. Для роботи з графікою служить окреме графічне
вікно.
Щоб його відкрити, необхідно підключити модуль
GraphABC. У цьому модулі міститься набір процедур і функцій, призначених для
роботи з графічним екраном, а також деякі вбудовані константи і змінні, які
можуть бути використані в програмах з графікою.
З їх допомогою можна створювати різноманітні графічні зображення і супроводжувати їх текстовими написами.
Система координат в Паскалі відповідає екранної системі координат і виглядає наступним чином:
Як на мові програмування Паскаль АВС створити найпростішу анімацію - ілюзію руху?
Анімація в програмуванні полягає в тому, що спочатку малюється фігура кольоровим інструментом, потім з тим же координатами малюється та ж фігура білим кольором. Після чого відбувається зсув фігури і дії повторюються.
У цьому уроці буде показано, як можна створити анімоване зображення за допомогою модуля GraphABC.
Процедура LockDrawing;
Малювання засобами PascalABC відбувається дуже повільно. Поки воно йде, картинка на екрані встигає багато разів оновитися. Звідси мерехтіння. Тобто, ми бачимо не остаточну картинку, а процес її малювання. Остаточну картинку в общем-то не бачимо - як тільки вона вишикувалася, ми її тут же стираємо і починаємо новий цикл малювання. Для боротьби з цим ефектом придумали подвійну буферизацію. Ідея в тому, щоб спочатку побудувати картинку в пам'яті (не вивільняючи на екран), а потім відобразити новий кадр на екрані цілком, без проміжних варіантів, де не вистачає половини промінчиків. Для цього на початку програми викликаємо процедуру LockDrawing.
Процедура ClearWindow (color);
Після кожної проходу по циклу очищає графічне
вікно вказаним кольором, який передається в якості параметра. Після цього всі
команди малювання будуть створювати картинку в пам'яті (в так званому
вторинному буфері). Безпосередньо на екрані нічого малюватися не буде. Після
того, як черговий кадр анімації повністю відмалювали (тобто перед ClearWindow),
потрібно викликати процедуру Redraw; Ця процедура викличе перерисовку всієї
картини. Намалюємо спочатку чотири кола.
Другою стадією, буде підмальовка п'ятої окружності і за допомогою вищевказаних процедур і циклу змусимо його рухатися по заданій траєкторії.
Відео готової програми, яка демонструє рух чотирьох кругів від центра до кутів екрану дивіться у вкладці відео до уроків.
Немає коментарів:
Дописати коментар