Pygame 官方文档 - pygame.mask

pygame.mask

Pygame 中处理图形遮罩的模块。
pygame.mask.from_surface —— 从指定 Surface 对象中返回一个 Mask
pygame.mask.from_threshold —— 从给定阈值的 Surface 对象中创建一个 Mask
pygame.mask.Mask —— 用于表示 2d 位掩码(遮罩)的 Pygame 对象

用于快速实现完美的碰撞检测,Mask 可以精确到 1 个像素级别的判断。
Pygame 1.8 新增加的。
 

pygame.mask.from_surface()

从指定 Surface 对象中返回一个 Mask。
from_surface(Surface, threshold = 127) -> Mask
Surface 对象中透明的部分设置为 1,不透明部分设置为 0。
检查每个像素的 alpha 值是否大于 threshold 参数指定的值。(alpha 通道使用 0 ~ 255 描述像素的透明度)
如果 Surface 对象是基于 colorkeys 实现的透明(而不是基于 pixel alphas),则忽略 threshold 参数。
注:关于 Surface 对象的透明实现,可参考:Surface | Pygame中文文档
搜索pygame.mask.from_surface的示例

pygame.mask.from_threshold()

从给定阈值的 Surface 对象中创建一个 Mask。
from_threshold(Surface, color, threshold = (0,0,0,255), othersurface = None, palette_colors = 1) -> Mask
从 Surface 对象中获取 Mask,这个方法更有特色。如果只提供一个 Surface 对象,那么 Surface 对象中所有与 threshold 参数提供颜色匹配的像素均被选入 Mask 中。如果指定了 othersurface 可选参数,那么被选入 Mask 中的像素不仅需要与 threshold 参数提供颜色匹配,还需要包含在 othersurface 指定的 Surface 对象中。
搜索pygame.mask.from_threshold的示例
 

pygame.mask.Mask

用于表示 2d 位掩码(遮罩)的 Pygame 对象。
Mask((width, height)) -> Mask
pygame.mask.Mask.get_size —— 返回 Mask 的大小
pygame.mask.Mask.get_at —— 如果像素 (x, y) 被设置,返回值是非 0
pygame.mask.Mask.set_at —— 设置 Mask 中给定位置的值
pygame.mask.Mask.overlap —— 返回两个 Mask 在指定偏移处的重叠坐标(如果没有返回 None)
pygame.mask.Mask.overlap_area —— 返回两个 Mask 重叠的像素数量
pygame.mask.Mask.overlap_mask —— 将两个 Mask 重叠的部分创建一个新的 Mask
pygame.mask.Mask.fill —— 将所有的位设置为 1
pygame.mask.Mask.clear —— 将所有的位设置为 0
pygame.mask.Mask.invert —— 翻转 Mask 中所有的位(0 变 1,1 变 0)
pygame.mask.Mask.scale —— 缩放 Mask 的尺寸
pygame.mask.Mask.draw —— 将 Mask 绘制到另一个 Mask 上边
pygame.mask.Mask.erase —— 用另一个 Mask 擦除 Mask
pygame.mask.Mask.count —— 返回 Mask 被设置(为 1)的像素的数量
pygame

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值