问题描述
我有一个简单的pygame环境的pong游戏。我想从pygame.display
获取每个实例的图像的numpy数组。我找不到提供整个显示的numpy数组的方法。谢谢。
解决方法
使用pygame.surfarray.pixels2d
,pygame.surfarray.array2d
,pygame.surfarray.pixels3d
或pygame.surfarray.array3d
从pygame.Surface
对象创建像素阵列(请参见pygame.surfarray
模块) :
import pygame
# [...]
window = pygame.display.set_mode()
array2D = pygame.surfarray.array2d(window)
array3D = pygame.surfarray.array3d(window)
虽然array*
从 Surface 对象创建像素的副本,但是pixel*
创建一个新数组,直接引用 Surface 对象。*2d
版本生成一个二维数组,每个像素由单个整数值表示。 *3d
版本生成一个三维数组,其中每个颜色通道均由一个整数值表示。