• Python项目一:pygname


    1.安装pip   install    pygame

    2.加载模块初始化:开始

    1. import sys
    2. import pygame
    3. pygame.init() #初始化

    3.创建窗口

    3.1pygame .display模块

    作用:创建游戏窗口

    常见的内置方法:

    方法 作用

    pygame。display.init()

    初始化display模块
    pygame.display.quit() 结束display模块
    pygame.dispaly.set.mode() 判断是否初始化
    pygame.display.set_mode() 初始化一个准备显示的界面
    pygame.dispaly.get_surface() 获取当前surface
    pygame.display.dlip() 更新显示
    pygame.display.update() 更新部分内容显示到屏幕

    小球续:

    1. import sys
    2. import pygame
    3. pygame.init() # 初始化
    4. size = width, height = 640, 800
    5. screen = pygame.display.set_mode()
    6. # 执行一个死循环,确保窗口一直存在,知道手动关闭(点击x)
    7. while True:
    8. #检查事件,显示窗口也是一个事件,点击关闭也是一个事件
    9. for event in pygame.event.get():
    10. if event.type == pygame.QUIT:
    11. pygame.quit()
    12. sys.exit()

    上述代码中,添加了轮询事件,pygame。display.get()可以获取事件队列,使用for....in遍历事件,在跟根据type属性判断事件类型是否属于关闭事件

    4.添加小球

    4.1image模块

    • 作用:pygame的图像传输模块
    • 常用方法:
    方法 作用
    pygame.image.load( )
    从文件加载图片
    pygame.image.save( )
    将图片保存到磁盘
    pygame.image.get_extended(
    检查是否支持载入扩展的图像格式
    pygame.image.tostring( )
    将图像转为字符串
    pygame.image.fromstring()
    将字符串转为图像

     支持的图片格式:jpg   png    gif   bmp    pcx

    注意:当一个图像被成功载入后,将转换为 Surface 对象,Surface 对象允许在其上边画线、设置像素、 捕获区域等

    小球续:

    1. import sys
    2. import pygame
    3. pygame.init() # 初始化pygame
    4. size = width, height = 640, 480 # 设置窗口大小
    5. screen = pygame.display.set_mode(size) # 显示窗口
    6. color = (0, 0, 0) # 设置颜色
    7. ball = pygame.image.load('ball.png') # 加载小球图片,不显示
    8. # 执行死循环,确保窗口一直显示,直到手动关闭
    9. while True:
    10. # 检查事件,显示窗口是一个事件,点击关闭也是一个事件
    11. for event in pygame.event.get():
    12. if event.type == pygame.QUIT: # 如果点击关闭则退出
    13. pygame.quit()
    14. sys.exit()

    5.1处理Surface对象

    5.1.1image.load()方法加载图片后会返回一个surface对象,其就是表示图片,可以进行二次处理如:涂画,变形,复制等

    5.1.2.常用方法:

    方法
    作用
    pygame.Surface.blit( ) 将图像绘制到另一个图像上
    pygame.Surface.convert( )
    转换图像的像素格式
    pygame.Surface.fill( ) 使用颜色填充Surface
    pygame.Surface.get_rect
    获取Surface的矩形区域

    小球续:

    1. import sys
    2. import pygame
    3. pygame.init() # 初始化
    4. size = width, height = 640, 800
    5. screen = pygame.display.set_mode()
    6. colo=(0,0,0) #设置颜色
    7. ball=pygame.image.load('ball.png') #加载小球图片,但不显示
    8. ballrect=ball.get_rect() #获取矩形区域,其实就是小球图形所占区域,只不过没内容
    9. # 执行一个死循环,确保窗口一直存在,知道手动关闭(点击x)
    10. while True:
    11. #检查事件,显示窗口也是一个事件,点击关闭也是一个事件
    12. for event in pygame.event.get():
    13. if event.type == pygame.QUIT:
    14. pygame.quit()
    15. sys.exit()
    16. screen.fill(color)
    17. screen.blit(ball,ballrect) #将ball图片填充到屏幕矩形区域上
    18. pygame.display.flip()

    6.移动小球 

    6.1.小球ballrect拥有move()方法,可用于移动,movexy)表示x轴和y轴的移动距离,左上角坐标为(0,0),可以设置move5,5

    4.6.2. 小球续:

    1. import sys
    2. import pygame
    3. pygame.init() # 初始化pygame
    4. size = width, height = 640, 480 # 设置窗口大小
    5. screen = pygame.display.set_mode(size) # 显示窗口,screen是一个Surface对象
    6. color = (0, 0, 0) # 设置颜色
    7. ball = pygame.image.load('ball.png') # 加载小球图片
    8. ballrect = ball.get_rect() # 获取矩形区域
    9. # 执行死循环,确保窗口一直显示,直到手动关闭
    10. while True:
    11. # 检查事件,显示窗口是一个事件,点击关闭也是一个事件
    12. for event in pygame.event.get():
    13. if event.type == pygame.QUIT: # 如果点击关闭则退出
    14. pygame.quit()
    15. sys.exit()
    16. ballrect = ballrect.move(5, 5) # 小球循环移动
    17. screen.fill(color) # 填充颜色
    18. screen.blit(ball, ballrect) # 把ball图片填充到窗口上
    19. pygame.display.flip() # 更新全部显示
    注:上例代码发现小球移动太快,这是因为上述代码的运行时间太短了,导致肉眼观察
    出现错觉,因此需要添加一个时钟用来控制程序运行事件
    4.6.4. pygame.time 模块
    • 作用:pygame中监控时间的模块
    • 常用方法
    方法
    作用
    pygame.time.get_ticks( ) 获取以毫秒为单位的时间
    pygame.time.wait( ) 暂停程序一段时间
    pygame.time.set_timer( ) 在事件队列上重复创建一个事件
    pygame.time.Clock( ) 创建一个对象来帮助跟踪时间
    注: Pygame 中的时间以毫秒( 1/1000 秒)表示
    小球续:
    1. import sys
    2. import pygame
    3. pygame.init() # 初始化pygame
    4. size = width, height = 640, 480 # 设置窗口大小
    5. screen = pygame.display.set_mode(size) # 显示窗口,screen是一个Surface对象
    6. color = (0, 0, 0) # 设置颜色
    7. ball = pygame.image.load('ball.png') # 加载小球图片
    8. ballrect = ball.get_rect() # 获取矩形区域
    9. clock = pygame.time.Clock() # 创建时钟
    10. # 执行死循环,确保窗口一直显示,直到手动关闭
    11. while True:
    12. clock.tick(60) # 更新时钟,每秒执行60次,即程序将永远不会超过每秒60帧
    13. # 检查事件,显示窗口是一个事件,点击关闭也是一个事件
    14. for event in pygame.event.get():
    15. if event.type == pygame.QUIT: # 如果点击关闭则退出
    16. pygame.quit()
    17. sys.exit()
    18. ballrect = ballrect.move(5, 5) # 小球循环移动
    19. screen.fill(color) # 填充颜色
    20. screen.blit(ball, ballrect) # 把ball图片填充到窗口上
    21. pygame.display.flip() # 更新全部显示

    4.7碰撞检测

    4.7.1. 上例中小球移动后消失,表示移动到窗体之外了,所以需要增加碰撞检测,即小球与窗体任意一边的边缘发生碰撞则更改小球的移动方向

    4.7.2. 小球终:

    1. import sys
    2. import pygame
    3. pygame.init() # 初始化pygame
    4. size = width, height = 640, 480 # 设置窗口
    5. screen = pygame.display.set_mode(size) # 显示窗口
    6. color = (0, 0, 0) # 设置颜色
    7. ball = py
  • 相关阅读:
    cmmi3认证需要企业具备什么条件?
    怎样选择青少年护眼灯?推荐最好的青少年护眼灯品牌
    Android studio连接MySQL并完成简单的登录注册功能
    图片翻译软件哪个好用?这些软件值得收藏
    Python爬虫-爬取文档内容,如何去掉文档中的表格,并保存正文内容
    for循环遍历容器
    Zookeeper
    机器学习笔记之概率图模型(九)最大乘积算法(Max-Product Algorithm)
    linux命令—awk(二)
    MySQL 性能优化
  • 原文地址:https://blog.csdn.net/Dream_weiwei/article/details/127971815