赞
踩
视频课
【零基础 Python体验课】第四季 pygame游戏开发
pygame专门提供了一个画图的模块,叫做draw
,其中又有很多模块
pygame.draw.line()
line(画在哪儿,线的颜色,线的起点,线的终点,线宽)
import pygame pygame.init() window = pygame.display.set_mode((600, 600)) pygame.display.set_caption("显示图形") # 设置背景颜色 window.fill((255, 255, 255)) pygame.display.update() #就连设置颜色都需要更新一次 # ============显示图形============ #1画直线 #line() pygame.draw.line(window, (234, 190, 233), (20, 20), (90, 90), 2) window.blit(window, (0, 0)) pygame.display.update() flag = True while flag: for event in pygame.event.get(): if event.type == pygame.QUIT: exit()
大家说了,折线好画,就是多个直线连接在一起就是折线,可以但是麻烦,line方法的升级lines集合这个方案,就是依然是拼接原理。
pygame.draw.lines()
lines(画在哪,线的颜色,是否闭合,多个点的列表,线宽)
点1->点2->点3->点4->点1
,就是最后一个点连接第一个点points = [(10, 300), (100, 160), (180, 260), (300, 100)]
实例:
import pygame pygame.init() window = pygame.display.set_mode((600, 600)) pygame.display.set_caption("显示图形") # 设置背景颜色 window.fill((255, 255, 255)) pygame.display.update() #就连设置颜色都需要更新一次 # ============显示图形============ #1画直线 #line() pygame.draw.line(window, (234, 190, 233), (20, 20), (90, 90), 2) #一看这就是斜线 window.blit(window, (0, 0)) pygame.display.update() #2画折线 #lines() points = [(10, 300), (100, 160), (180, 260), (300, 100)] pygame.draw.lines(window, (0, 255, 0), True, points, 3) window.blit(window, (0, 0)) pygame.display.update() # ============================== flag = True while flag: for event in pygame.event.get(): if event.type == pygame.QUIT: exit()
pygame.draw.circle()
circle(画在哪儿,线的颜色,圆心,半径,线宽=0)
pygame.draw.rect()
rect(画在哪,线的颜色,矩形范围,线宽=0)
画圆和矩形的综合代码
# ============显示图形============ #1画直线 #line() pygame.draw.line(window, (234, 190, 233), (20, 20), (90, 90), 2) #一看这就是斜线 window.blit(window, (0, 0)) pygame.display.update() #2画折线 #lines() points = [(10, 300), (100, 160), (180, 260), (300, 100)] pygame.draw.lines(window, (0, 255, 0), True, points, 3) window.blit(window, (0, 0)) pygame.display.update() #3画圆 #circle() pygame.draw.circle(window, (0, 0, 255), (200, 250), 100, 2) #4矩形 pygame.draw.rect(window, (120, 20, 60), (100, 70, 200, 100), 1) pygame.display.update() # ==============================
如果长方形的线宽为0,就是填充
我们改变这些图形的位置,就改变xy坐标就行了
pygame.draw.ellipse()
ellipse(画在哪儿, 线的颜色, 矩形范围, 线宽=0)
ellipse(window, (255, 0, 0), (30, 70, 100, 200), 3)
其实弧线和椭圆又有关系,其实都是按照矩形的一些参数绘制的
弧线也使用长方形内的内切圆,只是去其中一部分
pygame.draw.arc()
arc(画在哪儿,线的颜色,矩形范围,起始弧度,终止弧度,线宽=1)
# ============显示图形============ #1画直线 #line() pygame.draw.line(window, (234, 190, 233), (20, 20), (90, 90), 2) #一看这就是斜线 window.blit(window, (0, 0)) pygame.display.update() #2画折线 #lines() points = [(10, 300), (100, 160), (180, 260), (300, 100)] pygame.draw.lines(window, (0, 255, 0), True, points, 3) window.blit(window, (0, 0)) pygame.display.update() #3画圆 #circle() pygame.draw.circle(window, (0, 0, 255), (200, 250), 100, 2) #4矩形 pygame.draw.rect(window, (120, 20, 60), (100, 70, 200, 100), 0) pygame.display.update() #5椭圆 pygame.draw.ellipse(window, (255, 0, 0), (30, 70, 100, 200), 3) pygame.display.update() #6弧线 pygame.draw.arc(window, (0, 0, 0), (30, 70, 100, 200), 0, 3.1415926, 7) pygame.display.update() # ==============================
对于椭圆取弧度是逆时针的
然后π可以使用math模块导入
from math import pi
print(pi)
直接pi就出来了,就比刚才多了一些,也是一个固定的常量
往后好几节就是最激动人心的 动画!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。