private void AnimarCirculo(Circulo circulo, Vista vista) { vista.ColorLapiz = Color.DarkRed; vista.mostrar_circulo(circulo); bool sentido = true; while (true) { while (checkBox1.Checked) { Thread.Sleep(500); vista.ColorLapiz = Color.LightSteelBlue; vista.mostrar_circulo(circulo); if (sentido) { if (circulo.centro.X <= panel1.Width - 2 * circulo.radio) circulo.centro = new Point(circulo.centro.X + circulo.radio, circulo.centro.Y); else sentido = false; } else { if (circulo.centro.X > circulo.radio) circulo.centro = new Point(circulo.centro.X - circulo.radio, circulo.centro.Y); else sentido = true; } vista.ColorLapiz = Color.DarkRed; vista.mostrar_circulo(circulo); } } }
private void button1_Click(object sender, EventArgs e) { if (checkBox1.Checked) { Random aleatorio = new Random(); int r = aleatorio.Next(15, 50); Point punto = new Point(aleatorio.Next(r, panel1.Width * r), aleatorio.Next(r, panel1.Height)); Circulo circulo = new Circulo(r, punto); Task tarea = new Task(() => AnimarCirculo(circulo, new Vista(panel1))); tarea.Start(); } else MessageBox.Show("La casilla de movimiento no esta seleccionada"); }
public void mostrar_circulo(Circulo c) { g.DrawEllipse(new Pen(ColorLapiz, 3), c.centro.X, c.centro.Y, c.radio, c.radio); }