首页 > 编程知识 正文

pygame blit参数,pygame中blit方法

时间:2023-05-03 19:44:26 阅读:157703 作者:1930

pygame中surface的blit ) )是游戏入门的常用方法吧,但是看了网上的内容,也没有具体说明的文章,所以特意说明一下。 如果有错误的地方请指出来。 毕竟我也用了pygame库没几天。

假设b是pygame的surface对象图。 (pygame可以绘制很多图,但只有一个图是屏幕画布,可以显示屏幕画布上的内容。)

B.blit ) )的功能是将一个图a粘贴到另一个图b中。 也就是说,b的图被a的图覆盖,无法永久复原。 blit ) )的原型是blit(source,dest,area=None,special_flags=0) ),返回值是rect对象,返回更改后的屏幕区域。

有参数

在source两个surface对象中,可以理解为一个图;

dest :可识别坐标,可以是(x,y )元组。 (x,y,height,width )可以是元组或Rect对象,Rect对象可以理解为有位置和大小的矩形。

区域: rect对象

其中,source是你复印后贴在b上的a图像。

在pygame的坐标系中,以左上角为原点,从右到下两个方向上取x轴、y轴构成坐标(x,y )。 请注意,它是所绘制的b对象的左上角。 如果这个对象是屏幕,它就是屏幕的左上角。

关于dest,首先介绍Rect对象。 Rect对象是包含坐标信息和大小的矩形,相对于画布,不是屏幕。 因此,它可以用于表示画布上的区域

粘贴的矩形图像左上角的位置是pygame坐标轴的坐标点。 再次提醒我说的坐标都是针对画布的,画布不一定用屏幕。

更详细地说,使用(x,y )时,对粘贴到a的大小没有限制,如果使用width或height参数或使用Rect对象,则无法显示超过此Rect大小的内容

最后,area用于剪切要粘贴的图像a的一部分,因为Rect对象包含位置信息(x,y )、大小信息width和height。 因此,使用area参数,以要描绘的a的左上角为坐标系,画出Rect对象表示的领域的画,将其分为b画布。

有点头晕吧。 就这样理解吧。 画布B.blit (画面a、区域1、区域2 )的作用是在画面a的区域2的画面中抠出并粘贴到画布b的区域1。 如果区域1只被赋予了(x,y )坐标,则区域1将是(x,y )向右下方的无限大区域

图标: rect_green.blit(rect_red、rect_black、rect_blue ) )。

如果有两个表面:

红色框的表面表示rect_red (要复印的画面),rect_blue的坐标是从蓝色框的左上角到红色框的左上角的位置,大小越是蓝色框越大

画布rect_green为了调用rect_black参数,切取画面的一部分,即黑色的边框作为画布

然后剪下蓝色的画面

然后,将左黑色框的左上角和蓝色框对齐并粘贴

请注意,越是蓝色的照片越大。 贴在黑框上的话只有左上角会被贴上。

然后,脏了的矩形动画将蓝框复制到黑框&; 粘贴前只需保存有黑框的绿框区域,将蓝框设为黑框,将最后保存的绿框中的黑框恢复原状,恢复画面,即可保持背景不变,继续循环其他区域。

希望这篇文章对学习脏矩形动画和动画绘制有帮助。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。