Главная » Silverlight » Основы анимации в Silverlight

0

Анимацию часто представляют как вывод последовательности кадров. Для воспро­изведения анимационного эффекта кадры должны выводиться один за другим с доста­точно высокой частотой.

Однако в Silverlight используется существенно иная модель анимации. В Silverlight анимация — это способ изменения значений зависимых свойств на заданном интервале времени. Например, чтобы кнопка расширялась и сокращалась, нужно плавно изме­нять ее свойство Width (Ширина). Чтобы сделать кнопку мерцающей, нужно изменять свойство LinearGradientBrush, используемое в качестве фона кнопки.

Встроенные в Silverlight средства анимации не позволяют изменять что-либо, кроме значений свойств. Например, удалить или добавить элемент средствами анимации не­возможно. Невозможно также создать плавный переход между начальной и конечной сценами (хотя существует ряд способов имитации этого эффекта). Кроме того, в анима­ции можно использовать только зависимые свойства, потому что только в них приме­няется система разрешения динамических значений (см. главу 4), связанная со сред­ствами анимации.

Примечание. Средства анимации Silverlight представляют собой сокращенную версию анимации WPF. Концептуальный каркас, модель определения анимационных классов и система раскадровки одинаковые, однако разработчики WPF увидят некоторые ключевые отличия, особенно в способах создания и запуска анимации в коде. Например, в Silverlight нет встроенного метода BeginAnimation (), используемого в WPF.

Дополнительные возможности

На первый взгляд модель анимации Silverlight на основе только зависимых свойств кажется очень ограниченной. Однако со временем вы увидите, что она предоставляет чрезвычайно широкие возможности, Фактически она позво­ляет создавать любые анимационные эффекты на основе общих свойств, поддерживаемых всеми элементами. В дан­ной главе будет продемонстрировано создание компьютерной игры средствами анимации Silverlight. В некоторых ситуациях модель анимации на основе изменения свойств непригодна. Она хорошо приспособлена для добавления динамических эффектов в обычный интерфейс (например, для создания мерцающих кнопок, растягива­ния, перемещения рисунков и так далее), однако для базовых целей приложения необходимы более мощные и гибкие средства. Например, для создания сложных игр или моделирования физических эффектов (например, столкновения частиц) необходимы дополнительные средства управления объектами.

Далее рассматривается совершенно иной способ анимации, основанный на выводе динамически генерируемых ка­дров. При использовании этого способа код выполняется несколько раз в секунду, предоставляя в каждом цикле воз­можность изменить содержимое окна.

Источник: Мак-Дональд, Мэтью. Silverlight 3 с примерами на С# для профессионалов. : Пер. с англ. —- М. : ООО «И.Д. Вильяме», 2010. — 656 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии