首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改特定函数的frameRate (处理)

如何更改特定函数的frameRate (处理)
EN

Stack Overflow用户
提问于 2020-12-09 14:01:53
回答 1查看 29关注 0票数 0

我正在尝试实现一个时钟/计时器。到目前为止,它是有效的,但唯一的问题是我需要将frameRate设为1,但它会影响整个程序的frameRate。如何仅为时钟函数更改frameRate?

代码语言:javascript
复制
def clock():
global sec, minutes, hours, col
    
sec+=1
if(sec == 60):
    sec = 0
    minutes+=1
if(minutes == 60):
    minutes = 0
    hours+=1
if(hours == 24):
    hours = 0
    minutes = 0
    sec = 0
        
textSize(25)
fill(255, 0, 0)
text(floor(sec), 185, 110)
text(floor(minutes), 135, 110)
text(floor(hours), 85, 110)

if(sec % 2 == 0):
    col = color(0)
else:
    col = color(255, 0, 0)

fill(col)
textSize(30)
text(":", 120, 110)
text(":", 170, 110)
EN

回答 1

Stack Overflow用户

发布于 2020-12-09 17:29:31

您不能只为一个函数更改帧速率,因为它没有意义:处理的draw()函数是以定义的帧速率在循环中调用的(假设它每秒固定在60次,尽管实际上它可能会改变)。当您使用frameRate()函数更改此值时,您将更改调用draw()函数的速度,因为它调用了您的所有其他函数,所以您不能仅为特定函数定义该值。

但是,您还有其他方法来实现时钟/计时器功能:

First processing提供几个时间函数:

  • millis()返回自程序启动以来的毫秒数。您可以让draw()调用clock()函数,使其将millis()转换为秒、分钟、小时等数字……这样你就不必自己记录时间了,这将大大简化你的代码。

根据您想要做什么,您还可以使用second()minute()和"Time & Date“部分中的所有功能访问您的计算机时钟

其次,您可以使用python as shown in this SO questiontime模块,它有点类似于millis()的思想,但使用的是原生python函数。

最后,仍然取决于您的需要,您可能希望查看python的Timer对象,以便在draw()循环之外以定义的时间间隔执行clock()函数,但这是完全可能的,而且对于编程新手来说,这并不直接,并且可能很棘手。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65211439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档