获取单个像素的值

时间:2013-06-03 17:00:39

标签: python pygame pixel rgb tetris

我正在制作俄罗斯方块,我试图制作清晰的功能。我有办法做到这一点有点复杂,我希望简化。

我的想法是检查一些像素RGB值,看看它们是不是黑色(背景的颜色)。有没有快速的方法来获取屏幕上像素的RGB值?

2 个答案:

答案 0 :(得分:2)

pygame.PixelArray应该做到这一点。您可以在屏幕表面上使用它。

但就个人而言,我不建议您使用像素作为参考。 逻辑上处理所有事情要好得多。

答案 1 :(得分:2)

作为Icfseth noted“逻辑上处理所有事情要好得多。”

俄罗斯方块是占据逻辑空间的块数组,其粒度大于像素。您的游戏模型应该以“块坐标”运行,并根据该空间检测空间是打开还是填充。屏幕只是块空间的表示或“视图”。

首先尝试以16px的步长围绕320x320px屏幕移动16px正方形。你可以跟踪每个像素,但是让块位置的范围从x = [0..20],y = [0..20]更有意义,让显示代码担心如何显示位置(2,3)处的块。