【问题标题】:How to implement snap points with an inertia-enabled control如何使用启用惯性的控件实现捕捉点
【发布时间】:2013-07-29 09:18:04
【问题描述】:

我目前正在实施自定义滑块控件。该控件既可以使用指点设备也可以使用触摸输入设备进行操作。

为了提供一致和熟悉的用户体验,该控件使用 Windows 7 中包含的 Inertia API 提供的简单物理模型。我已经设置了一个 IManipulationProcessor 和一个 IInertiaProcessor 连接到我的 @ 987654324@ 执行。事件路由已就位,并在完成操纵处理后调用惯性处理器,执行轨迹计算。

到目前为止,一切都很好。但是,我无法理解如何将快照点合并到此设置中。通过捕捉点我指的是行为,即滑块应该只允许降落在预定义的点,而不是介于两者之间。 IManipulationProcessorIInertiaProcessor 似乎都没有直接支持这一点。将此行为添加到惯性处理的末尾是可能的,但无法为典型的视觉反馈提供运动信息。

那么你在哪里以及如何实现快照点?

【问题讨论】:

    标签: c user-interface winapi touch


    【解决方案1】:

    您需要为捕捉点分配一个上限和下限阈值,如果轨迹将落在一个捕捉点范围内,则将投影停止点替换为捕捉点位置...注意专利申请 12/983106 作为美国出版物 2012/0174005 出版。您可能会发现自己面临专利侵权问题。

    【讨论】:

    • 不幸的是,没有(直接)方法可以查询IInertiaProcessor 的预测着陆点。虽然可以设置弹性边距和边界,但无法提前知道将它们放在哪里。不过,感谢您指出专利,尽管我相信我会安全的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 2018-10-30
    • 2021-05-04
    • 1970-01-01
    • 2020-02-25
    • 2019-08-25
    • 1970-01-01
    相关资源
    最近更新 更多