如何在pygame中冻结sprite一段时间?

时间:2016-12-27 16:02:55

标签: python python-3.x pygame

由于导入模块“time”并使用time.sleep(秒)冻结整个屏幕。如何将精灵冻结3秒,4秒或5秒?我尝试这样做,但它冻结整个pygame 3秒!

elif event.key == pygame.K_q:
time.sleep(3)

1 个答案:

答案 0 :(得分:0)

在Pygame中,你负责“主循环”,因此对游戏的所有时间进行管理。

这对于简单的绘图示例非常有用,并且非常适合“控制”事物 - 但这意味着如果只是对屏幕上移动和更新的所有内容负责。

当您调用blobpygame.time.delay时,您暂停整个程序 - 暂停某个对象而不是其他对象的唯一方法,并且根本不停止响应事件,就是在代码中构建机制允许个别对象暂停。

对于简单代码,它可以是一个简单的“暂停”属性和精灵代码中的time.sleep验证 - 例如,给定每秒30次更新的“帧速率” - 在你的精灵上沿着这个class if方法,如果您使用该方法实际更新位置,并对您的对象执行“采取措施”:

update