如何让我的控件从屏幕边缘反弹?

时间:2012-11-10 14:52:18

标签: c# windows-8 windows-store-apps

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

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

1 个答案:

答案 0 :(得分:0)

问题的复杂性可能因很多变量而异。例如,你想让盒子相互旋转/碰撞等。

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

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

相关问题