我想手动将行从另一个数组复制到 pygame 帧缓冲区。借助下面的代码。
pixels = pygame.PixelArray(window)
center_x = (WINDOW_W - W) / 2
center_y = (WINDOW_H - H) / 2
for y in range(H):
for x in range(W):
pixel = gradient[x + y * W]
pixel = (((pixel & 0x0000ff << 16) |
(pixel & 0x00ff00) |
((pixel & 0xff0000) >> 16))
pixels[center_x + x, center_y + y] = pixel
然而,Python 吐出了一个语法错误。
pixels[center_x + x, center_y + y] = pixel
^
SyntaxError: invalid syntax
我尝试了以下方法,但都没有奏效。
pixels['center_x' + 'x', 'center_y' + 'y'] = pixel
pixels[(center_x) + (x), (center_y) + (y) = pixel
我认为当我声明像素变量时,错误也可能在这里。
pixels = pygame.PixelArray(window)
其中window是对模块pygame的引用
window = pygame.display.set_mode([WINDOW_W, WINDOW_H], 0, 24)