如何在 PyGame 中绘制带圆角的矩形?
Pygame是一个Python库,旨在开发视频游戏。 Pygame 在优秀的 SDL 库之上添加了功能。这允许您使用Python语言创建功能齐全的游戏和多媒体程序。在本文中,我们将看到如何在 Pygame 中绘制带圆角的矩形。
使用的功能:
- pygame.display.set_mode():这个函数用于初始化一个显示面。该函数以显示尺寸为参数。
- pygame.display.flip():该函数用于更新屏幕整个显示面的内容。
- pygame.draw.rect():该函数用于绘制矩形。它以表面、颜色和 pygame 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)
border_radius 参数仅添加到 PyGame 2.0.0.dev8 版本中。
方法
- 导入模块
- 初始化 Pygame
- 绘制一个带圆角边框的矩形
- 显示形状
示例 1:此示例绘制一个所有角都为圆角的矩形
Python3
# Importing the library
import pygame
# Initializing Pygame
pygame.init()
# Initializing surface
surface = pygame.display.set_mode((400, 300))
# Initialing Color
color = (48, 141, 70)
# Drawing Rectangle
pygame.draw.rect(surface, color, pygame.Rect(30, 30, 60, 60), 2, 3)
pygame.display.flip()
Python3
# Importing the library
import pygame
# Initializing Pygame
pygame.init()
# Initializing surface
surface = pygame.display.set_mode((400, 300))
# Initialing Color
color = (48, 141, 70)
# Drawing Rectangle
pygame.draw.rect(surface, color, pygame.Rect(30, 30, 60, 60), 2, 0, 0, 3)
# Displying Object
pygame.display.flip()
Python3
# Importing the library
import pygame
# Initializing Pygame
pygame.init()
# Initializing surface
surface = pygame.display.set_mode((400, 300))
# Initialing Color
color = (48, 141, 70)
# Drawing Rectangle
pygame.draw.rect(surface, color, pygame.Rect(
30, 30, 60, 60), 2, border_bottom_right_radius=5)
# Displayig Object
pygame.display.flip()
输出:
不仅如此,Pygame 甚至可以根据要求只对一个角进行圆角处理。下面给出了使用上述方法的实现。
示例 2:此示例绘制一个仅右上角为圆角的矩形。
蟒蛇3
# Importing the library
import pygame
# Initializing Pygame
pygame.init()
# Initializing surface
surface = pygame.display.set_mode((400, 300))
# Initialing Color
color = (48, 141, 70)
# Drawing Rectangle
pygame.draw.rect(surface, color, pygame.Rect(30, 30, 60, 60), 2, 0, 0, 3)
# Displying Object
pygame.display.flip()
输出:
示例 3:此示例使用关键字参数绘制一个右下角为圆角的矩形。
蟒蛇3
# Importing the library
import pygame
# Initializing Pygame
pygame.init()
# Initializing surface
surface = pygame.display.set_mode((400, 300))
# Initialing Color
color = (48, 141, 70)
# Drawing Rectangle
pygame.draw.rect(surface, color, pygame.Rect(
30, 30, 60, 60), 2, border_bottom_right_radius=5)
# Displayig Object
pygame.display.flip()
输出: