Компьютерная графика, мультимедиа и игры на Visual C#


         

Глава Методика изображения летающих предметов  - часть 3


      //Получаем объект класса Graphics

      //для изображения мяча,

      //удаляем существующий мяч и рисуем новый мяч.

      //Задаем черный цвет Black для мяча,

      //чтобы он был лучше виден в книге:

      myGraphics = Graphics.FromImage(myBitmap);

      myGraphics.Clear(BackColor);

      myGraphics.FillEllipse(Brushes.Black, new

                Rectangle(move_of_ball_x,

                move_of_ball_y, 2 * radius_of_ball_x, 2 *

                radius_of_ball_y));

      //Высвобождаем ресурсы, выделенные объекту myGraphics:

      myGraphics.Dispose();

       

      //Задаем расположение мяча в центре прямоугольника:

      position_of_ball_x =

                    Convert.ToInt32(width_of_rectangle / 2);

      position_of_ball_y =

                   Convert.ToInt32(height_of_rectangle / 2);

}

Чтобы подключить к работе таймер, дважды щелкаем значок для компонента Timer (ниже формы в режиме проектирования). Появляется файл Form1.cs с шаблоном, который после записи нашего кода принимает следующий вид.

Листинг 59.3. Метод для компонента Timer.

private void timer1_Tick(object sender, EventArgs e)

{

      //Создаем объект myGraphics класса Graphics:

      Graphics myGraphics = CreateGraphics();

       

      //Рисуем четыре граничные линии прямоугольника,

      //от которых будет отскакивать летающий мяч:

      myGraphics.DrawLine(new Pen(Color.Red, 3),

      boundary_of_rectangle_x, boundary_of_rectangle_у,

      width_of_rectangle, boundary_of_rectangle_у);

      myGraphics.DrawLine(new Pen(Color.Red, 3),

      boundary_of_rectangle_x, boundary_of_rectangle_у,

      boundary_of_rectangle_x, height_of_rectangle);

      myGraphics.DrawLine(new Pen(Color.Red, 3),

      boundary_of_rectangle_x, height_of_rectangle,

      width_of_rectangle, height_of_rectangle);

      myGraphics.DrawLine(new Pen(Color.Red, 3),

      width_of_rectangle, boundary_of_rectangle_у,

      width_of_rectangle, height_of_rectangle);




Содержание  Назад  Вперед