今天终于把一个问题弄明白了,那就是pygame.Rect(left, top, width, height)中参数的问题。当遇到问题后,我上网上找了大量的资料,但是并没有详细的答案,于是开始思考最终得到答案:先上概念:
pygame是一个设计用来开发游戏的python模块,Pygame 通过 Rect 对象存储和操作矩形区域。一个 Rect 对象可以由 left,top,width,height 几个值创建。Rect 也可以是由 Pygame 的对象所创建,它们拥有一个属性叫“rect”。任何需要一个 Rect 对象作为参数的 Pygame 函数都可以使用以上值构造一个 Rect。这样使得作为参数传递的同时创建 Rect 成为可能。
Rect 对象中的大部分方法在修改矩形的位置、尺寸后会返回一个新的 Rect 拷贝,原始的 Rect 对象不会有任何改变。但有些方法比较特殊,它们会“原地”修改 Rect 对象(也就是说它们会改动原始的 Rect 对象)。
常用的Rect参数有这个形式:pygame.Rect(left, top, width, height)
left,top,width,height对应的具体表示如下图,
其中粉色为图片尺寸,纵横坐标值分别表示像素值,对于要显示的图像是图片中的空白区域。
具体应用如下:
1)加载图片shoot_img = pygame.image.load(r'F:\Python STUDY\images\me11.png')
2)矩形剪切图片
hero1_rect = pygame.Rect(0, 0, 136, 168)
hero2 = shoot1_img.subsurface(hero2_rect)
本人图片的格式是.png
本人的图片文件为me11.png,如下图所示
通过属性窗口查看尺寸为136*168(像素),如下图所示:
为了完整显示图片,选择定义参数为:pygame.Rect(132, 800, 136, 168)
运行效果如下: