ошибка с surf.get_at () pygame

У меня есть игра, и мне нужно знать, какой цвет находится под ногами игрока, но когда я использую surf.get_at_(x, y), я получаю белый цвет вместо синего или зеленого.

Любая помощь будет оценена, спасибо!


person Community    schedule 09.07.2018    source источник
comment
Опубликуйте минимальный, полный и проверяемый пример.   -  person skrx    schedule 09.07.2018
comment
Помните, что вам нужно использовать get_at на поверхности, имеющей цвет. Например, вы можете сделать screen.get_at(x,y) или player.get_at(x,y). Также убедитесь, что вы делаете это после рисования на поверхности. Если вы сделаете screen.fill([255,255,255]), а затем сразу попытаетесь screen.get_at(x,y), он всегда вернет белый цвет, потому что вся поверхность белая!   -  person Luke Borowy    schedule 10.07.2018


Ответы (1)


Аргумент для get_at() должен быть кортежем с парой координат. См. Документацию по pygame.Surface.get_at:

получить значение цвета в одном пикселе

get_at((x, y)) -> Color

Используйте кортеж с координатами вместо двух отдельных аргументов:

surf.get_at_(x, y)

surf.get_at_((x, y))
person Rabbid76    schedule 29.12.2020