Эффект перемещения сложной картинки может быть создан путем периодической перерисовки картинки с некоторым смещением относительно ее прежнего положения. При этом предполагается, что перед выводом картинки в новой точке сначала удаляется предыдущее изображение. Удаление картинки может быть выполнено путем перерисовки всей фоновой картинки или только той ее части, которая перекрыта битовым образом движущегося объекта.
Рассмотрим второй подход. Картинка выводится применением метода Draw к свойству Canvas компонента Image, а стирается путем копирования (метод copyRect) нужной части фона из буфера на поверхность компонента Image.
Для хранения битовых образов (картинок) фона и самолета, а также копии области фона, перекрываемой изображением самолета, используются объекты типа TBitMap, которые создаются динамически процедурой FormActivate.
Постановка задачи
Разработать приложение, реализующее движение битового образа (картинки) на фоне другой картинки. Примерный вид окна приложения представлен на рисунке.