复合API具有强大的动画引擎,可在通用Windows平台( UWP )应用程序的单独过程中提供快速平滑的运动。 这样,在IoT设备上运行应用程序或呼叫游戏机时,每秒可以保留60帧。 这很简单,很快。 这是实现流畅设计系统的基本功能,要求UWP应用程序创建电影动态。
复合API还提供了以前从未访问过的内容。 如上所述,您可以创建高性能、低级别的面向操作的自定义动画。 正如我们希望视觉效果快速平滑一样,我们的触觉相互作用是粘性和反应性。 当Windows 10用手指或数字笔移动视觉时,视觉元素应该粘在显示屏上,即使快速拖动也是如此。
即使运动看起来不错,手指的感觉也要好。 我们必须保持与真实对象相互作用的错觉。 因为必须要有适当的物理学,所以在画面上拖放视觉的话,就会继续适当的惯性运动。 同样,用户控件在提取和释放时必须提供适当的阻力。
高速平滑的动画系统
可视图层支持关键帧动画和演示文稿动画。 如果使用过XAML动画,您可能已经熟悉关键帧的工作方式。 使用关键帧动画,可以设置随着时间推移要更改的属性的值,并将时间段指定给更改。 在下面的示例中,开始值、中间值和结束值。 动画系统处理补间动画。 也就是说,Windows 10将根据您选择的缓动功能在显式指定的值之间生成所有值。 无论是路线还是多维数据集,动画系统都使用它来确定插值时间值。
关键帧动画是一种基于时间的火灾遗忘机制。 但是,您可能需要调整动画并进行相互驱动,而不是同步移动。
在上面的动画(源代码)中,所有灰色齿轮都是基于动画的动画。 如果上一个齿轮突然加快或方向反转,则下一个齿轮也会强制执行相同的操作。 关键帧动画不能创建以此方式运行的运动效果,但可以表示动画。 因为关键帧的动画基于时间,表示动画基于参考。
在新的expressionbuilder库-使用公开源组件(随创建者更新而发布)构建公式动画的示例代码中,可以找到挂钩动画齿轮的键代码。 以下表达式表示动画将引用并由Visual参数的previousGear参数指定的RotationAngleInDegrees属性驱动。 在以下行中,Windwos 10中当前Visual的RotationAngleInDegrees属性将根据表达式中引用的值结束动画。
但是,如果一个动画可以由另一个动画驱动,您认为Windows 10的更具体用户输入的动画也可以驱动动画吗? 为什么? 我们很好。
scrollviewermanipulrationpropertyset之美
使用XAML-Composition interop从滚动查看器驱动动画非常简单。 在几行代码中,ElementCompositionPreview类的getscrollviewermissionpropertieset方法使用compositeanimation的现有scrollviewer控件 您可以使用动画表情,将ScrollViewer组件与动画的位置对齐。
在XAML中添加视差效果,或创建用于滚动内容的粘性终结器。 在以下演示(源代码)中,还可以使用ScrollViewer驱动列表视图的视差效果。
您可以将视差行为添加到XAML页面中的几行。
更美丽的InteractionTracker
如果使用ScrollViewer驱动表情动画非常强大,但不限于平移/缩放,而是使用触摸手势驱动动画,那么? 此外,使用ScrollViewer操作可以将动画链接到UI线程的响应,并在UI线程陷入困境时丢失平滑的感觉。
如果你想用手指触摸你的项目,你想用以下方式(提供什么源代码),把屏幕上的动画的多个飞行图像作为这个投稿(在最上面的演示中发生的源代码)?
要实现这些效果,请使用新的InteractionTracker类和可视化源类。 InteractionTracker是一种可通过活动输入驱动的状态机。 作为维护状态的一部分,InteractionTracker还包含一系列属性,如Position和ScalePosition。 这是你连接到你的动画片。 此VisualInteractionSource类可确定InteractionTracker何时处理输入(尤其是触摸)
下面的代码示例显示了InteractionTracker的基本实现。 此视口视觉只是页面上支持视觉的根元素。 可以将其用作跟踪器的VisualInteractionSource。 在这种情况下,指定要跟踪x和y操作。 你也说Windows 10想跟踪惯性运动。
追踪器的动画行为基本上可视化为与挂钩不同的视觉,与以前相同。 在当前Compositor中调用CreateExpressionAnimation工厂方法并引用跟踪器的Position属性。
此代码使用InteractionTracker的位置平滑地设置视觉偏移的动画。 其他视觉效果也可以为模糊或不透明的动画提供动力。 因此,所有三个动画都在一起运行,值取决于用户拖动手指的距离,Windows 10提供惊人的平滑视觉体验。 运行演示并尝试自己(源代码)。
这些是从任意输入驱动动画的基础。 你用这惊人的新力量做的全看你了。