表达式的值不会改变
本文关键字:改变 表达式 | 更新日期: 2023-09-27 18:02:45
我正在尝试使用线性插值移动光标。我的问题是,尽管x变化,y0 + (y1 - y0) * ((x - x0) / (x1 - x0))
的值永远不会改变。我不知道我错过了什么。
public void MoveCursor(int x1, int y1)
{
int y, y0, x, x0;
y0 = Cursor.Position.Y;
x0 = Cursor.Position.X;
for (x = x0; x > x1; x--)
{
y = y0 + (y1 - y0) * ((x - x0) / (x1 - x0));
this.Cursor = new Cursor(Cursor.Current.Handle);
Cursor.Position = new Point(x,y);
Cursor.Clip = new Rectangle(this.Location, this.Size);
Console.Out.WriteLine("X:{0} Y:{1}", x, y);
System.Threading.Thread.Sleep(100);
}
}
尝试使用float:
y = (int)(y0 + (float)(y1 - y0) * (x - x0) / (x1 - x0));