因此,使用wpf来设置椭圆的动画

本文关键字:动画 设置 使用 wpf 因此 | 更新日期: 2023-09-27 18:01:04

我必须实现一个路口简单程序。路口的图像被设置为WPF网格的背景属性,我在队列中有ArrayLists来表示每辆车、起点街道和终点街道的颜色
现在,我需要将汽车动画化为移动的椭圆,我需要每辆汽车在有特权的汽车离开屏幕后开始移动
我使用以下代码,但它只为第一辆车设置动画
解决方案是什么?

private void button1_Click(object sender, RoutedEventArgs e)
    {
        for (int i = 0; i < queue.Count; i++)
        {
            ArrayList car = (ArrayList)queue[i];
            int id = Convert.ToInt32(car[0]);
            int color = Convert.ToInt32(car[1]);
            int from= Convert.ToInt32(car[2]);
            int to = Convert.ToInt32(car[3]);

                        Ellipse myEllipse = new Ellipse();
                        if (color == 0)
                        {
                            myEllipse.Stroke = System.Windows.Media.Brushes.Green;
                            myEllipse.Fill = System.Windows.Media.Brushes.Green;
                        }
                        else {
                            myEllipse.Stroke = System.Windows.Media.Brushes.Blue;
                            myEllipse.Fill = System.Windows.Media.Brushes.Blue;
                        }
                        myEllipse.HorizontalAlignment = HorizontalAlignment.Left;
                        myEllipse.VerticalAlignment = VerticalAlignment.Center;
                        myEllipse.Width = 45;
                        myEllipse.Height = 45;
                        myGrid.Children.Add(myEllipse);
                        DoubleAnimation da = new DoubleAnimation();
                        da.From = from;
                        da.To = to;
                        da.Duration = new Duration(TimeSpan.FromSeconds(1));
                        TranslateTransform tt = new TranslateTransform();
                        myEllipse.RenderTransform = tt;
                        tt.BeginAnimation(TranslateTransform.XProperty, da);
                         }
}

因此,使用wpf来设置椭圆的动画

在WPF中,动画是以其他方式组织的。

我建议你看看故事板。希望这对你有帮助。