質問するログイン新規登録

回答編集履歴

2

回答を追記

2021/11/08 05:55

投稿

etherbeg
etherbeg

スコア1195

answer CHANGED
@@ -14,6 +14,8 @@
14
14
 
15
15
  ---
16
16
 
17
+ **コメントを受けての1回目の追記:**
18
+
17
19
  私の手元でもPsychoPy Builderから生成されたプログラムを確認してみましたが、「該当ソースコード」に記載されているソースコードは、前後に省略があるだけでなく、中間部分にも省略されている箇所がありますね?
18
20
  プログラムの質問サイトで質問する際に、省略した部分を明記せずにソースコードを記載するのはよくないですね。日本語で「(前略)」とか「(略)」とかでいいので、省略した部分に書いて、省略していることがわかるようにしたほうがいいです。
19
21
 
@@ -38,4 +40,60 @@
38
40
  test5 = 'あたり'
39
41
  else:
40
42
  test5 = 'ハズレ'
41
- ```
43
+ ```
44
+
45
+ ---
46
+
47
+ **コメントを受けての2回目の追記:**
48
+
49
+ 私の実行環境は macOS Big Sur 11.6、PsychoPy v2021.02.03 Standalone版です。
50
+
51
+ まず
52
+
53
+ ```python
54
+ text_5 = visual.TextStim(win=win, name='text_5',
55
+ text=test5,
56
+ font='Open Sans',
57
+ pos=(0, 0), height=0.1, wrapWidth=None, ori=0.0,
58
+ color='white', colorSpace='rgb', opacity=None,
59
+ languageStyle='LTR',
60
+ depth=-6.0);
61
+ ```
62
+
63
+ の箇所を次のように変更してください。
64
+
65
+ ```python
66
+ text_5 = visual.TextStim(win=win, name='text_5',
67
+ text=None,
68
+ font='ヒラギノ角ゴシック',
69
+ pos=(0, 0), height=0.1, wrapWidth=None, ori=0.0,
70
+ color='white', colorSpace='rgb', opacity=None,
71
+ languageStyle='LTR',
72
+ depth=-6.0);
73
+ ```
74
+
75
+ textはNoneに設定します。Builderでtext欄を空欄にしてもこのように設定されます。
76
+ fontは日本語表示する場合は日本語のフォントに変更します(そうしないと私の環境では表示が崩れました。質問者さんの環境で表示が崩れていないようであれば、元のままでもいいです)。ここでは「ヒラギノ角ゴシック」にしました。
77
+
78
+ 次に
79
+
80
+ ```python
81
+ if key_resp_2.keys == 'f':
82
+ test5 = '当たり'
83
+ else:
84
+ test5 = 'ハズレ'
85
+ ```
86
+
87
+ の箇所を次のように変更してください。
88
+
89
+ ```python
90
+ if key_resp_2.keys == 'f':
91
+ text_5.text = '当たり'
92
+ else:
93
+ text_5.text = 'ハズレ'
94
+ ```
95
+
96
+ test5がtext_5.textに変わっていることに注意してください(test5.textではない)。
97
+ また「該当ソースコード」のこの箇所のコードは、微妙に行頭がズレているのでそれも修正しておいてください(行頭にスペース1個分だけ余計なインデントが入っている)。
98
+
99
+ 以上を一度お試しください。

1

回答を追記

2021/11/08 05:55

投稿

etherbeg
etherbeg

スコア1195

answer CHANGED
@@ -10,4 +10,32 @@
10
10
  test5='あたり'
11
11
  else:
12
12
  test5='ハズレ'
13
+ ```
14
+
15
+ ---
16
+
17
+ 私の手元でもPsychoPy Builderから生成されたプログラムを確認してみましたが、「該当ソースコード」に記載されているソースコードは、前後に省略があるだけでなく、中間部分にも省略されている箇所がありますね?
18
+ プログラムの質問サイトで質問する際に、省略した部分を明記せずにソースコードを記載するのはよくないですね。日本語で「(前略)」とか「(略)」とかでいいので、省略した部分に書いて、省略していることがわかるようにしたほうがいいです。
19
+
20
+ おそらくBuilderのComponentsのResponsesの中から、Keyboardコンポーネントを追加されたと思うのですが、そのコンポーネントでのキー入力の結果を受けて条件分岐したい、ということで間違いないですか?
21
+
22
+ 以下で一度お試しください。
23
+
24
+ ```python
25
+ # *key_resp_2* updates
26
+ waitOnFlip = False
27
+ if key_resp_2.status == NOT_STARTED and tThisFlip >= 5.0-frameTolerance:
28
+ (略)
29
+ if key_resp_2.status == STARTED:
30
+ (略)
31
+ if key_resp_2.status == STARTED and not waitOnFlip:
32
+ theseKeys = key_resp_2.getKeys(keyList=['f', 'j'], waitRelease=False)
33
+ _key_resp_2_allKeys.extend(theseKeys)
34
+ if len(_key_resp_2_allKeys):
35
+ key_resp_2.keys = _key_resp_2_allKeys[-1].name # just the last key pressed
36
+ key_resp_2.rt = _key_resp_2_allKeys[-1].rt
37
+ if key_resp_2.keys == 'f':
38
+ test5 = 'あたり'
39
+ else:
40
+ test5 = 'ハズレ'
13
41
  ```