2013-06-03 2 views
1

Я делаю Tetris и im, пытаясь сделать функцию четкой линии. У меня есть способ сделать это, что немного сложно и я хочу упростить.Получите значение отдельного пикселя

Моя идея - проверить некоторые значения RGB пикселей и посмотреть, не являются ли они черными (цвет фона). Есть ли быстрый способ получить значение RGB пикселя на экране?

ответ

2

pygame.PixelArray должен сделать трюк. Вы можете использовать его на поверхности экрана.

Но лично я бы не рекомендовал использовать пиксели в качестве ссылки. Обработка всего логически намного лучше.

+0

+1 для предложения неправильного вопроса. – msw

2

Как Icfseth noted «Обработка всего логически намного лучше».

Tetris - это массив блоков, которые занимают логическое пространство, размерность которого больше, чем пиксель. Ваша игровая модель должна работать в «блочных координатах» и определять, открыто или заполнено пространство на основе этого. Экран - это просто представление или «вид» блочного пространства.

Попробуйте сначала просто перемещать квадрат 16 пикселей вокруг экрана 320x320 пикселей с шагом 16 пикселей. Вы можете отслеживать каждый пиксель, но имеет смысл иметь положение блока в диапазоне от x = [0..20], y = [0..20], и пусть код дисплея беспокоится о том, как показывать блок в позиции (2,3).