Pygame基础1-计时器timer

简介: Pygame基础1-计时器timer

1. 计时器

计时器原理

PyGame中,我们通过pygame.time.get_ticks()获取当前距离游戏开始过去了多少毫秒

这个函数就像一个打点计时器,我们可以通过两次打点的时间差来计算耗时

time0 = pygame.time.get_ticks()
...
# 一些操作...
time1 = pygame.time.get_ticks()
time_cost = time1 - time0

案例

下面我们利用这个函数来实现一个简单的计时器

  1. 当我们按下任意键,屏幕变白,计时器开始计时
  2. 当计时器计时超过2秒时,屏幕变黑
import pygame
import sys

pygame.init()
screen = pygame.display.set_mode((800, 600))
clock = pygame.time.Clock()

current_time = 0
button_press_time = 0

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
        if event.type == pygame.KEYDOWN: # 按下任意键
            button_press_time = pygame.time.get_ticks()
            # 屏幕填充白色
            screen.fill((255,255,255))
        

    current_time = pygame.time.get_ticks()
    print(f"Current time: {current_time},\
            Button press time: {button_press_time}")
    if current_time - button_press_time > 2000:
        print("2 seconds have passed")
        # 屏幕填充黑色
        screen.fill((0, 0, 0))

   
    pygame.display.flip()
    clock.tick(60)
相关文章
|
XML Java 数据格式
Springboot中自定义组件
Springboot中自定义组件
149 1
|
PyTorch 算法框架/工具 计算机视觉
用thop去获得模型参数量和计算量(pytorch)
用thop去获得模型参数量和计算量(pytorch)
874 2
|
Linux
Win或Linux系统下用conda安装Open Babel
Win或Linux系统下用conda安装Open Babel
2074 0
Win或Linux系统下用conda安装Open Babel
|
11月前
|
Linux Python Windows
在VS2022上安装pygame模块
【10月更文挑战第4天】这是在VS2022中安装Pygame模块的步骤:首先确认已安装Python环境,并通过“工具”->“Python”->“Python环境”进行检查;接着打开VS2022集成终端;然后输入`pip install pygame`安装Pygame;最后,在Python脚本中导入Pygame验证安装是否成功。如遇问题,请检查网络连接、权限及Python环境配置。对于权限问题,需以管理员身份运行命令提示符或终端。某些系统可能需要安装额外的系统级依赖项。
367 5
|
10月前
|
存储 Oracle NoSQL
【赵渝强老师】Oracle的体系架构
Oracle数据库的核心在于其体系架构,主要包括数据库与实例、存储结构、进程结构和内存结构。数据库由物理文件组成,实例则是内存和进程的组合。存储结构分为逻辑和物理两部分,进程结构涉及多个后台进程如SMON、PMON、DBWn等,内存结构则包含SGA和PGA。掌握这些知识有助于更好地管理和优化Oracle数据库。
318 7
|
算法 程序员
理解操作系统内存管理:页面置换算法全解析
大家好,我是小米,热爱分享技术的大哥哥!今天聊的是操作系统中的页面置换算法。它解决的是内存满载时,如何选择合适的页面移出以腾出空间的问题。主要有三种算法:FIFO(先进先出),简单但性能不佳;LRU(最近最久未使用),考虑时间局部性,性能较好但实现较复杂;OPT(最佳置换),理论上最优但无法实际应用。这些算法各有千秋,在实际应用中需根据场景选择最合适的方案。希望这能帮大家更好地理解内存管理的核心机制!
407 2
|
图形学 开发者
【unity小技巧】FPS游戏后坐力制作思路
【unity小技巧】FPS游戏后坐力制作思路
385 0
|
数据采集 XML 前端开发
react的优缺点
react的优缺点
|
传感器 存储 调度
PowerManagerService类大致解读
PowerManagerService类大致解读
290 1
|
Go 开发者
Golang深入浅出之-Go语言项目构建工具:Makefile与go build
【4月更文挑战第27天】本文探讨了Go语言项目的构建方法,包括`go build`基本命令行工具和更灵活的`Makefile`自动化脚本。`go build`适合简单项目,能直接编译Go源码,但依赖管理可能混乱。通过设置`GOOS`和`GOARCH`可进行跨平台编译。`Makefile`适用于复杂构建流程,能定义多步骤任务,但编写较复杂。在选择构建方式时,应根据项目需求权衡,从`go build`起步,逐渐过渡到Makefile以实现更高效自动化。
334 2