私はロードジャンクションシンプルプログラムを実装する必要があります。ジャンクションのイメージは、WPFグリッドの背景プロパティとして設定され、各カー、元の通り、目的地の通りの色を表すために、キュー内にArrayListsがあります。
ここでは、車を動いている楕円として動かす必要があります。前車が画面外に出た後に、それぞれの車が動き始める必要があります。
次のコードを使用していますが、最初の車のアニメーションのみです。
解決策は何ですか?wpfを使用して楕円をアニメーション化する
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);
}
}
.NET 3.0から導入されたWPFと、.NET 2.0がリリースされて以来時代遅れだったArrayListsを使用していますか? –