回答編集履歴

2

回答を追記

2021/11/08 05:55

投稿

etherbeg
etherbeg

スコア1195

test CHANGED
@@ -27,6 +27,10 @@
27
27
 
28
28
 
29
29
  ---
30
+
31
+
32
+
33
+ **コメントを受けての1回目の追記:**
30
34
 
31
35
 
32
36
 
@@ -79,3 +83,115 @@
79
83
  test5 = 'ハズレ'
80
84
 
81
85
  ```
86
+
87
+
88
+
89
+ ---
90
+
91
+
92
+
93
+ **コメントを受けての2回目の追記:**
94
+
95
+
96
+
97
+ 私の実行環境は macOS Big Sur 11.6、PsychoPy v2021.02.03 Standalone版です。
98
+
99
+
100
+
101
+ まず
102
+
103
+
104
+
105
+ ```python
106
+
107
+ text_5 = visual.TextStim(win=win, name='text_5',
108
+
109
+ text=test5,
110
+
111
+ font='Open Sans',
112
+
113
+ pos=(0, 0), height=0.1, wrapWidth=None, ori=0.0,
114
+
115
+ color='white', colorSpace='rgb', opacity=None,
116
+
117
+ languageStyle='LTR',
118
+
119
+ depth=-6.0);
120
+
121
+ ```
122
+
123
+
124
+
125
+ の箇所を次のように変更してください。
126
+
127
+
128
+
129
+ ```python
130
+
131
+ text_5 = visual.TextStim(win=win, name='text_5',
132
+
133
+ text=None,
134
+
135
+ font='ヒラギノ角ゴシック',
136
+
137
+ pos=(0, 0), height=0.1, wrapWidth=None, ori=0.0,
138
+
139
+ color='white', colorSpace='rgb', opacity=None,
140
+
141
+ languageStyle='LTR',
142
+
143
+ depth=-6.0);
144
+
145
+ ```
146
+
147
+
148
+
149
+ textはNoneに設定します。Builderでtext欄を空欄にしてもこのように設定されます。
150
+
151
+ fontは日本語表示する場合は日本語のフォントに変更します(そうしないと私の環境では表示が崩れました。質問者さんの環境で表示が崩れていないようであれば、元のままでもいいです)。ここでは「ヒラギノ角ゴシック」にしました。
152
+
153
+
154
+
155
+ 次に
156
+
157
+
158
+
159
+ ```python
160
+
161
+ if key_resp_2.keys == 'f':
162
+
163
+ test5 = '当たり'
164
+
165
+ else:
166
+
167
+ test5 = 'ハズレ'
168
+
169
+ ```
170
+
171
+
172
+
173
+ の箇所を次のように変更してください。
174
+
175
+
176
+
177
+ ```python
178
+
179
+ if key_resp_2.keys == 'f':
180
+
181
+ text_5.text = '当たり'
182
+
183
+ else:
184
+
185
+ text_5.text = 'ハズレ'
186
+
187
+ ```
188
+
189
+
190
+
191
+ test5がtext_5.textに変わっていることに注意してください(test5.textではない)。
192
+
193
+ また「該当ソースコード」のこの箇所のコードは、微妙に行頭がズレているのでそれも修正しておいてください(行頭にスペース1個分だけ余計なインデントが入っている)。
194
+
195
+
196
+
197
+ 以上を一度お試しください。

1

回答を追記

2021/11/08 05:55

投稿

etherbeg
etherbeg

スコア1195

test CHANGED
@@ -23,3 +23,59 @@
23
23
  test5='ハズレ'
24
24
 
25
25
  ```
26
+
27
+
28
+
29
+ ---
30
+
31
+
32
+
33
+ 私の手元でもPsychoPy Builderから生成されたプログラムを確認してみましたが、「該当ソースコード」に記載されているソースコードは、前後に省略があるだけでなく、中間部分にも省略されている箇所がありますね?
34
+
35
+ プログラムの質問サイトで質問する際に、省略した部分を明記せずにソースコードを記載するのはよくないですね。日本語で「(前略)」とか「(略)」とかでいいので、省略した部分に書いて、省略していることがわかるようにしたほうがいいです。
36
+
37
+
38
+
39
+ おそらくBuilderのComponentsのResponsesの中から、Keyboardコンポーネントを追加されたと思うのですが、そのコンポーネントでのキー入力の結果を受けて条件分岐したい、ということで間違いないですか?
40
+
41
+
42
+
43
+ 以下で一度お試しください。
44
+
45
+
46
+
47
+ ```python
48
+
49
+ # *key_resp_2* updates
50
+
51
+ waitOnFlip = False
52
+
53
+ if key_resp_2.status == NOT_STARTED and tThisFlip >= 5.0-frameTolerance:
54
+
55
+ (略)
56
+
57
+ if key_resp_2.status == STARTED:
58
+
59
+ (略)
60
+
61
+ if key_resp_2.status == STARTED and not waitOnFlip:
62
+
63
+ theseKeys = key_resp_2.getKeys(keyList=['f', 'j'], waitRelease=False)
64
+
65
+ _key_resp_2_allKeys.extend(theseKeys)
66
+
67
+ if len(_key_resp_2_allKeys):
68
+
69
+ key_resp_2.keys = _key_resp_2_allKeys[-1].name # just the last key pressed
70
+
71
+ key_resp_2.rt = _key_resp_2_allKeys[-1].rt
72
+
73
+ if key_resp_2.keys == 'f':
74
+
75
+ test5 = 'あたり'
76
+
77
+ else:
78
+
79
+ test5 = 'ハズレ'
80
+
81
+ ```