Pygame Time时间控制的具体使用详解

 更新时间:2021年11月17日 12:02:13   投稿:zx  
pygame.time 时间控制模块,是 Pygame 中使用频率较高的模块,其主要功能是管理时间和游戏帧数率,本文就来详细的介绍一下,感兴趣的可以了解一下

pygame.time 时间控制模块,是 Pygame 中使用频率较高的模块,其主要功能是管理时间和游戏帧数率(即 FPS)。

时间在游戏开发中承担着非常重要的作用,比如释放某个技能所消耗的时间,或者播放动画、声音的持续时间,这些都需要时间来管理。time 模块另外一个重要作用是控制游戏帧数率(即 FPS),它是评价游戏画面是否流畅的关键指标。在一般情况下,计算机的 FPS 都能达到 60帧/s 的速度,这足够我们使用,如果当帧数小于 30 的时候,游戏画面就会变得卡顿。

注意,在 Pygame 中时间以毫秒为单位(1秒=1000毫秒),这样会使游戏的设计更为精细。

1) 游戏暂停

Pygame.time 模块提供了以下常用方法,如下表所示:

方法 说明
pygame.time.get_ticks()  以毫秒为单位获取时间
pygame.time.wait() 使程序暂停一段时间
pygame.time.set_timer() 创建一个定时器,即每隔一段时间,去执行一些动作
pygame.time.Clock() 创建一个时钟对象来帮我们确定游戏要以多大的帧数运行

下面看一组简单的示例:

import pygame
pygame.init()
screen = pygame.display.set_mode((500,500))
pygame.display.set_caption('c语言中文网')
# 获取以毫秒为单位的时间
t = pygame.time.get_ticks() #该时间指的从pygame初始化后开始计算,到调用该函数为止
t1 =pygame.time.wait(3000) #暂停游戏3000毫秒
print(t1)
#暂停t1时间后,加载图片
image_surface = pygame.image.load("C:/Users/Administrator/Desktop/c-net.png")
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()
    screen.blit(image_surface,(0,0))
    pygame.display.update()

上述程序在暂停 3 秒后才会加载图片

2) 设置游戏FPS

若想设置游戏的帧数率(FPS)可以通过 Clock() 方法来实现,该对象提供了以下常用方法:

方法 说明
pygame.time.Clock.tick() 更新clock对象
pygame.time.Clock.get_time() 获取上一个tick中的时间
pygame.time.Clock.get_fps() 计算clock对象的帧率

下面看一组简单的应用示例:

import pygame
pygame.init()
screen = pygame.display.set_mode((500,300))
pygame.display.set_caption('c语言中文网')
# 获取以毫秒为单位的时间
t = pygame.time.get_ticks() #该时间指的从pygame初始化后开始计算,到调用该函数为止
t1 =pygame.time.delay(3000) #暂停游戏3000毫秒
print(t1)
#暂停t1时间后,加载图片
image_surface = pygame.image.load("C:/Users/Administrator/Desktop/c-net.png")
#创建时钟对象(控制游戏的FPS)
clock = pygame.time.Clock()
while True:
    #通过时钟对象,指定循环频率,每秒循环60次
    clock.tick(60)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()
    screen.blit(image_surface,(0,0))
    pygame.display.update()

注意:FPS(游戏帧率)影响效果只有在动态图时才能显现出来,不过无论静态图还是动态图,它们的使用规则都是一样的。

到此这篇关于Pygame Time时间控制的具体使用详解的文章就介绍到这了,更多相关Pygame Time时间控制内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • python使用dlib进行人脸检测和关键点的示例

    python使用dlib进行人脸检测和关键点的示例

    这篇文章主要介绍了python使用dlib进行人脸检测和关键点的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • 对Python协程之异步同步的区别详解

    对Python协程之异步同步的区别详解

    今天小编就为大家分享一篇对Python协程之异步同步的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • Pandas如何对Categorical类型字段数据统计实战案例

    Pandas如何对Categorical类型字段数据统计实战案例

    这篇文章主要介绍了Pandas如何对Categorical类型字段数据统计实战案例,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • 使用pycharm创建Django项目失败的解决方案

    使用pycharm创建Django项目失败的解决方案

    使用PyCharm创建Django项目时遇到无法运行的问题,可以检查Python的安装路径设置是否正确,在PyCharm的设置中找到项目解释器的位置,确保路径正确,如果不确定Python的安装位置,可以在命令提示符中使用“where Python”命令查询
    2024-09-09
  • python图形用户界面tkinter之标签Label的使用说明

    python图形用户界面tkinter之标签Label的使用说明

    这篇文章主要介绍了python图形用户界面tkinter之标签Label的使用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • 基于Python爬取素材网站音频文件

    基于Python爬取素材网站音频文件

    这篇文章主要介绍了基于Python爬取素材网站音频文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Python使用JSON库解析JSON数据的方法

    Python使用JSON库解析JSON数据的方法

    这篇文章主要介绍了Python使用JSON库解析JSON数据,主要包括如何在网页中获取json数据及python内置的json库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • Numpy之random函数使用学习

    Numpy之random函数使用学习

    这篇文章主要介绍了Numpy之random使用学习,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • python神经网络MobileNetV2模型的复现详解

    python神经网络MobileNetV2模型的复现详解

    这篇文章主要为大家介绍了python神经网络MobileNetV2模型的复现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python读csv文件去掉一列后再写入新的文件实例

    Python读csv文件去掉一列后再写入新的文件实例

    下面小编就为大家分享一篇Python读csv文件去掉一列后再写入新的文件实例,具有很的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12

最新评论