1

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

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

4

2 回答 2

2

pygame.PixelArray应该可以解决问题。您可以在屏幕表面上使用它。

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

于 2013-06-03T17:05:36.567 回答
2

正如Icfseth 所指出的,“以逻辑方式处理所有事情要好得多。”

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

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

于 2013-06-03T17:17:32.177 回答