@ JeffH уже предложил способ исправить ваш код. Я просто хотел убедиться, что вы понимаете, почему то, что вы делаете, вызывает проблемы, и указать на соглашение о константах. Непонимание и использование этого соглашения об именах затруднит понимание другого кода и усложнит другим попытки прочитать ваш код.
pygame.K_DOWN
задуман как определенная константа, это не ввод или управляющая переменная. Вы ни в коем случае не должны его изменять.
Python не имеет истинных констант, которые не позволяют их изменить, поэтому это обрабатывается по соглашению. Переменные, которые по соглашению должны быть константами, используют все имена в верхнем регистре, например K_DOWN
, и вы просто не должны их изменять. Как вы обнаружили, что-то может сломаться или вести себя странно, если вы это сделаете.
В вашем случае «кнопка вниз перестала работать», потому что константа, используемая для ее проверки, больше не содержит правильного значения. Pygame предоставит вам код клавиши для клавиши со стрелкой вниз (число 274, когда я распечатаю его в своей системе), но вы присвоили None
константе, с которой вы должны сравнивать это значение, чтобы определить, является ли это стрелкой вниз ключ, так что сравнение теперь не удастся.
Вот почему это перестало работать.