由于导入模块“time”并使用time.sleep(秒)冻结整个屏幕。如何将精灵冻结3秒,4秒或5秒?我尝试这样做,但它冻结整个pygame 3秒!
elif event.key == pygame.K_q:
time.sleep(3)
答案 0 :(得分:0)
在Pygame中,你负责“主循环”,因此对游戏的所有时间进行管理。
这对于简单的绘图示例非常有用,并且非常适合“控制”事物 - 但这意味着如果只是对屏幕上移动和更新的所有内容负责。
当您调用blob
或pygame.time.delay
时,您暂停整个程序 - 暂停某个对象而不是其他对象的唯一方法,并且根本不停止响应事件,就是在代码中构建机制允许个别对象暂停。
对于简单代码,它可以是一个简单的“暂停”属性和精灵代码中的time.sleep
验证 - 例如,给定每秒30次更新的“帧速率” - 在你的精灵上沿着这个class if
方法,如果您使用该方法实际更新位置,并对您的对象执行“采取措施”:
update