Валерий Алексеевич Жарков

Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 4: Программирование на Visual Basic искусственного интеллекта


Скачать книгу

Sub InitializeTimer()

      'Включаем таймер Timer:

      Timer1.Enabled = True

      'Генерируем событие Tick через каждый интервал Interval:

      Timer1.Interval = 500

      End Sub

      Теперь в режиме выполнения проекта с интервалом в эти 500 миллисекунд (или 0,5 секунды) будет генерироваться запрограммированное нами событие Tick и выполняться при помощи метода Timer1_Tick (см. ниже листинг 2.3), а именно, в данной главе будет мигать заголовок формы.

      Рис. 2.9. Значок для компонента Timer.

      Рис. 2.10. Панель Properties.

      Следовательно, мы закончили визуальную разработку анимационного эффекта, и нам необходимо написать код программы. Для этого дважды щёлкаем значок для компонента Timer (рис. 2.9). Появляется файл Form1.vb с автоматически сгенерированным шаблоном метода, который после записи нашего кода принимает вид листинга 2.3.

      Листинг 2.3. Метод для создания мигающего заголовка.

      Private Sub Timer1_Tick(ByVal sender As System.Object, _

      ByVal e As System.EventArgs) Handles Timer1.Tick

      'Объявляем статическую переменную,

      'по умолчанию равную False:

      Static myText As Boolean

      'Задаём чередование двух заголовков формы:

      If myText Then

      Me.Text = "Калькулятор (Calculator)"

      Else

      Me.Text = "Калькулятор с анимацией " & _

      "(Calculator with animation)"

      End If

      'Изменяем значение myText на противоположное:

      myText = Not myText

      End Sub

      Подробные пояснения к этому коду, а также другие варианты подобного кода даны в наших книгах [Литература].

      Строим программу и запускаем на выполнение обычным образом: Build, Build Selection; Debug, Start Without Debugging. В ответ Visual Basic выполняет программу и выводит форму в режиме выполнения. На этой форме с заданной нами частотой в 500 миллисекунд (или 0,5 секунды) заголовок “Калькулятор (Calculator)” сменяется на “Калькулятор с анимацией (Calculator with animation)” (рис. 2.11), и таким образом создаётся эффект анимации.

      Если на листинге 2.3 вместо слова "Калькулятор (Calculator)" записать оператор "" (т.е. удалить слово "Калькулятор (Calculator)"), то будет появляться и исчезать только второй заголовок формы "Калькулятор с анимацией (Calculator with animation)", и этот заголовок будет только мигать (без замены текста) с заданной частотой. Далее на этом калькуляторе можно выполнять описанные выше расчёты (рис. 2.11).

      Рис. 2.11.

      Аналогично создаётся анимация по другим вариантам, приведённым в наших книгах [Литература].

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

      Подчеркнем, что мы разработали именно общую методику создания анимации, так как если на листинге 2.3 вместо ключевого слова Me записать значение свойства Name для какого-нибудь элемента управления (Label1, Button1 и т.д.), то мы получим эффект анимации для этого элемента управления.

      Важно отметить, что на любой форме мы можем разместить несколько компонентов Timer (Таймер), каждый из которых будет создавать свой эффект анимации по разработанной в данной книге методологии.

      2.8. Методика приостановки и возобновления анимации и мультипликации

      В