Анімація в Delphi 7
1. Вибирається деяка крапка зображення, що приймається за базову.
2. Координати інших крапок відраховуються від базової крапки.
3. Якщо координати крапок зображення відраховувати від базової у відносних одиницях, а не в пікселях, то забезпечується можливість масштабування зображення.
На мал. 1 наведене зображення кораблика. Базовою крапкою є крапка з координатами (Хо, Уо). Координати інших крапок відраховуються саме від цієї крапки.
Мал. 1. Визначення координат зображення щодо базової крапки
Узагальнена схема алгоритму функціонування проекту
Малювання і стирання зображення кораблика виконує процедура Titanic, яка одержує як параметри координати базової крапки і колір, яким треба намалювати зображення. Якщо при виклику процедури Titanic колір відрізняється від кольору тла форми, то процедура малює зображення, а якщо збігається - те "стирає". У процедурі оголошені константи dx і dу, що визначають крок (у пікселях), який використовується при обчисленні координат крапок зображення. Змінюючи значення цих констант, можна проводити масштабування зображення.
Проектування форм
Програма складається з одної форми на якій розміщені компоненти Timer1, SpeedButton1, SpeedButton2. У властивостях компонент SpeedButton1 і SpeedButton2 виставлені потрібні значення :
SpeedButton1
Caption:CLOSE
Flat:True
Font.Color:clNone
Font.Size:20
Hint:Закриває форму
ShowHint:True
SpeedButton2
Caption:STOP
Flat:True
Font.Color:clNone
Font.Size:20
Hint:Зупиняє рух зображення