![]() |
Практическая работа 2. Создание процедурыDate: 2015-10-07; view: 383. Расматривается процедура, реализующая эффект движения объекта. Он может быть реализован с помощью 2-х элементов управления PictureBox (в данном случае они должны быть элементами массива объектов (массив из 2-х элементов)), содержащих графические объекты-кадры. Здесь в качестве источника графических объектов служат файлы Bfly1 и Bfly2 (бабочки с развeрнутыми и сложенными крыльями), используется элемент управления Image в качестве объекта для демонстрации движения, элемент управления Timer обеспечивает старт процедуры через установленный временной интервал. Используется также элемент управленияCommandButton для остановки выполнения проекта. Код обеспечивает размещение на экране поочерeдно с периодом 0,1 - 0,2 сек 2-х отличающихся кадров Bfly1 и Bfly2. При таком временном интервале пользователь не замечает смены кадров и создаeтся эффект движения объекта. Последовательность действий: · создать на форме контейнер - объект PictureBox, · создать массив объектов из 2-х элементов PictureBox, для этого вывести контекстное меню (щелчок правой клавишей мыши на объекте), затем использовать команду контекстного меню Копировать, затем - команду контекстного меню Вставить, на вопрос "Хотите, чтобы объект стал элементом массива?" ответить "Да". Копия объекта появится в верхнем левом углу формы, а в выпадающем списке окна свойств, вверху теперь имеется 2 элемента управления PictureBox, их идентификаторы: Picture1(0) и Picture1(1) - это элементы массива PictureBox, массив состоит из 2-х элементов, индексация проводится с 0, · свойствам Picture объектов PictureBox присвоить значения Bfly1 и Bfly2 соответственно, см. практика 1, п. 21, при этом в контейнерах PictureBox появятся объекты-бабочки,
· создать на форме объект Image, слева, · создать на форме объект Timer, · создать на форме объект CommandButton, код которого обеспечит завершение выполнения программы, · задать свойства элементов управления,
· Для того, чтобы поместить i-кадр на экран, нужно свойству Picture объекта Image ( Image.Picture ) присвоить значение свойства Picture1(1). Picture, а реализующая элементарную анимацию программа представлена ниже. · ввести код, данный ниже, затем стартовать проект; для остановки выполнения сделать щелчок на командной кнопке. (General) (Declarations)Dim i As Integer ' инструкция описания переменной, см. ниже Private Sub Form_Load()i = 0End Sub Rem присвоить значение индексу элемента массива Picture1(i)Private Sub Timer1_Timer()Rem свойству Picture элемента управления Image присвоитьRem значение свойства Picture элемента управления PictureImage1.Picture = Picture1(i).Picturei = i + 1If i = 2 Then i = 0 End Sub Private Sub Command1_Click()End ' закончить выполнение программыEnd SubПояснения. При загрузке формы в память начинает выполняться процедура Form_Load(), где номеру кадра i присваивается значение 0. Сразу же начинает выполняться процедура Timer_Timer(): на экран Image выводится кадр с индексом 0 (бабочка - Bfly1), следующая строка кода увеличивает номер кадра (i= i +1). В следующей строке проводится поверка номера кадра и если он не равен 2, то на экран выводится второй кадр кадр (i=1, бабочка - Bfly2). При повторном выполнении кода переменной i присваивается значение 0 и происходит смена кадра, - бабочка машет крыльями.
|