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练习之ORM框架

    Python练习之ORM框架

    这篇文章主要介绍了Python练习之ORM框架,通过使用SQLObject框架操作MySQL数据库展开文章主题详细内容,具有一定的参考价值,需要的朋友可以参考一下
    2022-06-06
  • 如何使用PyCharm引入需要使用的包的方法

    如何使用PyCharm引入需要使用的包的方法

    这篇文章主要介绍了如何使用PyCharm引入需要使用的包的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • python基础教程之对象和类的实际运用

    python基础教程之对象和类的实际运用

    这篇文章主要介绍了python基础教程之对象和类的实际运用,本文讲解对象和类的一方法技巧,例如属性、内置方法、self关键字的运用等,需要的朋友可以参考下
    2014-08-08
  • Python可视化库之HoloViews的使用教程

    Python可视化库之HoloViews的使用教程

    本文主要为大家介绍了Python中一个优秀的可视化库—HoloViews,不仅能实现一些常见的统计图表绘制,而且其还拥有Matplotlib、Seaborn等库所不具备的交互效果,快跟随小编一起了解一下吧
    2022-02-02
  • Django web框架使用url path name详解

    Django web框架使用url path name详解

    这篇文章主要介绍了Django web框架使用url path name详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • python读取并写入mat文件的方法

    python读取并写入mat文件的方法

    这篇文章主要介绍了python读取并写入mat文件的方法,文中给大家提到了python读取matlab写的mat文件问题以及解决办法 ,需要的朋友可以参考下
    2019-07-07
  • Django高并发负载均衡实现原理详解

    Django高并发负载均衡实现原理详解

    这篇文章主要介绍了Django高并发负载均衡实现原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Django app配置多个数据库代码实例

    Django app配置多个数据库代码实例

    这篇文章主要介绍了Django app配置多个数据库代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • python周期任务调度工具Schedule使用详解

    python周期任务调度工具Schedule使用详解

    这篇文章主要为大家介绍了python周期任务调度工具Schedule的使用及示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2021-11-11
  • python处理文本文件实现生成指定格式文件的方法

    python处理文本文件实现生成指定格式文件的方法

    这篇文章主要介绍了python处理文本文件实现生成指定格式文件的方法,有一定的实用价值,需要的朋友可以参考下
    2014-07-07

最新评论