教做详情页的网站,使用网站效果,登录入口注册,wordpress 免密码破解Silverlight动画制作之From/To/By基本动画From/To/By基本动画其中包含了三个最重要的属性#xff1a;From#xff1b;To#xff1b;By。From指的是对象目标属性的起始值#xff0c;To指的是对象目标属性的结束值#xff0c;By指的是结束状态相对于起始状态的偏移量。这里我… Silverlight动画制作之From/To/By基本动画 From/To/By基本动画其中包含了三个最重要的属性FromToBy。From指的是对象目标属性的起始值To指的是对象目标属性的结束值By指的是结束状态相对于起始状态的偏移量。这里我们需要注意的是动画对象不能同时包括To和By两个属性否则编译器会忽略掉By属性的作用。 Silverlight为From/To/By基本动画提供了3个Timeline的派生类 1DoubleAnimation指定时间内使用线性内插属性处理属性值为Double的动画。 2ColorAnimation指定时间内使用线性内插属性处理属性值为Color的动画。 3PointAnimation指定时间内使用线性内插属性处理属性值为Point的动画。 在使用方法上这3中动画没有太大的区别唯一的不同点就是我们怎么样给FromToBy属性进行赋值。 下面我们通过一个小的Demo演示一下From/To/By基本动画。 演示效果如图 刚开始时的动画 结束时的动画 我们可以从两张图很明显看到这个圆形从半径颜色位置上都发生了变化。下面我们通过代码看一下这样的效果是如何实现的。 Canvas x:NameLayoutRoot BackgroundWhite Path x:NamePathAnimate Path.Fill RadialGradientBrush GradientOrigin0.5,0.5 Center0.5,0.5 RadiusX0.5 RadiusY0.5 GradientStop ColorBlack Offset0/ GradientStop x:NameBrushAnimate Offset0.5/ GradientStop ColorChocolate Offset1/ /RadialGradientBrush /Path.Fill Path.Data EllipseGeometry x:NameEllipseGeometryAnimate/ /Path.Data Path.Triggers EventTrigger RoutedEventPath.Loaded BeginStoryboard Storyboard !--控制圆形的水平半径-- DoubleAnimation Storyboard.TargetNameEllipseGeometryAnimate Storyboard.TargetPropertyRadiusX From25 To80 Duration0:0:4 RepeatBehaviorForever AutoReverseTrue/ !--控制圆形的垂直半径-- DoubleAnimation Storyboard.TargetNameEllipseGeometryAnimate Storyboard.TargetPropertyRadiusY From25 To80 Duration0:0:4 RepeatBehaviorForever AutoReverseTrue/ !--控制圆形的填充颜色-- ColorAnimation Storyboard.TargetNameBrushAnimate Storyboard.TargetPropertyColor FromBlack ToChocolate Duration0:0:4 RepeatBehaviorForever AutoReverseTrue SpeedRatio2/ !--控制圆形的中心点-- PointAnimation Storyboard.TargetNameEllipseGeometryAnimate Storyboard.TargetPropertyCenter From25,25 To150,150 Duration0:0:4 RepeatBehaviorForever AutoReverseTrue/ /Storyboard /BeginStoryboard /EventTrigger /Path.Triggers /Path /Canvas 下面我们来说一下这段代码的基本意思 1首先我们声明了3个对象分别是路径图形放射渐变画刷和椭圆几何图形。这些对象我们只进行了命名相关属性的设置需要我们在接下来的代码中去实现。 2接下来我们声明动画播放的触发器事件Path.Loaded 3然后我们向情节串联图版Storyboard中添加动画元素。在我们这个Demo中首先添加了两个DoubleAnimation对象目的是为了改变椭圆几何图形的水平半径和垂直半径所以我们设置的目标属性分别是RadiusX和RadiusY。我们还声明了ColorAnimation对象用来改变放射渐变画刷停止点的颜色除了我们声明From和To之外还设定了SpeedRatio的值为2说明其他动画运行一次颜色却已经变换了2次。最后声明了PointAnimation对象用于控制椭圆几何图形的中心Center属性。Center属性值类型为Point类型所以我们声明From和To的时候需要按照坐标形式。 4最后需要注意的是我们还声明了RepeatBehavior和AutoReverse两个属性RepeatBehavior属性值为ForeverAutoReverse属性值为True表示动画播放完毕后会自动从后向前反向播放并且是无限制的播放。 转载于:https://blog.51cto.com/wzk89/441585