Я хочу, чтобы код был привязан к щелчку мыши (pygame.MOUSEBUTTONUP
), чтобы выполнить только ПОСЛЕ кода, связанного с нажатием клавиши пробела (pygame.KEYDOWN
и pygame.K_SPACE
), на 100% завершено. Любые щелчки мыши до этого следует игнорировать.Щелчок мышью только после завершения последовательности нажатия клавиш (pygame)
Я знаю, что второе заявление if
не будет работать из-за его отношения или его отсутствия до for event in pygame.event.get():
. Я просто не знаю, как писать, что правильно ...
import pygame
screen = pygame.display.set_mode((600, 400))
def task():
taskExit = False
while not taskExit:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
elif event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
print "Drawing..."
screen.fill(gray)
#<<<code to create pretty pictures>>>
if event.type == pygame.MOUSEBUTTONUP:
print "mouse at (%d, %d)" % event.pos # where they clicked.
#<<<more code to interact with said pretty pictures>>>
task()
pygame.quit()
quit()
Может быть установлен флаг, если первое условие '' 'True''' затем добавить флаг к MouseUp условной и переместить его в течение набора петель (ип-отступа его) , – wwii
@wwii Любые другие идеи? ахх. К сожалению, я уже это пробовал. Проблема в том, что человек нажимает клавишу пробела и больше игнорирует мышь, пока код, связанный с нажатием клавиши пробела, не будет завершен на 100%. – lnNoam
@wwii Вы можете себе представить задачу: «нажмите синий или зеленый круг - в зависимости от того, какой вы любимый цвет». Пробел запускает эти круги для рисования. Если человек нажимает до того, как круги нарисованы, это просто нерелевантный ответ (например, их палец скользнул в ожидании). – lnNoam