как вращать мои квадраты, чтобы создать мою демосцену? - PullRequest
0 голосов
/ 01 ноября 2018

Я новичок в C #, и у меня возникла идея создать квадраты, которые будут вращаться. Так что у меня не было проблемы с созданием моих квадратов, но я не знаю, как начать вращать их или что я должен делать, чтобы вращать их. Если это возможно, я хотел бы получить совет о том, как вращать или перемещать свои фигуры.

Это мой код:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp10
{
    public partial class Form1 : Form
    {
        private Bitmap Bmp;//we create a bitmap

    SolidBrush Font = new SolidBrush(Color.Black); // background color

    SolidBrush square1 = new SolidBrush(Color.White);//black and white color for our squares
    SolidBrush square2 = new SolidBrush(Color.Black);


    Timer timer1;


    int angle = 0; 
    int angle1 = 0;
    int angle2 = 0;
    int angle3 = 0;
    int angle4 = 0;
    int angle5 = 0;
    int angle6 = 0;
    int angle7 = 0;
    int angle8 = 0;
    int angle9 = 0;
    int angle10 = 0;
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {

        timer1 = new Timer();
        timer1.Tick += new EventHandler(timer1_Tick);
        timer1.Start();
    }

    private void Draw()
    {

        Bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);

        Graphics g = Graphics.FromImage(Bmp);// We create graphics of bitmap

        g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
        g.FillRectangle(Font, 0, 0, 979, 525);

        g.TranslateTransform((float)this.Width / 2, (float)this.Height / 2);

        g.RotateTransform(angle);
        g.RotateTransform(1);
        g.FillRectangle(square1, -110, -110, 220, 220);

        g.RotateTransform(angle1);
        g.RotateTransform(1);
        g.FillRectangle(square2, -100, -100, 200, 200);

        g.RotateTransform(angle2);
        g.RotateTransform(1);
        g.FillRectangle(square1, -90, -90, 180, 180);

        g.RotateTransform(angle3);
        g.RotateTransform(1);
        g.FillRectangle(square2, -80, -80, 160, 160 );

        g.RotateTransform(angle4);
        g.RotateTransform(1);
        g.FillRectangle(square1, -70, -70, 140, 140);

        g.RotateTransform(angle5);
        g.RotateTransform(1);
        g.FillRectangle(square2, -60, -60, 120, 120);

        g.RotateTransform(angle6);
        g.RotateTransform(1);
        g.FillRectangle(square1, -50, -50, 100, 100);

        g.RotateTransform(angle7);
        g.RotateTransform(1);
        g.FillRectangle(square2, -40, -40, 80, 80);

        g.RotateTransform(angle8);
        g.RotateTransform(1);
        g.FillRectangle(square1, -30, -30, 60, 60);

        g.RotateTransform(angle9);
        g.RotateTransform(1);
        g.FillRectangle(square2, -20, -20, 40, 40);

        g.RotateTransform(angle10);
        g.RotateTransform(1);
        g.FillRectangle(square1, -10, -10, 20, 20);


        pictureBox1.BackgroundImage = Bmp;
    } 


    private void timer1_Tick(object sender, EventArgs e)
    {

        angle++;
        angle1++;
        angle2++;
        angle3++;
        angle4++;
        angle5++;
        angle6++;
        angle7++;
        angle8++;
        angle9++;
        angle10++;

        Draw();

        pictureBox1.BackgroundImage = Bmp;

    }
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...