如何为数组中的对象创建事件处理程序?

时间:2014-06-22 12:19:12

标签: windows windows-store-apps

我制作的游戏中,只要生成随机数为6,就会创建椭圆。但是所有这些对象都在一个数组中。每当创建椭圆的最后一个对象时,事件处理程序仅适用于它,而不适用于以前的对象。我使用了发送者参数来识别源,但它给出了异常。这是我的代码

public static Ellipse[] greenEllipse = new Ellipse[10];


Game.green++;
 Game.greenEllipse[green] = new Ellipse();
                    SolidColorBrush s = new SolidColorBrush();
                    s.Color = Colors.Green;
                    SolidColorBrush blackBrush = new SolidColorBrush();
                    blackBrush.Color = Colors.Black;

                    // Set Ellipse's width and color
                    greenEllipse[green].StrokeThickness = 2;
                    greenEllipse[green].Stroke = blackBrush;
                    // Fill rectangle with blue color
                    greenEllipse[green].Fill = s;
                    greenEllipse[green].Height = 40;
                    greenEllipse[green].Width = 45;
                    greenEllipse[green].RenderTransform = new TranslateTransform { X = -200, Y = -72 };
                    greenEllipse[green].PointerPressed += OnClickge;
                    g.Children.Add(greenEllipse[green]);



private void OnClickge(object sender, RoutedEventArgs e)
        {

            var ocg = sender;
            tt.Text = nee.ToString();
            if (green1 < 4 && nee != 5 && nee != 6)
            {
                Game.px += nee * 40;
                Game.greenEllipse[Convert.ToInt32(ocg)].RenderTransform = new TranslateTransform { X = px, Y = py };

                green1 += nee;

            }

            if (nee == 5)
            {

                Game.py += (nee) * (-20);
                Game.greenEllipse[Convert.ToInt32(ocg)].RenderTransform = new TranslateTransform { X = px + nee, Y = py };
            }
            if (green1 > 4)
            {
                if (nee != 5)
                {
                    green1--;
                    Game.py += nee * (-20);
                    Game.greenEllipse[Convert.ToInt32(ocg)].RenderTransform = new TranslateTransform { X = px + nee, Y = py };
                }

            }

        }

0 个答案:

没有答案