所以我使用pygame制作了一个包含多个部分的游戏,并且它有一个“醉”组件。我的目标是让玩家更“醉”,屏幕看起来会更模糊。
Here is a hack provided for blurring a surface
但这对整个屏幕都不起作用,这就是我所需要的。
我怎样才能模糊整个屏幕?
答案 0 :(得分:3)
我怎样才能模糊整个屏幕?
当你执行pygame.display.set_mode()
(或其他一些功能来获取游戏画面*)时,你得到的 是Surface
。
如果您按照教程进行操作,则可能已将其存储在名为screen
的变量中。只需将其用作表面。
或者您可以随时只是绘制到离屏幕表面,将其转换为blit并从转换后的版本blit到屏幕。
另外,您可能需要考虑使用surfarray
;你可以做一个更好的模糊,而不仅仅是抗锯齿像素化,大约相同的代码量和更少的CPU工作......
*游戏屏幕可以是整个监视器屏幕,用于全屏游戏,或窗口,用于窗口游戏。无论哪种方式,如果您想要模糊,那就是您使用的Surface
。如果你想从一个带窗口的游戏模糊整个显示器屏幕,那是不可能的,因为你没有办法解决这个问题......但是从评论来看,这并不是你想要的。