Pygame模块
import pygame
def main():
# 1.初始化pygame模块
pygame.init()
# 2.创建游戏窗口
# set_mode((宽度,高度)) 像素
pygame.display.set_mode((600, 400))
# 3.游戏循环
while True:
# 检测时间
for event in pygame.event.get():
# 检测变体兰关闭按钮是否被点击
if event.type == pygame.QUIT:
# 退出游戏
print('点击关闭按钮')
exit()
if __name__ == '__main__':
main()
显示文字
import pygame
def main():
pygame.init()
screen = pygame.display.set_mode((600, 400))
# 设置窗口背景颜色
screen.fill((200, 200, 240))
# 1.创建字体对象
'''
创建系统字体
SysFont(name, size, bold=0, italic=0, constructor=None)
name → 字体名字
size → 字体大小
bold → 加粗
italic → 倾斜
'''
font = pygame.font.SysFont('华文新魏', 200)
'''
创建自定义字体
Font('路径',大小)
'''
font = pygame.font.Font('./day10/font/HYShangWeiShouShuW.ttf', 180)
# 2.根据字体创建显示对象(文字)
'''
render(text, antialias, color, background=None)
text → 要显示的文字内容(str)
antialias → 抗锯齿
color → 光学三原色RGBa,值范围(255,0,0)→ 红色
'''
surface = font.render('流批', True, (255, 0, 0))
# 3.内容添加到窗口上
'''
blit(需要显示的对象,显示位置)
显示的对象 → surface类型的数据
显示位置 → 坐标(x, y)
'''
screen.blit(surface, (100, 100))
# 4.将窗口上的内容显示出来
pygame.display.flip()
while True:
for evt in pygame.event.get():
if evt.type == pygame.QUIT:
exit()
if __name__ == '__main__':
main()
显示图片
import pygame
def main():
pygame.init()
screen = pygame.display.set_mode((600, 600))
screen.fill((180, 180, 240))
# 1.获取图片对象
img = pygame.image.load('./day10/img/1.png')
'''
a.获取图片大小
get_size()
'''
# imgSize = img.get_size()
'''
b.形变
transform:缩放,旋转,平移
scale(对象,大小) → 返回新的对象
rotate(对象,角度) → 返回新的对象
rotozoom(对象, 角度, 大小(比例))
'''
# img = pygame.transform.scale(img, (500, 500))
# img = pygame.transform.rotate(img, 90)
img = pygame.transform.rotozoom(img, 50, 0.4)
# 2.图片对象渲染到窗口上
screen.blit(img, (50, 50))
# 3.显示图片
pygame.display.flip()
while True:
for evt in pygame.event.get():
if evt.type == pygame.QUIT:
exit()
if __name__ == '__main__':
main()
显示图形
import pygame
from math import pi
from random import randint as ri
def main():
pygame.init()
screen = pygame.display.set_mode((500, 500))
screen.fill((255, 255, 255))
'''
1.画直线
line(Surface, color, start_pos, end_pos, width)
Surface → 画在哪
color → 颜色
start_pos, end_pos → 起点终点坐标(元组)
width → 宽度 默认为1
'''
# pygame.draw.line(screen, (0, 0, 20), (50, 50), (400, 400), 3)
# pygame.draw.line(screen, (0, 0, 20), (400, 50), (50, 400), 3)
'''
lines(对象, 颜色, 是否封闭, 元组列表, 宽度)
'''
points = [(100, 30), (100, 480), (100, 250), (400, 30), (100, 250), (400,
480)]
pygame.draw.lines(screen, (0, 255, 50), False, points, 20)
'''
2.画曲线
arc(对象, 颜色, Rect, start_angle, stop_angle, 宽度)
Rect → (x,y,width,height)矩形对象
start_angle, stop_angle
'''
pygame.draw.arc(screen, (255, 20, 35), (100, 100, 150, 120), 1.1 * pi,
1.9 * pi, 2)
'''
画矩形
rect(对象, 颜色, Rect, width)
'''
pygame.draw.rect(screen, (200, 200, 35), (200, 300, 200, 100), 9)
'''
3.圆
circle(对象, 颜色, 圆心点, 半径, 线宽(默认为0填充))
'''
cor = (ri(0, 255), ri(0, 255), ri(0, 255))
pygame.draw.circle(screen, cor, (250, 250), ri(1, 250))
'''
4.椭圆
ellipse(对象, 颜色, Rect, 线宽)
'''
pygame.draw.ellipse(screen, cor, (20, 20, 50, 80))
# 将内容渲染到屏幕
pygame.display.flip()
while True:
for evt in pygame.event.get():
if evt.type == pygame.QUIT:
exit()
if __name__ == '__main__':
main()
动画
import pygame
from time import sleep
def main():
pygame.init()
screen = pygame.display.set_mode((500, 500))
screen.fill((240, 240, 240))
x, y = 0, 0
while True:
for evt in pygame.event.get():
if evt.type == pygame.QUIT:
exit()
screen.fill((240, 240, 240))
pygame.draw.circle(screen, (0, 0, 0), (x, y), 50)
pygame.display.flip()
sleep(0.003)
x += 2
y += 1
if __name__ == '__main__':
main()
网友评论