0

我正在开发一个 Windows 应用商店应用程序。我的应用程序中有许多可拖动的用户控件(矩形)。如果用户足够快地拖动我的控件,该控件就会消失。否则,它将保留在屏幕上以防止不必要的删除。

现在我知道如何在ManipulationDelta事件处理程序中获得速度,但我不知道如何让我的控件从屏幕边缘反弹。

4

1 回答 1

0

您的问题的复杂性可能会因很多变量而异。例如,您是否希望这些框相互旋转/碰撞等。

最完整的解决方案是使用第 3 部分解决方案,例如 Box2D(或其用于 c# 的名为box2dx的端口)。但是我不确定是否有可用的 Win-RT 版本。

如果不使用 box2dx 之类的东西,您将不得不推出自己的物理引擎。为此,您需要创建一个以固定间隔(例如 60Hz)更新的代码循环,并在该时间点检查每个矩形的位置和速度。如果您可以设置这样的循环,那么您可以使用SUVAT计算下一帧每个矩形的位置/速度。

于 2012-11-11T11:58:38.520 回答