(注:関連するQ + Aがあることは知っていますが、それはタイマーの終了に関連していますが、私のものはダニに関係しています)
このコードは、2点間を移動する長方形をアニメートするために使用されます。現時点では、最初の動きは完璧ですが、その後は毎回、アニメーションが呼び出されるたびにアニメーションが大幅に速くなります。
ティックごとに長方形の動きを呼び出す方法についての私の側の誤解によるものだと思います。
どんな助けでも大歓迎です!
このセクションはタイマーを開始します:
if (floorNo == 2)
{
timerDown.Tick += new EventHandler(timer_LiftDown);
timerDown.Interval = 10;
timerDown.Enabled = true;
timerDown.Start();
}
このコードはティックごとに呼び出されます(右?):
void timer_LiftDown(object sender, EventArgs e)
{
rectangle1.Location = new Point(192, rectangle1.Location.Y + 2);
if (rectangle1.Location.Y >= 196)
{
timerDown.Stop();
}
}
いくつかの無関係なコードを切り取りました(たとえば、現在の状態でテキストボックスを更新する、floorNo変数を変更するなど)。
ありがとうございました。