pygame spirit,python中blitme

  pygame spirit,python中blitme

  pygame中的Blit of surface))是游戏入门的常用方法,但是看了网上的内容,没有具体说明的文章,我就专门讲解一下。请指出任何错误。毕竟我也用了几天pygame库。

  假设B是pygame的表面对象图。(pygame可以画很多图,但是只有一张图是屏幕画布,可以显示屏幕画布上的内容。)

  B.blit))的作用是将一个图A粘贴到另一个图B中,即B的图被A的图覆盖,不能永久恢复。blit)的原型是blit(source,dest,area=None,special_flags=0)),返回值是rect对象,返回改变后的屏幕区域。

  有参数

  在源的两个表面对象中,它可以理解为一个图形;

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

  区域:矩形对象

  其中,source是你复制粘贴在b上的图像A。

  在pygame的坐标系中,以左上角为原点,从右至下取X轴和Y轴组成坐标(X,Y)。注意是绘制的B对象的左上角。如果这个对象是一个屏幕,它就是屏幕的左上角。

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

  粘贴的矩形图像左上角是pygame坐标轴的坐标点。再次提醒一下,提到的坐标都是针对canvas的,canvas不一定要用screen。

  更具体地说,当使用(x,y)时,对粘贴到a的大小没有限制,如果使用width或height参数或使用Rect对象,则不能显示大于此Rect大小的内容。

  最后,该区域用于剪切要粘贴的图像A的一部分,因为Rect对象包含位置信息(x,y),尺寸信息宽度和高度。所以使用了area参数,把要描绘的A的左上角作为坐标系,画出Rect对象所表示的场的一幅图,划分到B画布中。

  有点晕。我们这么理解吧。b . canvas b . blit(图片A,区域1,区域2)的作用是将图片A的区域2中的图片剪下,粘贴到画布b的区域1中,如果只给区域1(x,y)坐标,则区域1将是(x,y)右下方的无限区域。

  Icon: rect_green.blit(rect_red,rect_black,rect_blue))。

  如果有两个曲面:

  红框表面表示rect_red(要复制的图片),rect_blue的坐标是从蓝框的左上角到红框的左上角。尺寸越大,蓝盒子越大。

  为了调用rect_black参数,rect_green剪切了图片的一部分,也就是黑色边框作为画布。

  然后剪下蓝色的图片。

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

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

  然后,脏矩形动画将蓝框复制到黑框amp;粘贴前只需要用黑盒保存绿盒区域,将蓝盒设置为黑盒,将最后保存的绿盒中的黑盒恢复原状,并恢复图片,就可以保持背景不变,继续在其他区域循环。

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

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: