-1

円を同心円状にしようとして困っています。たとえば、次の円が大きくなり、次に大きくなり、というように続きます。地球のコア、内核、外核、地殻に少し似ています。

以下は私のコードのすべてです:

namespace ClickAppearBalls
{
    public partial class Form1 : Form
    {
        private Random randClick;
        private Graphics paper;
        private Pen pen;
        public Form1()
        {
            InitializeComponent();
            randClick = new Random();
            paper = picCanvas.CreateGraphics();

        }

        private void picCanvas_Click(object sender, EventArgs e)
        {
            int x, y, size1, size2;

            x = picCanvas.Height / 2;
            y = picCanvas.Width / 2;

            Color color = Color.FromArgb(randClick.Next(0, 256), randClick.Next(0, 256), randClick.Next(0, 256));
            Pen pen = new Pen(color);
            pen.Width = 3;
            size1 = 30;
            size2 = 30;
            paper.DrawEllipse(pen, x, y, size1, size2);
        }
    }
}
4

1 に答える 1

0

連続したクリックで使用できるように、クラスでサイズ変数を定義する必要があります。次に、クリックするたびにそれを増やす必要があります。

namespace ClickAppearBalls
{
    public partial class Form1 : Form
    {
        private Random randClick;
        private Graphics paper;
        private Pen pen;
        private int circleSize = 30;

        public Form1()
        {
            InitializeComponent();
            randClick = new Random();
            paper = picCanvas.CreateGraphics();

        }

        private void picCanvas_Click(object sender, EventArgs e)
        {
            int x, y;

            x = picCanvas.Height / 2;
            y = picCanvas.Width / 2;

            Color color = Color.FromArgb(randClick.Next(0, 256), randClick.Next(0, 256), randClick.Next(0, 256));
            Pen pen = new Pen(color);
            pen.Width = 3;
            paper.DrawEllipse(pen, x - circleSize/2, y - circleSize/2, circleSize, circleSize);

            circleSize += 10; // increase size here
        }
    }
}
于 2013-11-07T22:20:18.307 に答える