广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Pygame Time时间控制的具体使用详解
  • 407
分享到

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

2024-04-02 19:04:59 407人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

pygame.time 时间控制模块,是 Pygame 中使用频率较高的模块,其主要功能是管理时间和游戏帧数率(即 FPS)。 时间在游戏开发中承担着非常重要的作用,比如释放某个技能

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时间控制内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Pygame Time时间控制的具体使用详解

本文链接: https://www.lsjlt.com/news/157568.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Pygame Time时间控制的具体使用详解
    pygame.time 时间控制模块,是 Pygame 中使用频率较高的模块,其主要功能是管理时间和游戏帧数率(即 FPS)。 时间在游戏开发中承担着非常重要的作用,比如释放某个技能...
    99+
    2022-11-12
  • 怎么使用Pygame Time时间控制
    本篇内容主要讲解“怎么使用Pygame Time时间控制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Pygame Time时间控制”吧!pygame.time 时间控制模块,是 Pyg...
    99+
    2023-06-25
  • python Pygame的具体使用讲解
    一、实验介绍 1.1 实验内容 在本节课中,我们将讲解Pygame的常用对象及其操作,包括图形、动画、文字、音频等,确保同学们对Pygame有一个基础的了解,同时为后续课程做好准备。 1.2 实验知识点 ...
    99+
    2022-06-04
    python Pygame
  • UTC时间、GMT时间、本地时间、Unix时间戳的具体使用
    目录1.UTC时间 与 GMT时间2.UTC时间 与 本地时3.UTC 与 Unix时间戳1.UTC时间 与 GMT时间 我们可以认为格林威治时间就是时间协调时间(GMT=UTC),...
    99+
    2022-11-12
  • Java时间处理第三方包Joda Time使用详解
    目录引言Joda-Time体验依赖创建日期日期格式化日期计算兼容JDK日期引言 Joda-Time provides a quality replacement for t...
    99+
    2022-11-13
  • pandas.DataFrame.iloc的具体使用详解
    目录第一种 整数做索引第二种 列表或数组做索引第三种 利用切片做索引第四种 Boolean数组做索引第五种 带一个参数的可调用函数做索引今天学习时遇到了这个方法,为了加深理解做一下笔...
    99+
    2022-11-11
  • KotlinFragment的具体使用详解
    目录概念基本示例设置左右列布局文件配置左右布局类主布局文件注册概念 fragment 可以用作一个 activity 内部的小分块; 当我们从手机转换到 pad 上时,整体界面会发生...
    99+
    2022-11-13
  • shell流程控制语句的具体使用
    目录前言一、if - else 语句案例需求描述二、case语句三、while 语句四、until语句五、for语句for 语法写法一for 语法写法二for 语法写法三无...
    99+
    2023-05-19
    shell 流程控制语句
  • shell 流程控制语句的具体使用
    目录前言一、if - else 语句案例需求描述二、case语句三、while 语句四、until语句五、for语句for 语法写法一for 语法写法二for 语法写法三无限for循环六、select 语句八、...
    99+
    2023-05-12
    shell 流程控制语句
  • 时间处理工具 dayjs使用示例详解
    目录特点安装和使用dayjs 的基本架构基本用法国际化使用插件小结特点 在 dayjs 之前,还有一个时间处理工具 moment.js,但是它的体积比较大,即使经过压缩压缩之后依然有...
    99+
    2022-11-13
    时间处理工具 dayjs 时间处理 dayjs
  • Python日期时间模块arrow的具体使用
    目录arrow模块的使用 获取arrow对象 获取当前时间 时间形式转换 转换成时间字符串 转换成时间戳 获取数据 修改时间 将字符串转换为arrow对象  &n...
    99+
    2022-11-12
  • Android滚轮选择时间控件使用详解
    滚轮选择控件 Android自带的选择时间控件有点丑,往往产品和设计都比较嫌弃,希望做成ios一样的滚轮选择,下面是我在NumberPicker的基础上自定义的选择控件,效果如...
    99+
    2022-06-06
    选择 Android
  • Android 使用版本控制工具时添加忽略文件的方式(详解)
    Android Studio 配合SVN时,添加忽略文件相对简单,首先打开项目的Settings选项,切换到Version Control下的Ignored Files目录,如...
    99+
    2022-06-06
    版本 工具 版本控制 Android
  • 详解MybatisGenerator的具体使用教程
    目录1、相关文件2、使用方法Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Gen...
    99+
    2022-11-13
  • Java TimedCache 带时间缓存工具类详解使用
    简述 我们在工作中会碰到需要使用带过期时间的缓存场景。但是使用redis有太重了,毕竟缓存的数据很小,放在内存够够的。hutools提供了TimedCache时间缓存工具,可以实现该...
    99+
    2022-11-12
  • android时间选择控件之TimePickerView使用方法详解
    相信大家都有这样的一个需求,选择相应开始时间和结束时间,对数据进行筛选,下面就将使用TimePickerView实现这么一个功能。 一、先导入依赖 implementation "c...
    99+
    2022-11-13
  • Spring 控制反转和依赖注入的具体使用
    目录控制反转的类型1. 依赖查找1.1 依赖拉取1.2 上下文依赖查找2. 依赖注入2.1 构造函数注入2.2 setter 函数注入Spring 中的控制反转1. Bean 和 B...
    99+
    2022-11-13
  • 使用PHP怎么控制循环操作的时间
    这期内容当中小编将会给大家带来有关使用PHP怎么控制循环操作的时间,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。循环执行某个程序,但循环执行过程中,可能会超时导致程序死掉,因此需要限制每个循环操作的最长时...
    99+
    2023-06-15
  • Golang开发之接口的具体使用详解
    目录Golang的接口是什么什么情况下要用接口实战案例多态的例子定义通用方法的例子松耦合的例子实现插件化架构的例子Golang的接口是什么 在 Golang 中,接口是一种类型,它是...
    99+
    2023-05-14
    Golang接口使用 Golang接口 Go 接口
  • MySql统计函数COUNT的具体使用详解
    目录1. COUNT()函数概述2. COUNT()参数说明3. COUNT()判断存在4. COUNT()阿里开发规范1. COUNT()函数概述 COUNT() 是一个聚合函数,返回指定匹配条件的行数。开发中常用来统...
    99+
    2022-08-14
    MySql统计函数COUNT MySqlCOUNT
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作