Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УчебноеПособие по VB_6.doc
Скачиваний:
21
Добавлен:
24.12.2018
Размер:
3.17 Mб
Скачать

4.4.2. Создание анимации пользователем

Каждый пользователь при небольшом навыке может создать собственные анимационные эффекты. При этом можно использовать различные способы и возможности языка программирования:

  • пересчет координат объекта и использование свойств Top и Left объекта или операторов CurrentX, CurrentY для переопределения координат объекта;

  • использование метода Move;

  • использование буфера обмена;

  • прямое присвоение значений свойств одного графического объекта другому.

Общий алгоритм работы программы при создании анимации следующий:

  • воспроизвести изображение в начальной точке;

  • сделать паузу на некоторое время, достаточное для фиксации изображения (десятые доли секунды). Длительность паузы, когда изображение на экране неподвижно определяет и скорость перемещения объекта;

  • стереть изображение;

  • пересчитать координаты объекта и воспроизвести его в новой позиции.

Самая большая проблема в анимации для VB состоит в необходимости перерисовки объекта каждый раз, когда он передвигается. Этот процесс занимает много времени. Рисование цветом фона тоже не работает, поскольку затирает все, что было до этого на экране монитора.

Ключом к решению данной проблемы является режим DrawMode, определяющий как рисующий цвет взаимодействует с уже находящимися в объекте цветами.

Режим DrawMode

Существует 15 возможных установок DrawMode. Во всех случаях VB сравнивает значение цвета пикселя на экране со значением цвета пикселя объекта, который рисуется на экране.

Если DrawMode = 7, то результатом его работы будет оператор Хor. DrawMode = 6 – соответствует оператору Not, а DrawMode = 4 определяет работу VB с оператором Not над значениями цветов переднего плана и использует значения этих цветов для рисования.

Если оператор Xor применяется дважды, то происходит восстановление первоначального цвета.

Повторное воспроизведение графического объекта при устаноленном режим DrawModе = 7 для формы или окна позволяет стереть

построенное ранее изображение без потери другой информации.

Для перемещения изображения можно использовать метод Move.

Например:

Command1.Move x, y

Организация пауз

Для наблюдения процесса движения, особенно на быстродействующих компьютерах, необходимо позаботиться о замедлении движения объекта. Это можно сделать двумя способами: уменьшением шага переноса и организацией пауз.

Для организации пауз можно использовать различные приемы: использование пустых циклов, использование системных часов, использование таймера.

Использование пустых циклов:

For i=1 To 1000: DoEvents: Next i

Использование системных часов:

T=Time() или T=Timere()

While Time() – T < 2: Wend

Использование таймера

Visual Basic позволяет устанавливать до 36 таймеров. Основные свойство таймера: Intrval и Enabled. Основное событие – Timer.

Interval - позволяет установить интервал выдачи сигнала от 0 до 10000, что соответствует примерно одной минуте. Для получения больших интервалов времени необходимо применять счетчики.

Enabledпозволяет запускать и останавливать таймер. Если Enabled равно True, то таймер запускается. При установке значения свойства Enabled в False таймер останавливается.

Private Sub Timer1_Timer()

Static TimerTimes As Integer

TimerTimes = TimerTimes + 1

If TimerTimes = 2 Then

TT = TimerTimes

TimerTimes = 0

Else

Exit Sub

End If

End Sub

Событие Timer используется для размещения текста программы, которая должна выполняться через заданный интервал времени.

В приведенном примере таймер выдает сигнал через две минуты.