pygame窗口绘制图形:pygame.draw.circle()、pygame.draw.rect()、pygame.draw.line()、pygame.draw.arc()实例。
目录
使用版本说明与pip安装
python3.10.5
pygame2.1.2
安装pygame库,使用pip模块帮助下载安装,win+r打开控制台,输入cmd然后安装
python -m pip install pygame
绘制图形(圆形与矩形)
直接上代码:
#PYGAME库基础
#绘制图形
import pygame #导入pygame库
from pygame.locals import * #导入该库中的常量
import sys
#-------------基本窗口信息-----------------------------------------------------------
pygame.init() #初始化pygame
screen = pygame.display.set_mode((600,500)) #获取显示系统访问,创建600*500窗口
pygame.display.set_caption("Drawing shape") #窗口的名字
#------------------画圆形-----------------------------
class draw: #定义一个类
def event_circle(self): #定义一个事件
#Python在类中定义方法的时候,方法会被传进一个参数,即当前对象的地址,
#所以一般在类中定义方法的时候,必须在方法中至少定义一个参数。一般情况下我们将其命名为"self"
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
screen.fill((0,0,200)) #填充窗口背景色
color = 255,255,0
position = 300,250
radius = 100
width = 10
pygame.draw.circle(screen,color,position,radius,width)
#调用画圆的函数(背景色、颜色、位置、半径、线宽度)
pygame.display.update()
#------------------画矩形-----------------------------
def event_rectangles(self):
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
screen.fill((0,0,200)) #填充窗口背景色
color = 255,255,0
width = 0 #实线
position = 300, 250, 100, 100
pygame.draw.rect(screen,color,position,width)
#调用矩形的函数(背景色、颜色、位置、线宽度)
pygame.display.update()
#-------------主运行函数----------------------------------------------
if __name__ == '__main__':
ai = draw()
#ai.event_circle() #画圆
ai.event_rectangles() #画矩形
这里定义了一个类以及两个事件用于绘制不同图形,要绘制直接在最后的主运行函数部分使用就可以
效果图如下:
绘制图形(线段与弧线)
直接上代码:
#PYGAME库基础
#绘制线条与弧线
import math #导入数学计算相关库
import pygame #导入pygame库
from pygame.locals import * #导入该库中的常量
import sys
#-------------基本窗口信息-----------------------------------------------------------
pygame.init() #初始化pygame
screen = pygame.display.set_mode((600,500)) #获取显示系统访问,创建600*500窗口
pygame.display.set_caption("Drawing shape2") #窗口的名字
#------------------画线-----------------------------
class draw: #定义一个类
def event_line(self): #定义一个事件
#Python在类中定义方法的时候,方法会被传进一个参数,即当前对象的地址,
#所以一般在类中定义方法的时候,必须在方法中至少定义一个参数。一般情况下我们将其命名为"self"
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
screen.fill((0,81,0)) #填充窗口背景色
color = 100,255,201
width = 9
pygame.draw.line(screen,color,(100,100),(500,400),width)
#调用画线的函数(背景色、颜色、位置(起始与结束)、线宽度)
pygame.display.update()
#------------------画弧线-----------------------------
def event_arc(self):
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
screen.fill((0,0,200)) #填充窗口背景色
color = 255,0,200
width = 9 #实线
position = 300, 250, 100, 100
start_angle = math.radians(0)
end_angle = math.radians(180)
pygame.draw.arc(screen,color,position,start_angle,end_angle,width)
#调用弧线的函数(背景色、颜色、位置、起始角度、终止角度、线宽度)
pygame.display.update()
#-------------主运行函数----------------------------------------------
if __name__ == '__main__':
ai = draw()
#ai.event_line()
ai.event_arc()
效果图:
(tip:有一个问题就是循环内的sys.exit()不能使程序退出,不知道有没有人解决一下这个问题...)