pygame时序模块time的具体使用

 更新时间:2023年12月04日 09:46:52   作者:微小冷  
Pygame Time模块能够帮助你更好地控制帧率和时间,从而增强游戏的可玩性,本文主要介绍了pygame时序模块time的具体使用,具有一定的参考价值,感兴趣的可以了解一下

简介

之前在更新图形的时候,为了调控死循环的响应时间,用到了time.sleep。而实际上,我们并不需要额外导入其他包,pygame就提供了time模块,用以调控游戏的帧率。

time中主要有下面几种

方法和类
get_ticks获取pygame初始化后的毫秒数
wait(milliseconds)
delay(milliseconds)
延时,前者更轻量,后者更精确
set_timer重复创建事件队列中的事件
Clock时钟对象

时钟对象

Clock是time模块中的时钟类,封装了下列方法

方法
tick, tick_busy_loop更新时钟,前者更轻量,后者更精确
get_time, get_rawtime上一次tick的毫秒数
get_fps计算时钟帧率

下面简单测试一下时钟类

import pygame as pg

c = pg.time.Clock()
c.tick()    # 5
c.tick_busy_loop()  # 1
c.get_time()    # 1

平抛运动

接下来,用time模块将平抛运动重做一次,代码如下

import pygame as pg

pg.init()

size = width, height = 640, 320
speed = [10, 0]

screen = pg.display.set_mode(size)

ball = pg.image.load("intro_ball.gif")
rect = ball.get_rect()

th = 0
while True:
    if pg.QUIT in [e.type for e in pg.event.get()]:
        pg.quit()
        break
    pg.time.delay(20)
    rect = rect.move(speed)
    if rect.right>width:
        speed = [10, 0]
        rect = ball.get_rect()
    if rect.bottom>height:
        speed[1] = -speed[1]
    speed[1] += 1
    th += 5
    screen.fill("black")
    screen.blit(pg.transform.rotate(ball, th), rect)
    pg.display.flip()

效果如下

到此这篇关于pygame时序模块time的具体使用的文章就介绍到这了,更多相关pygame time内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:

相关文章

  • Python+Qt相片更换背景颜色窗体程序的步骤详解

    Python+Qt相片更换背景颜色窗体程序的步骤详解

    QT+Python是非常经典的窗体编程组合,功能完善,可视化界面美观易维护,这篇博客针对相片更换背景颜色方面编写代码,代码整洁,规则,易读,对学习与使用Python有较好的帮助,需要的朋友可以参考下
    2022-12-12
  • python 多个参数不为空校验方法

    python 多个参数不为空校验方法

    今天小编就为大家分享一篇python 多个参数不为空校验方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • Python使用Matplotlib进行图案填充和边缘颜色分离的三种方法

    Python使用Matplotlib进行图案填充和边缘颜色分离的三种方法

    Matplotlib是Python中功能强大的绘图库,允许广泛的自定义选项,一个常见的要求是分离出图中的图案填充和边缘颜色,默认情况下,Matplotlib中的填充颜色与边缘颜色相关联,但有一些方法可以独立自定义这些颜色,本文将深入研究如何实现这一点的技术细节,并提供分步说明和示例
    2025-01-01
  • Python中jieba库的使用方法

    Python中jieba库的使用方法

    jieba库是一款优秀的 Python 第三方中文分词库,本文主要介绍了Python中jieba库的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • python plt如何保存为emf图像

    python plt如何保存为emf图像

    这篇文章主要介绍了python plt如何保存为emf图像问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Python解压可迭代对象赋值给多个变量详解

    Python解压可迭代对象赋值给多个变量详解

    这篇文章主要为大家介绍了Python赋值多个变量,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • Python中os.path.join函数的用法示例详解

    Python中os.path.join函数的用法示例详解

    这篇文章主要给大家介绍了关于Python中os.path.join函数用法的相关资料,os.path.join函数是Python标准库中的一个函数,用于将多个路径组合成一个有效的路径,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • python类方法中的self关键字使用

    python类方法中的self关键字使用

    这篇文章主要介绍了python类方法中的self关键字使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 详解Python中的Numpy、SciPy、MatPlotLib安装与配置

    详解Python中的Numpy、SciPy、MatPlotLib安装与配置

    这篇文章主要介绍了详解Python中的Numpy、SciPy、MatPlotLib安装与配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • python嵌套字典比较值与取值的实现示例

    python嵌套字典比较值与取值的实现示例

    这篇文章主要给大家介绍了关于python嵌套字典比较值与取值的实现方法,详细介绍了python字典嵌套字典的情况下获取某个key的value的相关内容,分享出来供大家参考学习,需要的朋友们下面来一起看看吧。
    2017-11-11

最新评论