Spec-Zone.ru › Pygame
pygame.draw
модуль pygame для рисования фигур

Рисует несколько простых фигур на поверхности. Эти функции будут работать для рендеринга на любой поверхности.

Большинство функций принимают аргумент width для представления размера штриха (толщины) по краю фигуры. Если передано значение width равное 0, фигура будет залита (сплошная).

Все функции рисования учитывают область обрезки для поверхности и будут ограничены этой областью. Функции возвращают прямоугольник, представляющий границу области измененных пикселей. Этот прямоугольник является минимальной ограничивающей рамкой, охватывающей затронутую область.

Все функции рисования принимают аргумент color, который может быть одного из следующих форматов:

  • объект pygame.Color

  • тройка (RGB) (кортеж/список)

  • четверка (RGBA) (кортеж/список)

  • целочисленное значение, которое было сопоставлено с форматом пикселей поверхности (см. pygame.Surface.map_rgb() и pygame.Surface.unmap_rgb())

Значение альфа канала цвета будет записано непосредственно в поверхность (если поверхность содержит альфа каналы пикселей), но функция рисования не будет рисовать прозрачно.

Эти функции временно блокируют поверхность, на которой они работают. Многочисленные последовательные вызовы рисования могут быть ускорены блокировкой и разблокировкой объекта поверхности вокруг вызовов рисования (см. pygame.Surface.lock() и pygame.Surface.unlock()).

Примечание

См. модуль pygame.gfxdraw для альтернативных методов рисования.

pygame.draw.rect()
рисование прямоугольника
rect(surface, color, rect) -> Rect
rect(surface, color, rect, width=0, border_radius=0, border_top_left_radius=-1, border_top_right_radius=-1, border_bottom_left_radius=-1, border_bottom_right_radius=-1) -> Rect

Рисует прямоугольник на заданной поверхности.

Параметры
  • surface (Surface) -- поверхность для рисования

  • color (Color или int или кортеж(int, int, int, [int])) -- цвет для рисования, значение альфа канала необязательно, если используется кортеж (RGB[A])

  • rect (Rect) -- прямоугольник для рисования, положение и размеры

  • width (int) --

    (необязательно) используется для толщины линии или для указания, что прямоугольник должен быть залитым (не путать со значением width параметра rect)

    если width == 0, (по умолчанию) заполнить прямоугольник
    если width > 0, используется для толщины линии
    если width < 0, ничего не будет нарисовано

    Изменено в pygame 2.1.1: Рисование прямоугольников с шириной теперь правильно рисует ширину внутри области прямоугольника, а не использует внутренний вызов draw.lines(), у которого половина ширины выходила за пределы области прямоугольника.

  • border_radius (int) -- (необязательно) используется для рисования прямоугольника с закругленными углами. Поддерживаемый диапазон - [0, min(высота, ширина) / 2], где 0 соответствует прямоугольнику без закругленных углов.

  • border_top_left_radius (int) -- (необязательно) используется для установки значения левого верхнего угла. Если не задано, будет использовано значение border_radius.

  • border_top_right_radius (int) -- (необязательно) используется для установки значения правого верхнего угла. Если не задано, будет использовано значение border_radius.

  • border_bottom_left_radius (int) -- (необязательно) используется для установки значения левого нижнего угла. Если не задано, будет использовано значение border_radius.

  • border_bottom_right_radius (int) --

    (необязательно) используется для установки значения правого нижнего угла. Если не задано, будет использовано значение border_radius.

    если border_radius < 1 будет нарисован прямоугольник без закругленных углов
    если любое из радиусов имеет значение < 0 будет использовано значение border_radius
    Если сумма радиусов с одной стороны прямоугольника больше размера прямоугольника,
    радиусы будут масштабироваться
Возвращает

прямоугольник, ограничивающий измененные пиксели, если ничего не нарисовано, позиция прямоугольника будет позицией указанного rect параметра, а его ширина и высота будут 0

Тип возвращаемого значения

Rect

Примечание

Метод pygame.Surface.fill() так же хорошо подходит для рисования заполненных прямоугольников и может быть ускорен на аппаратном уровне на некоторых платформах.

Изменено в pygame 2.0.0: Добавлена поддержка ключевых аргументов.

Изменено в pygame 2.0.0.dev8: Добавлена поддержка радиуса угла.

pygame.draw.polygon()
рисование многоугольника
polygon(surface, color, points) -> Rect
polygon(surface, color, points, width=0) -> Rect

Рисует многоугольник на заданной поверхности.

Параметры
  • surface (Surface) -- поверхность для рисования

  • color (Color или int или кортеж(int, int, int, [int])) -- цвет для рисования, значение альфа канала необязательно, если используется кортеж (RGB[A])

  • points (кортеж(координата) или список(координата)) -- последовательность из 3 или более (x, y) координат, образующих вершины многоугольника, каждая координата в последовательности должна быть кортежом/списком/pygame.math.Vector2 из 2 целых/вещественных чисел, например [(x1, y1), (x2, y2), (x3, y3)]

  • width (int) --

    (необязательно) используется для толщины линии или для указания, что многоугольник должен быть заполнен

    если width == 0, (по умолчанию) заполнить многоугольник
    если width > 0, используется для толщины линии
    если width < 0, ничего не будет нарисовано

    Примечание

    При использовании width значений > 1, линии края будут расширяться за пределы первоначальной границы многоугольника. Более подробную информацию о том, как толщина линий края расширяется, см. в примечаниях к функции pygame.draw.line().

Возвращает

прямоугольник, ограничивающий измененные пиксели, если ничего не нарисовано, позиция прямоугольника будет позицией первой точки в параметре points (вещественные значения будут усечены), а его ширина и высота будут 0

Тип возвращаемого значения

Rect

Возможные исключения
  • ValueError -- если len(points) < 3 (должно быть как минимум 3 точки)

  • TypeError -- если points не является последовательностью или points не содержит пар чисел

Примечание

Для рисования аппроксимированных многоугольников используйте aalines() с closed=True.

Изменено в pygame 2.0.0: Добавлена поддержка ключевых аргументов.

pygame.draw.circle()
нарисовать окружность
circle(surface, color, center, radius) -> Rect
circle(surface, color, center, radius, width=0, draw_top_right=None, draw_top_left=None, draw_bottom_left=None, draw_bottom_right=None) -> Rect

Рисует окружность на заданной поверхности.

Параметры
  • surface (Surface) -- поверхность для рисования

  • color (Color или int или tuple(int, int, int, [int])) -- цвет для рисования, значение альфа необязательно, если используется кортеж (RGB[A])

  • center (tuple(int или float, int или float) или list(int или float, int или float) или Vector2(int или float, int или float)) -- центральная точка окружности в виде последовательности из 2 целых/вещественных чисел, например (x, y)

  • radius (int или float) -- радиус окружности, измеряемый от center параметра, ничего не будет нарисовано, если radius меньше 1

  • width (int) --

    (необязательно) используется для толщины линии или для указания того, что окружность должна быть залита

    если width == 0, (по умолчанию) заполнить окружность
    если width > 0, используется для толщины линии
    если width < 0, ничего не будет нарисовано

    Примечание

    При использовании width значений > 1, линии края будут расти только внутрь.

  • draw_top_right (bool) -- (необязательно) если установлено в True, то будет нарисована правая верхняя часть окружности

  • draw_top_left (bool) -- (необязательно) если установлено в True, то будет нарисована левая верхняя часть окружности

  • draw_bottom_left (bool) -- (необязательно) если установлено в True, то будет нарисована левая нижняя часть окружности

  • draw_bottom_right (bool) --

    (необязательно) если установлено в True, то будет нарисована правая нижняя часть окружности

    если любое из значений draw_circle_part равно True, то будут нарисованы все части окружности, имеющие значение True, в противном случае будет нарисована вся окружность.
    value, otherwise it will draw the entire circle.
Возвращаемое значение

прямоугольник, ограничивающий измененные пиксели, если ничего не нарисовано, положение прямоугольника будет значением параметра center (вещественные значения будут усечены), а его ширина и высота будут равны 0

Тип возвращаемого значения

Rect

Исключения
  • TypeError -- если center не является последовательностью из двух чисел

  • TypeError -- если radius не является числом

Изменено в pygame 2.0.0: Добавлена поддержка именованных аргументов. Ничего не рисуется, когда радиус равен 0 (пиксель в координатах center раньше рисовал, когда радиус был равен 0). Для параметра center допускаются вещественные числа и Vector2. Алгоритм рисования был улучшен, чтобы он выглядел более как окружность.

Изменено в pygame 2.0.0.dev8: Добавлена поддержка рисования квадрантов окружности.

pygame.draw.ellipse()
нарисовать эллипс
ellipse(surface, color, rect) -> Rect
ellipse(surface, color, rect, width=0) -> Rect

Рисует эллипс на заданной поверхности.

Параметры
  • surface (Surface) -- поверхность для рисования

  • color (Color или int или tuple(int, int, int, [int])) -- цвет для рисования, значение альфа необязательно, если используется кортеж (RGB[A])

  • rect (Rect) -- прямоугольник для указания положения и размеров эллипса, эллипс будет центрирован внутри прямоугольника и ограничен им

  • width (int) --

    (необязательно) используется для толщины линии или для указания того, что эллипс должен быть заполнен (не путать со значением ширины параметра rect)

    если width == 0, (по умолчанию) заполнить эллипс
    если width > 0, используется для толщины линии
    если width < 0, ничего не будет нарисовано

    Примечание

    При использовании width значений > 1, линии края будут расти только внутрь от исходной границы параметра rect.

Возвращаемое значение

прямоугольник, ограничивающий измененные пиксели, если ничего не нарисовано, положение прямоугольника будет положением данного параметра rect, а его ширина и высота будут 0

Тип возвращаемого значения

Rect

Изменено в pygame 2.0.0: Добавлена поддержка именованных аргументов.

pygame.draw.arc()
нарисовать дугу эллипса
arc(surface, color, rect, start_angle, stop_angle) -> Rect
arc(surface, color, rect, start_angle, stop_angle, width=1) -> Rect

Рисует дугу эллипса на заданной поверхности.

Два аргумента угла задаются в радианах и указывают начальное и конечное положение дуги. Дуга рисуется против часовой стрелки от start_angle до stop_angle.

Параметры
  • surface (Surface) -- поверхность для рисования

  • color (Color или int или tuple(int, int, int, [int])) -- цвет для рисования, значение альфа необязательно, если используется кортеж (RGB[A])

  • rect (Rect) -- прямоугольник, определяющий положение и размеры эллипса, на основе которого будет построена дуга, эллипс будет центрирован внутри прямоугольника

  • start_angle (float) -- начальный угол дуги в радианах

  • stop_angle (float) --

    конечный угол дуги в радианах

    если start_angle < stop_angle, дуга рисуется против часовой стрелки от start_angle до stop_angle.
    если start_angle > stop_angle, tau (tau == 2 * pi) будет добавлен к stop_angle, если полученное значение конечного угла больше start_angle, применяется вышеупомянутый случай start_angle < stop_angle, в противном случае ничего не будет нарисовано
    если start_angle == stop_angle, ничего не будет нарисовано

  • width (int) --

    (необязательно) используется для толщины линии (не путать со значением ширины параметра rect)

    если width == 0, ничего не будет нарисовано
    если width > 0, (по умолчанию 1) используется для толщины линии
    если width < 0, то же, что и width == 0.

    Примечание

    При использовании width значений > 1, линии края будут расти только внутрь от исходной границы параметра rect.

Возвращаемое значение

прямоугольник, ограничивающий измененные пиксели, если ничего не нарисовано, положение прямоугольника будет положением данного параметра rect, а его ширина и высота будут 0

Тип возвращаемого значения

Rect

Изменено в pygame 2.0.0: Добавлена поддержка именованных аргументов.

pygame.draw.line()
нарисовать прямую линию
line(surface, color, start_pos, end_pos) -> Rect
line(surface, color, start_pos, end_pos, width=1) -> Rect

Рисует прямую линию на заданной поверхности. Нет концевых элементов. Для толстых линий концы обрезаются.

Параметры
  • surface (Surface) -- поверхность для рисования

  • color (Color или int или tuple(int, int, int, [int])) -- цвет для рисования, значение альфа является необязательным, если используется кортеж (RGB[A])

  • start_pos (tuple(int или float, int или float) или list(int или float, int или float) или Vector2(int или float, int или float)) -- начальная позиция линии, (x, y)

  • end_pos (tuple(int или float, int или float) или list(int или float, int или float) или Vector2(int или float, int или float)) -- конечная позиция линии, (x, y)

  • width (int) --

    (необязательно) используется для толщины линии

    если width >= 1, используется для толщины линии (по умолчанию 1)
    если width < 1, ничего не будет нарисовано

    Примечание

    При использовании width значений > 1, линии будут увеличиваться следующим образом.

    Для нечётных width значений толщина каждой линии увеличивается, при этом исходная линия находится в центре.

    Для чётных width значений толщина каждой линии увеличивается, при этом исходная линия смещена от центра (так как нет точно нарисованной центральной линии). В результате, линии с наклоном < 1 (горизонтально-ориентированные) будут иметь на 1 пиксель больше толщины ниже исходной линии (в направлении y). Линии с наклоном >= 1 (вертикально-ориентированные) будут иметь на 1 пиксель больше толщины справа от исходной линии (в направлении x).

Возвращает

прямоугольник, ограничивающий изменённые пиксели, если ничего не нарисовано, позиция прямоугольника будет значением параметра start_pos (значения с плавающей точкой будут усечены), а его ширина и высота будут равны 0

Тип возвращаемого значения

Rect

Возбуждает

TypeError -- если start_pos или end_pos не является последовательностью из двух чисел

Изменено в pygame 2.0.0: Добавлена поддержка именованных аргументов.

pygame.draw.lines()
рисовать несколько смежных отрезков прямых линий
lines(surface, color, closed, points) -> Rect
lines(surface, color, closed, points, width=1) -> Rect

Рисует последовательность смежных прямых линий на заданной поверхности. Нет концевых элементов или соединений по типу «фальцовка». Для толстых линий концы обрезаются. Рисование толстых линий с острыми углами может привести к нежелательным результатам.

Параметры
  • surface (Surface) -- поверхность для рисования

  • color (Color или int или tuple(int, int, int, [int])) -- цвет для рисования, значение альфа является необязательным, если используется кортеж (RGB[A])

  • closed (bool) -- если True дополнительный отрезок линии рисуется между первой и последней точкой в points последовательности

  • points (tuple(координата) или list(координата)) -- последовательность из 2 или более (x, y) координат, где каждая координата в последовательности должна быть кортежем/списком/pygame.math.Vector2 из 2 целых/вещественных чисел, и соседние координаты будут соединены отрезком прямой, например, для точек [(x1, y1), (x2, y2), (x3, y3)] отрезок прямой будет нарисован от (x1, y1) до (x2, y2) и от (x2, y2) до (x3, y3), в дополнение к этому, если параметр closed равен True, ещё один отрезок прямой будет нарисован от (x3, y3) до (x1, y1)

  • width (int) --

    (необязательно) используется для толщины линии

    если width >= 1, используется для толщины линии (по умолчанию 1)
    если width < 1, ничего не будет нарисовано

    Примечание

    При использовании width значений > 1 обратитесь к width примечаниям line() за подробностями о том, как увеличиваются толстые линии.

Возвращает

прямоугольник, ограничивающий изменённые пиксели, если ничего не нарисовано, позиция прямоугольника будет значением позиции первой точки в параметре points (значения с плавающей точкой будут усечены), а его ширина и высота будут равны 0

Тип возвращаемого значения

Rect

Возбуждает
  • ValueError -- если len(points) < 2 (должно содержать как минимум 2 точки)

  • TypeError -- если points не является последовательностью или points не содержит пары чисел

Изменено в pygame 2.0.0: Добавлена поддержка именованных аргументов.

pygame.draw.aaline()
провести прямую линию с антиалиасингом
aaline(surface, color, start_pos, end_pos) -> Rect
aaline(surface, color, start_pos, end_pos, blend=1) -> Rect

Рисует прямую линию с антиалиасингом на заданной поверхности.

Толщина линии составляет один пиксель, а у каждой точки начала и конца есть высота и ширина по одному пикселю.

Способ рисования линии и её точек:

Если обе точки начала и конца совпадают, рисуется только один пиксель (после округления чисел с плавающей точкой до ближайшего целого).

В противном случае, если линия не крутая (т. е. длина по оси x больше, чем по оси y):

Для каждой точки:

Если x, координата x точки, является целым числом, найти пиксели, которые она покрывает, и нарисовать их.

В противном случае:

Вычислить положение ближайшей точки с целым значением координаты x, когда линия продолжается за пределы точки.

Определить, какие пиксели и насколько будут покрыты этой точкой.

Если точка — левая, умножить покрытие на (1 − дробная часть x).

В противном случае умножить покрытие на дробную часть x.

Затем нарисовать эти пиксели.

Например:
Левая точка линии ((1, 1.3), (5, 3)) будет покрывать 70% пикселя (1, 1) и 30% пикселя (1, 2), а правая — 100% пикселя (5, 3).
Левая точка линии ((1.2, 1.4), (4.6, 3.1)) будет покрывать 56% (т. е. 0,8 * 70%) пикселя (1, 1) и 24% (т. е. 0,8 * 30%) пикселя (1, 2), а правая — 42% (т. е. 0,6 * 70%) пикселя (5, 3) и 18% (т. е. 0,6 * 30%) пикселя (5, 4), а правая

Затем для каждой точки между точками, лежащей на линии, у которой координата x является целым числом:

Определить, какие пиксели и насколько будут покрыты этой точкой, и нарисовать их.

Например:
Точки на линии ((1, 1), (4, 2.5)) будут (2, 1.5) и (3, 2) и будут покрывать 50% пикселя (2, 1), 50% пикселя (2, 2) и 100% пикселя (3, 2).
Точки на линии ((1.2, 1.4), (4.6, 3.1)) будут (2, 1.8) (покрывая 20% пикселя (2, 1) и 80% пикселя (2, 2)), (3, 2.3) (покрывая 70% пикселя (3, 2) и 30% пикселя (3, 3)) и (4, 2.8) (покрывая 20% пикселя (2, 1) и 80% пикселя (2, 2))

В противном случае выполните то же самое для крутых линий, что и для некрутых линий, но по оси y вместо оси x (используя y вместо x, верх вместо слева и низ вместо справа).

Примечание

Что касается чисел с плавающей точкой для координат, точка с координатами, состоящими из двух целых чисел, считается расположенной точно посередине соответствующего пикселя (и имеющей высоту и ширину 1 пиксель, следовательно, полностью покрывает его), а точка с координатами, где одно (или оба) числа имеют не нулевую дробную часть, будет частично покрывать два (или четыре, если обе части имеют дробные части) соседних пикселя, например, точка (1.4, 2) покрывает 60% пикселя (1, 2) и 40% пикселя (2,2).

Параметры
  • surface (Surface) -- поверхность для рисования

  • color (Color или int или tuple(int, int, int, [int])) -- цвет для рисования, значение альфа канала необязательно, если используется кортеж (RGB[A])

  • start_pos (tuple(int или float, int или float) или list(int или float, int или float) или Vector2(int или float, int или float)) -- начальная позиция линии, (x, y)

  • end_pos (tuple(int или float, int или float) или list(int или float, int или float) или Vector2(int или float, int или float)) -- конечная позиция линии, (x, y)

  • blend (int) -- (необязательно) (устарело) если отличное от нуля (по умолчанию), линия будет смешана с существующими пикселями поверхности, в противном случае пиксели будут перезаписаны

Возвращает

прямоугольник, ограничивающий изменённые пиксели, если ничего не нарисовано, координаты прямоугольника будут равны значению параметра start_pos (значения с плавающей точкой будут усечены), а его ширина и высота будут равны 0

Тип возвращаемого значения

Rect

Исключения

TypeError -- если start_pos или end_pos не являются последовательностью из двух чисел

Изменено в pygame 2.0.0: Добавлена поддержка ключевых аргументов.

pygame.draw.aalines()
рисование нескольких непрерывных прямых линий с антиалиасингом
aalines(surface, color, closed, points) -> Rect
aalines(surface, color, closed, points, blend=1) -> Rect

Рисует последовательность непрерывных прямых линий с антиалиасингом на заданной поверхности.

Параметры
  • surface (Surface) -- поверхность для рисования

  • color (Color или int или tuple(int, int, int, [int])) -- цвет для рисования, значение альфа канала необязательно, если используется кортеж (RGB[A])

  • closed (bool) -- если True рисуется дополнительный сегмент линии между первой и последней точкой в points последовательности

  • points (tuple(координата) или list(координата)) -- последовательность из 2 или более (x, y) координат, где каждая координата в последовательности должна быть кортежем/списком/pygame.math.Vector2 из 2 целых/чисел с плавающей точкой, и соседние координаты будут соединены отрезком прямой, например, для точек [(x1, y1), (x2, y2), (x3, y3)] отрезок прямой будет нарисован от (x1, y1) до (x2, y2) и от (x2, y2) до (x3, y3), кроме того, если параметр closed имеет значение True, ещё один отрезок прямой будет нарисован от (x3, y3) до (x1, y1)

  • blend (int) -- (необязательно) (устарело) если отличное от нуля (по умолчанию), каждая линия будет смешана с существующими пикселями поверхности, в противном случае пиксели будут перезаписаны

Возвращает

прямоугольник, ограничивающий изменённые пиксели, если ничего не нарисовано, координаты прямоугольника будут равны позиции первой точки в параметре points (значения с плавающей точкой будут усечены), а его ширина и высота будут равны 0

Тип возвращаемого значения

Rect

Исключения
  • ValueError -- если len(points) < 2 (должно содержать как минимум 2 точки)

  • TypeError -- если points не является последовательностью или points не содержит пар чисел

Изменено в pygame 2.0.0: Добавлена поддержка ключевых аргументов.

пример модуля draw

Пример кода для модуля draw.

import pygame
from math import pi

# Initialize pygame
pygame.init()

# Set the height and width of the screen
size = [400, 300]
screen = pygame.display.set_mode(size)

pygame.display.set_caption("Example code for the draw module")

# Loop until the user clicks the close button.
done = False
clock = pygame.time.Clock()

while not done:
    # This limits the while loop to a max of 60 times per second.
    # Leave this out and we will use all CPU we can.
    clock.tick(60)

    for event in pygame.event.get():  # User did something
        if event.type == pygame.QUIT:  # If user clicked close
            done = True  # Flag that we are done so we exit this loop

    # Clear the screen and set the screen background
    screen.fill("white")

    # Draw on the screen a green line from (0, 0) to (50, 30)
    # 5 pixels wide. Uses (r, g, b) color - medium sea green.
    pygame.draw.line(screen, (60, 179, 113), [0, 0], [50, 30], 5)

    # Draw on the screen a green line from (0, 50) to (50, 80)
    # Because it is an antialiased line, it is 1 pixel wide.
    # Uses (r, g, b) color - medium sea green.
    pygame.draw.aaline(screen, (60, 179, 113), [0, 50], [50, 80], True)

    # Draw on the screen 3 black lines, each 5 pixels wide.
    # The 'False' means the first and last points are not connected.
    pygame.draw.lines(
        screen, "black", False, [[0, 80], [50, 90], [200, 80], [220, 30]], 5
    )

    # Draw a rectangle outline
    pygame.draw.rect(screen, "black", [75, 10, 50, 20], 2)

    # Draw a solid rectangle. Same color as "black" above, specified in a new way
    pygame.draw.rect(screen, (0, 0, 0), [150, 10, 50, 20])

    # Draw a rectangle with rounded corners
    pygame.draw.rect(screen, "green", [115, 210, 70, 40], 10, border_radius=15)
    pygame.draw.rect(
        screen,
        "red",
        [135, 260, 50, 30],
        0,
        border_radius=10,
        border_top_left_radius=0,
        border_bottom_right_radius=15,
    )

    # Draw an ellipse outline, using a rectangle as the outside boundaries
    pygame.draw.ellipse(screen, "red", [225, 10, 50, 20], 2)

    # Draw an solid ellipse, using a rectangle as the outside boundaries
    pygame.draw.ellipse(screen, "red", [300, 10, 50, 20])

    # This draws a triangle using the polygon command
    pygame.draw.polygon(screen, "black", [[100, 100], [0, 200], [200, 200]], 5)

    # Draw an arc as part of an ellipse.
    # Use radians to determine what angle to draw.
    pygame.draw.arc(screen, "black", [210, 75, 150, 125], 0, pi / 2, 2)
    pygame.draw.arc(screen, "green", [210, 75, 150, 125], pi / 2, pi, 2)
    pygame.draw.arc(screen, "blue", [210, 75, 150, 125], pi, 3 * pi / 2, 2)
    pygame.draw.arc(screen, "red", [210, 75, 150, 125], 3 * pi / 2, 2 * pi, 2)

    # Draw a circle
    pygame.draw.circle(screen, "blue", [60, 250], 40)

    # Draw only one circle quadrant
    pygame.draw.circle(screen, "blue", [250, 250], 40, 0, draw_top_right=True)
    pygame.draw.circle(screen, "red", [250, 250], 40, 30, draw_top_left=True)
    pygame.draw.circle(screen, "green", [250, 250], 40, 20, draw_bottom_left=True)
    pygame.draw.circle(screen, "black", [250, 250], 40, 10, draw_bottom_right=True)

    # Go ahead and update the screen with what we've drawn.
    # This MUST happen after all the other drawing commands.
    pygame.display.flip()

# Be IDLE friendly
pygame.quit()



Изменить на GitHub

© Pygame Developers.
Licensed under the GNU LGPL License version 2.1.
https://www.pygame.org/docs/ref/draw.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API