C# 如何计算自动动态滚动的速度

C# 如何计算自动动态滚动的速度,c#,xna,scroll,C#,Xna,Scroll,我正在实现一个循环菜单,用户可以通过拖动和轻弹来水平滚动菜单项。当应用程序第一次启动时,我想运行一个自动的动态滚动来向用户显示菜单的行为-在Update()方法中计算菜单项的新位置时,我只是设置了一个任意的速度,以减少给定的摩擦力。假设我应用了0.5f的摩擦力,我如何计算一个速度,让菜单项在我强制自动运动滚动之前精确停止?实现这一点的诀窍是使用一个参数tween(一个插入时间并取出位置的公式),而不是物理模拟。然后是一个简单的代数是的。。。它或多或少起作用。因为我使用了0.5f的摩擦力来减速,所

我正在实现一个循环菜单,用户可以通过拖动和轻弹来水平滚动菜单项。当应用程序第一次启动时,我想运行一个自动的动态滚动来向用户显示菜单的行为-在
Update()
方法中计算菜单项的新位置时,我只是设置了一个任意的速度,以减少给定的摩擦力。假设我应用了0.5f的摩擦力,我如何计算一个速度,让菜单项在我强制自动运动滚动之前精确停止?

实现这一点的诀窍是使用一个参数tween(一个插入时间并取出位置的公式),而不是物理模拟。然后是一个简单的代数是的。。。它或多或少起作用。因为我使用了0.5f的摩擦力来减速,所以我永远不会达到0,我必须强迫它停止滚动,这会导致距离不精确。