- Удержание клавиши Pygame вызывает бесконечный цикл
- pygame — кнопка удержания нажата
Код: Выделить всё
while not done:
for e in event.get():
if e.type == KEYDOWN:
keys = key.get_pressed()
if e.type == QUIT or keys[K_ESCAPE]:
done = True
if keys[K_DOWN]:
print "DOWN"
Если вместо этого я использую ключевое слово while,
Код: Выделить всё
while keys[K_DOWN]:
print "DOWN"
Эта логическая альтернатива также бесполезна:
Код: Выделить всё
if ((e.type == KEYDOWN) and keys[K_DOWN]):
print "DOWN"
Код: Выделить всё
while not done:
for e in event.get():
if e.type == KEYDOWN:
keys = key.get_pressed()
if e.type == QUIT or keys[K_ESCAPE]:
done = True
while keys[K_DOWN]:
print "DOWN"
event.get()
keys = key.get_pressed()
Нажимать и выполнять блок тысячи раз бесполезно. Что я хочу, так это нажать клавишу и продолжать действие, пока я не отпускаю ее, в пределах определенной тактовой частоты игры.
Подробнее здесь: https://stackoverflow.com/questions/220 ... -in-pygame
Мобильная версия