Silverlight анимация движения и вращения элементов

silverlight анимация движения Анимация в Silverlight обычно включает объект раскадровки Storyboard, анимируемую переменную, элемент анимации и свойство элемента которым управляет данная анимация. Объект Storyboard, как видно из названия, хранит данные о хронологии анимации, причем в качестве дочерних членов может включать любую анимацию наследуемую от класса Timeline, это ColorAnimation, ColorAnimationUsingKeyFrames, DoubleAnimation, DoubleAnimationUsingKeyFrames, ObjectAnimationUsingKeyFrames, PointAnimation, PointAnimationUsingKeyFrames и даже самую себя т. е. Storyboard. Такое многообразие способов создания анимации позволяет достичь высокой реалистичности при движении элементов на сцене любого браузера.

DoubleAnimation позволяет создавать линейную анимацию, одну из самых простых типов анимации. Линейная анимация основана на равномерном изменении во времени какого-либо свойства элемента, например размеры, положение, цвет, прозрачность. Довольно-таки простая анимация плавно изменяет значения заданной переменной параметрами From, To, By в течение указанного временного промежутка. При исполнении данной анимации могут изменяться значения переменных типа Double, Color, Point по закону линейной интерполяции. Все свойства, в линейной анимации, изменяются равномерно в течение заданного отрезка времени.

Анимация на ключевых кадрах позволяет существенно повысить красочность анимационных эффектов. Суть данной анимации в создании главных, опорных кадров, разбивая огромную, сложную анимацию на простые сегменты. Данный способ упрощает создание длительных замысловатых анимаций. В исходнике ниже также используется анимация основанная на опорных кадрах DoubleAnimationUsingKeyFrames. DoubleAnimationUsingKeyFrames может включать множество самых разнообразных видов ключевых кадров: DoubleKeyFrame, DiscreteDoubleKeyFrame, EasingDoubleKeyFrame, LinearDoubleKeyFrame, SplineDoubleKeyFrame. Весь этот ассортимент позволяет максимально приблизить анимацию к естественности и даже придать характер анимированному объекту.

Исходник анимации Silverlight включает использование разных типов и видов анимации движения и вращения объектов. Для вычисления угла и направления вращения используем свойства векторов из полезной науки геометрии. Сюжет анимационной сцены включает ракету, которая движется по различным законам созданной анимации, сталкивающуюся с объектом, который, в свою очередь, от столкновения разлетается на осколки. Осколки для пущей реальности вращаются вокруг своих осей. Ракета без устали, упорно движется в место щелчка мыши.
Для движения ракеты используются линейная анимация и анимация основанная на опорных кадрах. По сложности они друг от друга не сильно различаются, но по возможностям анимация на ключевых кадрах гораздо богаче, тем более что опорные кадры можно использовать от дискретных до ключевых кадров использующих различные законы плавного изменения параметров свойств объектов анимации. Например, используя опорные кадры с функциями замедления и ускорения анимации EasingDoubleKeyFrame можно элементам сцены придать оттенки характера.

Примечание. Исходник создан в MS Visual Studio 2013, на платформе Silverlight5.

Просмотр демостраницы »

Файл исходника Размер Количество загрузок
silverlightanimation.zip 310 КБайт 252
Яндекс цитирования Rambler's Top100 Яндекс.Метрика