도로 접합 간단한 프로그램을 구현해야합니다. 접합점의 이미지는 WPF Grid의 Background Property로 설정되며 각 차, 원점 거리 및 대상 거리의 색상을 나타내는 대기열 안에 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 2.0에서 나온 이후로 사용되지 않는 ArrayLists와 함께 .NET 3.0에 도입 된 WPF를 사용하고 있습니까? –