如何解决pygame.Surface.set_at() 如何在 for 循环中工作?
我正在为像素艺术编写代码,并将 Surface 保存为文件。但是 .set_at() 方法似乎不起作用。
liftA2
tl;博士:
我有一个矩形网格(实际上是 SelectRects),用于存储颜色。当我导出时,我遍历这些矩形并将 export_surface 上的相应像素更改为该颜色。 这似乎不起作用。我试图画一个半径为 1 的圆,但这也不起作用。
解决方法
如果曲面的大小为 32 x 32,则坐标 (32,32) 越界。左上角像素坐标为(0,0),右下角像素坐标为(31,31):
export_surf.set_at((32,32),CYAN)
export_surf = pygame.Surface((32,32))
export_surf.set_at((31,31),CYAN)
坐标 (rect.x
, rect.y
) 也越界,因为 rect
指定了屏幕上的位置。
您必须将 (rect.x
, rect.y
) 除以图块的大小:
export_surf.set_at((rect.x // TILE_SIZE,rect.y // TILE_SIZE),rect.colour)
export_surf.set_at((rect.x,rect.y),rect.colour)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。