Чтобы отладить это, я попытался использовать оператор &, чтобы проверить, правильно ли обнаруживаются флаги, и сравнить его с постоянным значением, предоставленным pygame.
Код: Выделить всё
print(pygame.display.get_surface().get_flags() & exampleflag, exampleflag)
Но при попытке проверить pygame.SCALED, который всегда включен в моей игре, он всегда выдавал 0 512, даже если pygame.SCALED присутствовал, и я был ожидал 512 512.
Также при проверке pygame.FULLSCREEN (я переключал его с помощью pygame.display.toggle_fullscreen(), если это каким-то образом помогает) результат был 0 -2147483648 (ожидал 0 0, поскольку окно не было полноэкранным), что явно неверно и, возможно, поэтому я получал ошибки переполнения.
Я не совсем понимаю, как работают флаги pygame, помимо того, что с ними должны делать основные бинарные операторы, поскольку это не очень хорошо документировано (тот факт, что вы можете проверять флаги с помощью &, был обнаружен мной в другом вопросе о переполнении стека). Может кто-нибудь объяснить, почему это происходит?
Подробнее здесь: https://stackoverflow.com/questions/792 ... doesnt-ret
Мобильная версия