Получение ответа клавиатуры в Psychopy - PullRequest
1 голос
/ 29 апреля 2019

Моя проблема может быть сведена к следующему: участник нажимает клавишу, затем появляется текст с надписью «Вы нажали ...»

Для этой цели я создал две процедуры.В процедуре 1 есть компонент текста и клавиатуры (key_resp).В текстовом компоненте просто написано «пожалуйста, нажмите 1 или 2».Компоненту клавиатуры разрешены клавиши 1 или 2.

Во второй процедуре у меня есть код и компонент text_2.Код находится на вкладке «Начать рутину» с кодом:

if key_resp.keys[0] == '1':
   message = 'you pressed one'
else:
   message = 'you pressed two'

В компоненте text_2 у меня есть только «$ message».Теперь, когда я запускаю это, я получаю ошибку:

Ошибка имени: имя 'message' не определено.

Затем я добавил код в подпрограмму 1 ввкладка «начать эксперимент».Код просто:

message = 'This message will not be displayed because of if/else in routine 2'

Теперь, на этот раз эксперимент действительно начинается, но показывает нежелательное сообщение .Как я могу отобразить ответ клавиатуры участника?

1 Ответ

3 голосов
/ 29 апреля 2019

Вы должны установить текстовое поле компонента text_2 для обновления «Каждая процедура», а не быть постоянным. Если это поле установлено как постоянное, предполагается, что значение доступно в начале эксперимента. Поэтому, если он не определен на этом этапе, вы получите ошибку (которую вы диагностировали, указав заданное значение, определенное в начале). Вы можете безопасно удалить этот код сейчас, поскольку вы предоставляете значение, которое обновляется при каждом запуске подпрограммы.

Обратите внимание, что форум сообщества по адресу https://discourse.psychopy.org, вероятно, является лучшим местом для получения такой поддержки. StackOverflow больше ориентирован на основанные на коде вопросы и ответы, которые будут представлять общий интерес для других, и на которые можно ответить с помощью единого формата вопросов / ответов (тогда как форум позволяет обсуждать вопросы друг с другом для решения проблем).

...