zoukankan      html  css  js  c++  java
  • WPF Multi-Touch 开发:惯性效果(Inertia)

    上一篇实例可以发现在图片移动过程中如果将手指移开屏幕则图片会立刻停止,根据这种情况WPF 提供另外一种惯性效果(Inertia)。通过它可以使UI 单元移动的更加符合物理特性、更为实际和流畅。

    在前面代码的基础上还需要为<Canvas> 增加ManipulationInertiaStarting 事件。

    <Canvas x:Name="touchPad" Background="Gray"                
            ManipulationStarting="image_ManipulationStarting"  
            ManipulationDelta="image_ManipulationDelta"
            ManipulationCompleted="image_ManipulationCompleted"
            ManipulationInertiaStarting="image_ManipulationInertiaStarting">
    

         image_ManipulationInertiaStarting 事件内容如下代码,分别对TranslationBehavior、ExpansionBehavior、RotationBehavior 进行设置,使其具备惯性特征。

    private void image_ManipulationInertiaStarting(object sender, 
        ManipulationInertiaStartingEventArgs e)
    {
        e.TranslationBehavior = new InertiaTranslationBehavior();
        e.TranslationBehavior.InitialVelocity = e.InitialVelocities.LinearVelocity;
        e.TranslationBehavior.DesiredDeceleration = 10.0 * 96.0 / (1000.0 * 1000.0);
        
        e.ExpansionBehavior = new InertiaExpansionBehavior();
        e.ExpansionBehavior.InitialVelocity = e.InitialVelocities.ExpansionVelocity;
        e.ExpansionBehavior.DesiredDeceleration = 0.1 * 96 / 1000.0 * 1000.0;
        
        e.RotationBehavior = new InertiaRotationBehavior();
        e.RotationBehavior.InitialVelocity = e.InitialVelocities.AngularVelocity;
        e.RotationBehavior.DesiredDeceleration = 720 / (1000.0 * 1000.0);
    }
  • 相关阅读:
    守卫者的挑战
    黑魔法师之门
    noip2015 普及组
    noip2015 提高组day1、day2
    40026118素数的个数
    高精度模板
    经典背包系列问题
    修篱笆
    [LintCode] Linked List Cycle
    [LintCode] Merge Two Sorted Lists
  • 原文地址:https://www.cnblogs.com/happyyftk/p/3213330.html
Copyright © 2011-2022 走看看