pygame之绘制图片
✕
游戏中用图片来制作更加漂亮的界面,人物,物体等
有了以前绘制基本图形,绘制文字的基础,图片就绘制基本类似
主要步骤:
从文件加载图像
pygame.image.load(文件路径) |
---|
pygame.image.load() 功能可以支持以下格式。
绘制到指定位置
screen.blit(绘制的对象, 绘制的位置)
再说一个可能会用到的:
缩放图片:
pygame.transform.smoothscale(缩放的图片对象,缩放的大小类型元祖或列表)
返回缩放后的图片
还有旋转图片:
pygame.transform.rotate(图片对象, 角度)
返回旋转后的图片尺寸
可以使用
screen.blit(图片, 返回旋转的图片变量)
import pygame
def main():
# 游戏初始化
pygame.init()
bg = pygame.Rect(0,0,600,600)
# 设置窗口大小
screen = pygame.display.set_mode((bg.width,bg.height))
# 设置游戏标题
pygame.display.set_caption('选择图片')
# 游戏时钟
clock = pygame.time.Clock()
# 读取图片
tp = pygame.image.load('0.jpg')
# 缩放图片
tp1 = pygame.transform.smoothscale(tp,[600,600])
# 获取图片的宽高大小
tp_wz = tp1.get_rect()
# 移动图片到指定位置
tp_rect = tp_wz.move((bg.width - tp_wz.width) / 2, (bg.height - tp_wz.height) / 2)
print(tp1)
jd = 1
# 循环事件
while True:
# 游戏更新频率
clock.tick(60)
# 绘制背景色
# screen.fill((0,0,0))
# 角度累加
jd += 1
# 旋转图片
xz = pygame.transform.rotate(tp1, jd)
# print(xz.get_rect(center=bg.center))
new_xz = xz.get_rect(center=tp_rect.center)
# 绘制图片
screen.blit(xz, new_xz)
# 退出事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit(0)
# 刷新
pygame.display.update()
if __name__ == '__main__':
main()