微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Pygame - 从图像的 x 和 y 坐标

如何解决Pygame - 从图像的 x 和 y 坐标

我试图减少我的 pygame 项目所需的文件数量,而不是使用一个包含 8 个引导文件文件夹,我可以制作 1 个更大的图像,其中所有 8 张图片并排放置并根据动画刻度,图像的特定部分会被 blit。

目前,我使用列表。

right = ["playerdesigns/playerright0.png","playerdesigns/playerright1.png","playerdesigns/playerright2.png","playerdesigns/playerright3.png"]

然后我的代码只取决于动画滴答声,接收这些文件并对其进行 blits

但我想把它做成一个playerright.png图像文件图片的0-100 Xpixels有playerright1.png,101-200 Xpixels有playerright2.png 等,然后根据需要,我可以从任何一点 blit 100 宽图像。

解决方法

您可以使用方法 subsurface 定义直接链接到源表面的次表面:

subsurface(Rect) -> Surface

返回一个与其新父级共享像素的新 Surface。新 Surface 被视为原始 Surface 的子代。对任一表面像素的修改会相互影响。

Rectsubsurface 参数指定子图像的矩形区域。它可以是一个 pygame.Rect 对象或具有 4 个组件(xywidthheight).

例如,如果您的图片包含 3 个 100x100 大小的子图片:

right_surf = pygame.image.load("playerdesigns/playerright.png")
right_surf_list = [right_surf.subsurface((i*100,100,100)) for i in range(3)]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。