Компьютерная графика, мультимедиа и игры на Visual C#


Глава Разработка мультипликации при помощи списка рисунков 


 

Листинг 66.1. Метод для компонента Timer.

//Объявляем глобальную переменную currentImage

//для номера текущего рисунка и приравниваем нулю:

int currentImage = 0;

private void timer1_Tick(object sender, EventArgs e)

{

      //Последовательно выводим рисунки:

      if(imageList1.Images.Empty != true)

          {

          //Центрируем рисунок внутри рамки PictureBox1:

          pictureBox1.SizeMode =

                        PictureBoxSizeMode.CenterImage;

          //Выводим рисунок с номером 'currentImage' :

          pictureBox1.Image =

                            imageList1.Images[currentImage];

          //Организовываем цикл по индексу 'currentImage' :

          currentImage = currentImage + 1;

          if (currentImage == imageList1.Images.Count)

                                           currentImage = 0;

          }

}

В этом коде главным является вызов свойства Image, при помощи которого текущий рисунок загружается в рамку элемента управления pictureBox1.

Чтобы установить значение свойства Interval компонента Timer в зависимости от свойства Value ползунка элемента управления TrackBar, дважды щелкаем элемент управления TrackBar в режиме проектирования. Появляется файл Form1.cs с шаблоном, который после записи нашего кода принимает следующий вид.

Листинг 66.2. Метод для элемента управления TrackBar.

private void trackBar1_Scroll(object sender, EventArgs e)

{

      timer1.Enabled = true;

      timer1.Interval = trackBar1.Value;

}

Согласно разработанной выше методике, чтобы иметь возможность приостановить (и запустить вновь) процесс анимации на любом рисунке при помощи кнопки Stop/Start Animation, дважды щелкаем эту кнопку в режиме проектирования (рис. 66.1). Появляется файл Form1.cs с шаблоном, который после записи нашего кода принимает такой вид.

 

Листинг 66.3. Метод для кнопки Stop/Start Animation.

bool OffOn = false;

private void button6_Click(object sender, EventArgs e)

{

      //Задаем чередование остановки и возобновления анимации




Начало  Назад  Вперед



Книжный магазин