Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования стр.26
Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования стр.26

Нормальной скоростью смены кадра считается скорость 24 кадра в секунду, но для анимации она может быть и меньше. Одновременно с этим можно перемещать элемент управления, создавая видимость движения рисунка. Конечно, необходимо сделать так, чтобы при этом был виден только рисунок, а сам элемент управления оставался невидимым. Это простая задача. Достаточно сообщить свойству BorderStyle значение None и сделать фон PictureBox прозрачным, применив метод ARGB. Но есть и другой способ. Суть данного способа заключается в том, чтобы часть рисунка, отображаемая в PictureBox, полностью совпадала с частью фонового рисунка формы, находящегося под этим элементом управления.

Выполним следующие действия. Сначала установим максимальные размеры формы. Для этого надо присвоить свойству Window State значение Maximi zed. Поместим на форме фоновый

Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования

Элемент управления imageüst (Список рисунков)

рисунок, который покроет всю ее площадь, а затем - элемент управления PictureBox. Он должен находиться в верхнем левом углу, чтобы координаты формы и рисунка, помещенного в PictureBox, совпадали. Вы, конечно, поняли, что в Picture Box должен быть тот же рисунок, что и на форме, причем их размеры должны совпадать. Свойству SizeMode необходимо присвоить значение Normal, а свойству Border Sty le - значение None. В этом случае, какими бы ни были размеры элемента управления, рисунок не претерпит изменений. Кроме того, пропадут границы элемента управления, и он полностью исчезнет из поля зрения. Осталось сделать так, чтобы изображение в PictureBox перемещалось в сторону, обратную движению этого элемента управления. При выполнении данного условия координаты рисунка в элементе управления сравняются с координатами фонового рисунка формы.

Теперь напишем коды. В процедуре PictureBoxl_Paint с помощью метода Drawlmage поместим рисунок в элемент управления PictureBoxl. Рисунок «Закат» возьмем из папки Мои документы, предварительно скопировав его на диск С. Объявим статические переменные, присвоив им значения координат рисунка. Желательно нарисовать простой рисунок в PictureBoxl, чтобы разглядеть движение объекта. В данном примере это отрезок прямой. Обратите внимание на код в процедуре Form_Load. Этот код предотвращает мерцание рисунка во время перерисовки. Его можно использовать во всех подобных программах. В конечном итоге код будет выглядеть так:


⇐ Предыдущая Следующая ⇒
 
 
 
Powered by Exponenta