windows10前一个版本_ 如何理解 Windows 10 视觉层的平滑交互和运动

复合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提供惊人的平滑视觉体验。 运行演示并尝试自己(源代码)。

这些是从任意输入驱动动画的基础。 你用这惊人的新力量做的全看你了。

大家都在看

相关专题