栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么PyGame会追踪图像?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么PyGame会追踪图像?

pygame的工作方式是,它内部具有您要更新的屏幕的表示形式。因此,它完全从黑色开始,然后执行第一个“ blit”操作。这将更新内部表示。然后,当您调用“
pygame.display.flip”时,它将在屏幕上显示该表示。但是,这不会为您的下一帧自动“清除”您的表示形式,使其变回全黑。因此,在下一帧上,您再次进行blit(例如,稍微向左),并且仍然保留了第一blit,从而创建了“
trail”。

因此,对于您正在做的事情,最好的办法是在循环中清除屏幕的内部表示,然后再开始绘制下一帧。您可以通过用单色填充它来“清除”屏幕,就像这样…

BLACK = (0,0,0)....screen.blit(cv9, (xposCv9, yposCv9))pygame.display.flip()clock.tick(60)screen.fill(BLACK) # Add this to "clear" the screen.

请注意,如果您选择走这条路线,这意味着您将需要在每帧中重绘所有元素(而不仅仅是自上一帧以来发生变化的元素)。

顺便说一句,如果您想知道,为什么在最后没有自动清除框架是有充分的理由的。在某些情况下,仅更新屏幕中要更新的部分可能会更快。这可能会导致某些应用程序中的性能加速。但是,最好从清除屏幕开始,如上面的示例所示。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/645592.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号