Maison > Article > développement back-end > Comment utiliser la méthode de dessin Draw de Pygame en Python
Pygame fournit un module de dessin pour dessiner des formes graphiques simples, telles que des rectangles, des polygones, des cercles, des lignes droites, des arcs, etc.
Les méthodes courantes du module pygame.draw sont présentées dans le tableau suivant :
Nom | Description |
---|---|
pygame.draw.rect() |
绘制矩形 |
pygame.draw.polygon() |
绘制多边形 |
pygame.draw.circle() |
根据圆心和半径绘制圆形 |
pygame.draw.ellipse() |
绘制一个椭圆形 |
pygame.draw.arc() |
绘制弧线(挥着椭圆的一部分) |
pygame.draw.line() |
绘制线段(直线) |
pygame.draw.lines() |
绘制多条连续的线段 |
pygame.draw.aaline() |
绘制一条平滑的线段(抗锯齿) |
pygame.draw.aalines() |
绘制多条连续的线段 |
表格中的函数使用方法大同小异,它们都可以在 Surface 对象上绘制一些简单的形状,返回值是一个 Rect 对象,表示实际绘制图形的矩形区域。上述绘图函数都提供了一个 color 参数,我们可以通过以下三种方式来传递 color 参数值:
pygame.color
对象
RGB
三元组
RGBA
四元组
下面通对上述一些方法的参数进行详细说明:
绘制矩形的语法格式如下:
pygame.draw.rect(surface, color, rect, width)
参数说明如下:
surface
:指主游戏窗口,无特殊情况,一般都会绘制在主屏幕上;
color
:该参数用于该图形着色;
rect
:绘制图形的位置和尺寸大小;
width
:可选参数,指定边框的宽度,默认为 0,表示填充该矩形区域。
注意,当 width > 0 时,表示线框的宽度;而 width 060241fe6cb83e39923178f676b4dba2 0, cela indique la largeur du filaire et lorsque la largeur < 🎜
import pygame from math import pi # 初始化 pygame.init() # 设置主屏幕大小 size = (500, 450) screen = pygame.display.set_mode(size) # 设置标题 pygame.display.set_caption("Python自学网") # 设置一个控制主循环的变量 done = False # 创建时钟对象 clock = pygame.time.Clock() while not done: # 设置游戏的fps clock.tick(10) for event in pygame.event.get(): if event.type == pygame.QUIT: done = True # 若检测到关闭窗口,则将done置为True # 绘制一条宽度为 3 的红色对角线 pygame.draw.line(screen, (0, 255, 0), [0, 0], (500, 450), 3) # 绘制多条蓝色的直线(连续直线,非抗锯齿),False 表示首尾不相连 pygame.draw.lines(screen, (0, 0, 255), False, [[0, 80], [50, 90], [200, 80], [220, 30]], 1) # 绘制一个灰色的矩形区域,以灰色填充区域 pygame.draw.rect(screen, (155, 155, 155), (75, 10, 50, 20), 0) # 绘制一个线框宽度为2的矩形区域 pygame.draw.rect(screen, (0, 0, 0), [150, 10, 50, 20], 2) # 绘制一个椭圆形,其线宽为2 pygame.draw.ellipse(screen, (255, 0, 0), (225, 10, 50, 20), 2) # 绘制一个实心的红色椭圆形 pygame.draw.ellipse(screen, (255, 0, 0), (300, 10, 50, 20)) # 绘制一个绿色边框(宽度为2)三角形 pygame.draw.polygon(screen, (100, 200, 45), [[100, 100], [0, 200], [200, 200]], 2) # 绘制一个蓝色实心的圆形,其中[60,250]表示圆心的位置,40为半径,width默认为0 pygame.draw.circle(screen, (0, 0, 255), [60, 250], 40) # 绘制一个圆弧,其中0表示弧线的开始位置,pi/2表示弧线的结束位置,2表示线宽 pygame.draw.arc(screen, (255, 10, 0), (210, 75, 150, 125), 0, pi / 2, 2) # 刷新显示屏幕 pygame.display.flip() # 点击关闭,退出pygame程序 pygame.quit()🎜Les paramètres sont décrits comme suit🎜
points
: un paramètre de liste, qui représente la composition de 3 coordonnées ou plus (x, y) de sommets de polygone, représentés par des tuples ou des listes. 🎜🎜🎜🎜Les paramètres restants sont les mêmes que la fonction ci-dessus. 🎜🎜🎜pos
: Ce paramètre est utilisé pour spécifiez la position centrale du cercle ;🎜🎜🎜🎜rayon
: utilisé pour spécifier le rayon du cercle 🎜🎜🎜🎜Les paramètres restants sont les mêmes que la fonction ci-dessus ; 🎜🎜🎜start_angle
: est l'angle de départ de l'arc ; 🎜🎜🎜🎜stop_angle
: est l'angle final ; 🎜🎜🎜🎜le reste Les paramètres sont les mêmes que la fonction ci-dessus. 🎜🎜🎜start_pos
: est la position de départ du segment de ligne ;🎜🎜 🎜🎜end_pos
: est la position finale du segment de ligne 🎜🎜🎜🎜Les paramètres restants sont les mêmes que la fonction ci-dessus ; 🎜🎜🎜🎜Si vous tracez une ligne lisse pour éliminer l'alias, utilisez le paramètre blend = 1, comme indiqué ci-dessous : 🎜rrreee🎜le paramètre blend indique que la fonction d'anti-aliasing est obtenue en dessinant une ombre de l'arrière-plan mélangé. 🎜pointlist
: La valeur du paramètre est une liste, incluant un certain nombre de points. Liste de coordonnées ; 🎜🎜🎜🎜fermé
: paramètre booléen, s'il est défini sur True, cela signifie que le premier point d'extrémité de la droite et le dernier point d'extrémité de la droite doivent être connecté bout à bout ; 🎜🎜🎜🎜Autres paramètres Identique à la fonction ci-dessus. 🎜🎜🎜🎜Si vous tracez une ligne droite anti-aliasée, utilisez la méthode suivante : 🎜rrreee🎜Sauf que blend = 1 est spécifié, la signification des paramètres restants est la même que celle de la fonction ci-dessus. 🎜🎜La méthode de dessin ci-dessus est démontrée ci-dessous à travers un ensemble d'exemples simples : 🎜rrreeeCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!