【发布时间】:2013-05-22 14:48:55
【问题描述】:
我试图每秒调用一个方法 20 次以将 A 点推离 B 点。 该方法应使用以下变量:
- 点 A (X)
- 点 A (Y)
- 点 B (X)
- 点 B (Y)
- 实力
A 点和 B 点越靠近,它们彼此远离的速度就越快。 强度变量控制每个刻度的距离以及不再推动 A 点的点之间的距离...
基本上我正在尝试将光标慢慢推离指定点。
有什么想法可以实现吗?
这是我的尝试,不幸的是,如果距离增加,光标移动得更快......
'PosX and PosY are the percentage of the screen width/height
'Calculate the real position
Dim ScreenPosX As Integer = Screen.PrimaryScreen.WorkingArea.Width * (PosX / 100)
Dim ScreenPosY As Integer = Screen.PrimaryScreen.WorkingArea.Height * (PosY / 100)
Dim PointOffsetX As Integer = Cursor.Position.X - ScreenPosX
Dim PointOffsetY As Integer = Cursor.Position.Y - ScreenPosY
If PointOffsetX > -Strength And PointOffsetX < Strength Then
Dim StrengthFactorX As Integer = Strength - ScreenOffsetX
Dim StrengthFactorY As Integer = Strength - ScreenOffsetY
Cursor.Position = New Point(Cursor.Position.X + StrengthFactorX, Cursor.Position.Y + StrengthFactorY)
'Would be the same for Y. Obviously doesn't work though.
End If
【问题讨论】:
-
你试过什么? StackOverflow 通常不会很好地回答这样的问题,基本上是“为我编写代码”。你所拥有的只是一个问题陈述和一个问题——没有证据表明你有任何努力。先尝试一下,然后再提出一个更具体的问题来显示您的代码和您的具体问题。
-
问题太宽泛了。你使用什么绘图技术? GDI ?一些二维库? Windows 窗体 ? WPF ?
-
@Tigran 我认为绘画与问题无关。它只是一个插图。
-
是的,我只需要计算点数。抱歉没有添加我的代码,我认为添加它没有意义......我会在几秒钟内添加它。
-
您可以使用 抛射运动 公式轻松准确地求解位移,从而在每次计算迭代中以指数方式增加时间。