delta_time在python arcade上是如何工作的?
我正在阅读有关python arcade的教程,希望了解函数的工作原理 绘图时有一个名为delta_time在python arcade上是如何工作的?,python,2d-games,pyglet,timedelta,game-loop,Python,2d Games,Pyglet,Timedelta,Game Loop,我正在阅读有关python arcade的教程,希望了解函数的工作原理 绘图时有一个名为的函数(增量时间) 我查阅了arcade的代码,但不知道库如何让时钟保持运行。有人能帮我理解它是如何工作的吗 这里有一个例子: 我搞不懂图书馆是怎么知道保持时钟运转的 库使用一个时钟周期性地调用绘图时的函数,将经过的时间(以秒为单位)作为参数传递给它 既然你问了这一切是如何连接起来的,那么让我们看看: 这一切都从main()函数开始。你的电话是: # Tell the computer to cal
的函数(增量时间)
我查阅了arcade的代码,但不知道库如何让时钟保持运行。有人能帮我理解它是如何工作的吗
这里有一个例子:
我搞不懂图书馆是怎么知道保持时钟运转的
库使用一个时钟周期性地调用绘图时的函数,将经过的时间(以秒为单位)作为参数传递给它
既然你问了这一切是如何连接起来的,那么让我们看看:
这一切都从
main()
函数开始。你的电话是:
# Tell the computer to call the draw command at the specified interval.
arcade.schedule(on_draw, 1 / 80)
因此,您正在调用arcade.schedule传递对绘图上的引用
好吧,我们去兔子洞
arcade.时间表
记录如下:
计划每隔几秒钟自动调用一个函数
…遗憾的是,他们对函数的调用方式(即使用什么参数,如果有的话)没有更具体一点——我们必须查看源代码,即忽略docstring:
就这样!它基本上是将作业委托给pyglet.clock.schedule\u interval
,在这里,我们也不知道它传递给函数的参数是什么。。。我的意思是我们有一个想法,但你要求一个证据,所以你会得到一个证据
挖掘(为简洁明了而编辑--粗体文本):
计划时间间隔(func,interval,*args,**kwargs)
计划每隔几秒钟调用一个函数
该函数应该有一个原型,其中包括dt作为第一个参数,它给出了自上次调用以来经过的时间(以秒为单位)。给此函数的任何附加参数都会传递给回调函数:
def callback(dt, *args, **kwargs):
pass
参数:
- func(
callable
)–计时器过期时调用的函数
- 间隔(
float
)–每次呼叫之间等待的秒数
这里有:它说将以经过的时间作为第一个参数来调用函数。(好吧,我必须在中编辑该部分,但我确信这就是他们的意思!)
现在,请不要问我pyglet.clock在内部是如何工作的;) 这是如何进入delta\u time
参数的?我查了一下资料来源,但找不出答案。我知道我的答案和你要求的不完全一样,我重写了它。更好吗?太棒了,比我想象的还要好。谢谢你的热情帮助!
def schedule(function_pointer: Callable, interval: Number):
pyglet.clock.schedule_interval(function_pointer, interval)
def callback(dt, *args, **kwargs):
pass