2011-07-05 14 views
1

私はロードジャンクションシンプルプログラムを実装する必要があります。ジャンクションのイメージは、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); 
         } 
} 
+1

.NET 3.0から導入されたWPFと、.NET 2.0がリリースされて以来時代遅れだったArrayListsを使用していますか? –

答えて

0

では、WPFアニメーションは別の方法で構成されています。

Storyboardをご覧ください。これがあなたを助けることを願っています。

+0

私はWPFを使用する必要はありません。これを行う簡単な方法はありますか? – danrah

+0

downvoteは意図的ではありませんでした。私のプロフィールを確認した後には、それが実現しました。私は数日前に起こったので、それを元に戻すことはできませんので、あなたの答えの1つを補うために無料のupvoteを与えました。ごめんなさい! – aligray

関連する問題