pygame时序模块time

文章目录

    • 简介
    • 时钟对象
    • 平抛运动

pygame系列:初步💎加载图像💎图像变换💎直线绘制

简介

之前在更新图形的时候,为了调控死循环的响应时间,用到了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 pgc = pg.time.Clock()
c.tick()    # 5
c.tick_busy_loop()  # 1
c.get_time()    # 1

平抛运动

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

import pygame as pgpg.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()breakpg.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] += 1th += 5screen.fill("black")screen.blit(pg.transform.rotate(ball, th), rect)pg.display.flip()

效果如下

图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/195007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode二分查找:寻找比目标字母大的最小字母

LeetCode二分查找:寻找比目标字母大的最小字母 题目描述 给你一个字符数组 letters,该数组按非递减顺序排序,以及一个字符 target。letters 里至少有两个不同的字符。 返回 letters 中大于 target 的最小的字符。如果不存在这样的字符&…

Failed to connect to gitee.com port 443: Time out 连接超时提示【Bug已完美解决-鸿蒙开发】

文章目录 项目场景:问题描述原因分析:解决方案:解决方案1解决方案2:解决方案3:此Bug解决方案总结解决方案总结**心得体会:解决连接超时问题的三种方案**项目场景: 导入Sample时遇到导入失败的情况,并提示“Failed to connect to gitee.com port 443: Time out”连接超…

YouTube Premium 会员白嫖教程

前言 YouTube是美国Alphabet旗下的视频分享网站,也是目前全球最大的视频搜索和分享平台,同时允许用户上传、观看、分享及评论视频 1、点击自己的头像,点击购买内容与会员 2、点击免费试订 3、这里选择个人 4、点击开始试用一个月 5、添加一…

Git 配置文件(.gitignore)

前言 在使用 Git 分布式版本控制系统的时候,有些文件如:数据库的一些配置文件,我们不想让这类文件在远程仓库让 Git 来管理,不想让别人看到,此时就可以自己在 Git 仓库目录下创建 / 在远程仓库创建的时候就配置好 .git…

计算机网络扫盲(3)——网络核心

一、概述 在之前的文章中,我们已经介绍了计算机网络的边缘,本文我们将继续介绍网络核心部分,即由互联因特网系统的分组交换机和链路构成的网状网络。 二、分组交换 在各种网络应用中,端系统彼此交换报文(message)。报…

Java内存缓存神器:Caffeine(咖啡因)

文章目录 一、Caffeine简介二、缓存加载1、手动加载2、自动加载3、手动异步加载(需要额外的包)4、自动异步加载 三、缓存清理1、基于容量2、基于时间3、基于引用 四、缓存移出1、手动移出2、移出监听器 五、刷新缓存 一、Caffeine简介 官网:…

PCL 点云加权均值收缩

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 受到之前Matlab 加权均值质心计算(WMN)的启发,我们在计算每个点的加权质心时可以很容易的发现,他们这些点会受到周围邻近点密度的影响,最后会收缩到某一个区域,那么这个区域也必定是我们比较感兴趣的一些点,…

conda使用——(待完善)

conda删除虚拟环境 conda env remove --name your_env_name Python Anaconda导出(export)环境到environment.yml文件conda create --prefix 命令安装虚拟环境到指定路径报错conda环境打包迁移及部署conda使用yaml创建虚拟环境conda创建新环境Linux查看当前Cuda(CUDA…

《系统架构设计师教程(第2版)》第2章-计算机系统基础知识-02-计算软件

文章目录 1. 概述2. 操作系统2.1 操作系统的组成2.2 操作系统的作用2.3 操作系统的特征2.4 操作系统的分类2.4.1 批处理操作系统2.4.2 分时操作系统2.4.3 实时操作系统2.4.4 网络操作系统2.4.5 分布式操作系统2.4.6 微型计算机操作系统2.4.7 嵌入式操作系统3. 数据库3.1 关系型…

2023.12.4

race\牛客\多校\广西师范大学训练赛\雾锁山头山锁雾.cpp #include<bits/stdc.h> #include<iostream> #include<algorithm> #include<map> #include<set> #include<queue> #include<cstring> #include<math.h> #include<ma…

uniapp中进行地图定位

目录 一、创建map 二、data中声明变量 三、获取当前位置信息&#xff0c;进行定位 四、在methods中写移动图标获取地名地址的方法 五、最终展示效果 一、创建map <!-- 地图展示 --><view class"mymap"><!-- <view class"mymap__map"…

LangChain(0.0.340)官方文档五:Model

LangChain官网、LangChain官方文档 、langchain Github、langchain API文档、llm-universe 文章目录 一、Chat models1.1 Chat models简介1.2 Chat models的调用方式1.2.1 环境配置1.2.2 使用LCEL方式调用Chat models1.2.3 使用内置Chain调用Chat models 1.3 缓存1.3.1 内存缓存…

如何调用 API | 学习笔记

开发者学堂课程【阿里云 API 网关使用教程:如何调用 API】学习笔记&#xff0c;与课程紧密联系&#xff0c;让用户快速学习知识。 课程地址&#xff1a;阿里云登录 - 欢迎登录阿里云&#xff0c;安全稳定的云计算服务平台 如何调用 API 调用 API 的三要素 要调用 API 需要三…

Oracle的回收站

Oracle的回收站 一、什么是oracle的回收站二、oracle的回收站相关操作1、设置Oracle回收站的状态2、回收站功能的使用3、查看回收站的状态和内容4、回收站具体应用案例&#xff1a; 一、什么是oracle的回收站 Oracle的回收站是一种功能&#xff0c;它允许用户在删除表中的数据…

Linux系统检查是以虚拟机还是物理机形式运行

平时工作中使用Linux大部分是通过ssh远程连接到服务器上,比如应用安装部署和系统维护等。那么,对于没有进过机房的人,如何知道自己使用的Linux服务器是虚拟机还是物理机呢? 1、dmidecode命令 dmidecode命令可以获取有关系统硬件的详细信息,包括制造商信息, 虚拟机通常会…

Hive 安装部署

文章目录 Hive 安装部署部署模式嵌入模式安装下载安装配置环境启动 Hive 客户端工具 本地模式安装下载安装 MySQL登录 MySQL安装 Hive Hive 命令行交互 Hive 安装部署 部署模式 Hive 有3种部署模式&#xff0c;分别是嵌入模式、本地模式和远程模式。关于这 3 种部署模式的具体…

【软件测试学习】—软件质量需求(四)

【软件测试学习】—软件质量需求&#xff08;四&#xff09; 1 软件质量需求的分类 软件质量需求用于确定测试目标。测试目标包括&#xff1a;功能、性能、界面、易用性、兼容性、安全性、可用性/可靠性、可维 护性、可扩展性等。功能以外统称非功能 2 功能  软件能做什么…

【JavaScript手撕代码】数组去重

利用Set function getUnRepeatArr(arr){return [...new Set(arr)] }利用filter function getUnRepeatArr(arr){return arr.filter((item, index) > {// 过滤的方法&#xff0c;如果说数组中最后一个元素的索引当前遍历到的元素的索引// 那么我们认为它是唯一的return arr.…

组网技术-交换机

交换机&#xff1a; 分类&#xff1a; 根据交换方式划分&#xff1a; 1.存储转发交换&#xff1a;交换机对输入的数据包先进行缓存、验证、碎片过滤&#xff0c;然后进行转发。 时延大&#xff0c;但是可以提供差错校验&#xff0c;并支持不同速度的输入、输出端口间的交换…

Python读取二进制文件:深入解析与技术实现

目录 一、引言 二、二进制文件的基础 1、二进制文件的组成 2、二进制文件的编码 三、Python读取二进制文件的方法 1、使用内置函数open() 2、使用numpy库 四、处理读取的二进制数据 1、解析数据 2. 转换数据类型 五、总结与展望 1、高效读取二进制文件 2、处理复杂…