我如何使用二进制列表在PyGame中绘制正方形?

前端之家收集整理的这篇文章主要介绍了我如何使用二进制列表在PyGame中绘制正方形? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想知道是否可以使用一和零的列表绘制图像,其中1表示

pygame.draw.rect(DISPLAY_SURF,(0,0),10,10))

和0表示空格.它看起来像这样:

blockMap = [
    [0,1,0],[0,[1,1],0]]

我没有尝试太多,因为我在整个Internet上浏览都没有成功,并且显然无法为字符串分配整数.

blockMap = [
    [0,0]]

in blockMap if 1:
    pygame.draw.rect(DISPLAY_SURF,10))
else:
    pygame.draw.rect(DISPLAY_SURF,((BG_COLOUR)),10))

这应该在白色背景上以黑色显示笑脸,但绝对不是.我知道这是完全错误的,我已经尝试了很久了,那只是我希望工作的一次非常绝望的尝试.

最佳答案
您正在为绘图函数提供常量参数.您需要根据矩阵更改坐标.

例如:

square_size = 30 # example
for y,row in enumerate(blockMap):
    for x,val in enumerate(row):

        upper_left_point = x * square_size,y * square_size
        upper_right_point = (x + 1) * square_size,y * square_size
        lower_left_point = x * square_size,(y + 1) * square_size
        lower_right_point = (x + 1) * square_size,(y + 1) * square_size

        pointlist = [upper_left_point,upper_right_point,lower_right_point,lower_left_point]

        pygame.draw.polygon(Surface,color,pointlist,width=0)

这是一个非常基本的示例,因此在使用它之前,请尝试完全理解该代码.在实际开始可视化任何内容之前,您将需要了解这些概念.

别忘了将square_size调整为屏幕尺寸.

原文链接:https://www.f2er.com/python/533035.html

猜你在找的Python相关文章