2024-04-24 05:44:10 发布
网友
我最近开始使用Ursina游戏引擎(在Python中运行),在我的许多项目中都遇到了问题。我不知道如何实现延迟,或者在函数之间休眠。有一个Wait函数我一直无法使用。我尝试过像time.sleep()这样的替代方案,并且有一个使用延迟的函数,但是它们似乎都不起作用。因为这不是一个非常流行的游戏引擎,所以网上没有太多的指南或有用的信息
Wait
time.sleep()
Wait function documentation
这实际上很容易使用延迟,下面是一个例子:
from ursina import * app = Ursina() player = Entity(model='cube', color=color.gray, scale_y=2) def input(key): if(key == 'space'): player.y +=1 invoke(setattr,player,'y',player.y-1,delay=.25) app.run()
在本例中,基本上,当玩家按下space时,实体的y增加1,延迟后实体的y减少1,换句话说,我们创建了一个延迟跳跃
space
注意:setattr()函数设置对象属性的值。您可以在此处查看有关此函数的更多信息:https://www.programiz.com/python-programming/methods/built-in/setattr
setattr()
使用invoke()函数调用具有延迟的函数,如下所示:
invoke()
def foo(): print('bar') invoke(foo, delay=5) # Calls myFunc after 5 seconds
对于需要参数的函数:
def foobar(foo, bar): print(foo + bar) invoke(Func(foobar, 'foo', 'this is foo\'s value', 'bar', 'and this is bar\'s'), delay=5)
这实际上很容易使用延迟,下面是一个例子:
在本例中,基本上,当玩家按下
space
时,实体的y增加1,延迟后实体的y减少1,换句话说,我们创建了一个延迟跳跃注意:
setattr()
函数设置对象属性的值。您可以在此处查看有关此函数的更多信息:https://www.programiz.com/python-programming/methods/built-in/setattr使用
invoke()
函数调用具有延迟的函数,如下所示:对于需要参数的函数:
相关问题 更多 >
编程相关推荐