我想知道是否可以使用一和零的列表绘制图像,其中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))
这应该在白色背景上以黑色显示笑脸,但绝对不是.我知道这是完全错误的,我已经尝试了很久了,那只是我希望工作的一次非常绝望的尝试.
最佳答案
您正在为绘图函数提供常量参数.您需要根据矩阵更改坐标.
原文链接:https://www.f2er.com/python/533035.html例如:
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调整为屏幕尺寸.