【发布时间】:2013-06-04 01:17:32
【问题描述】:
我正在制作俄罗斯方块,我正在尝试制作线条清晰的功能。我有一种方法可以做到这一点,它有点复杂,我希望简化。
我的想法是检查一些像素 RGB 值,看看它们是否不是黑色(背景颜色)。有没有快速获取屏幕像素RGB值的方法?
【问题讨论】:
标签: python pygame pixel rgb tetris
我正在制作俄罗斯方块,我正在尝试制作线条清晰的功能。我有一种方法可以做到这一点,它有点复杂,我希望简化。
我的想法是检查一些像素 RGB 值,看看它们是否不是黑色(背景颜色)。有没有快速获取屏幕像素RGB值的方法?
【问题讨论】:
标签: python pygame pixel rgb tetris
pygame.PixelArray 应该可以解决问题。您可以在屏幕表面上使用它。
但就个人而言,我不建议您使用像素作为参考。 逻辑地处理所有事情要好得多。
【讨论】:
正如Icfseth noted“逻辑处理一切要好得多。”
俄罗斯方块是占据逻辑空间的块数组,其粒度大于像素。你的游戏模型应该在“块坐标”中运行,并根据它检测一个空间是开放的还是填充的。屏幕只是块空间的表示或“视图”。
首先尝试在 320x320 像素的屏幕上以 16 像素的步长移动一个 16 像素的正方形。您可以跟踪每个像素,但是让块位置范围从 x = [0..20]、y = [0..20] 更有意义,并让显示代码担心如何显示位置 (2,3) 处的块。
【讨论】: