PsychoPy、使ってますか?
本当に便利なソフトウェア(アプリケーション)ですよね。簡単なプログラムであれば、BuilderにImageコンポーネントやKeyboardコンポーネントを置いていくだけで、あっという間に作ることができます。
ただ、少し複雑なプログラムになると、Builderだけで作成するのが難しくなります。
そういったときには、Codeコンポーネント、あるいは、Coderの出番です。
CodeコンポーネントもCoderも知ってる。具体的な使い方を知りたいんじゃーというひとはPsychoPyで円を描くように刺激を動かす。複数回のキー押し。キーを押したときの刺激の位置を記録。をご覧ください。
Codeコンポーネント
Text, Image, Keyboardコンポーネントの仲間です。
下の図の赤で囲んだコンポーネントがCodeです。

次の5つのタイミングで実行したいPythonのコードを記述することができます。
- 実験開始時
- Routine開始時
- フレーム毎
- Routine終了時
- 実験終了時
フレーム毎というのがイメージしにくいかもしれません。そんなかたは、ぜひリフレッシュ(フレーム)レートとPsychoPyのwin.flip()をご覧ください。とりあえずは、プログラムで操作可能な、一番短い時間ごとになにかをしたいときは「フレーム毎」を使うという認識でOKです。(本来の意味は、画面が描画されるタイミングです)
Coder
実験によっては、Codeコンポーネントを使っても作りにくいプログラムがあるかもしれません。
そんなときには、Coderの出番です。
下の図の赤で囲んだ箇所をクリックすると Coder が開きます。
ここにPythonのコードを直接書き込みます。実行するときはCoderの実行ボタン(人が走っている緑のアイコン)をクリックする必要があるので注意してください。
それから重要な点として、Coderで編集をしたあとは、Builderでの変更ができなくなります。
ですので、Builderでできることをすべてやり終えたあとに、Coderで編集することをお勧めします。Coderでファイルを開いたら、すぐに別名で保存するようにしましょう。
またCoderよりも、Visual Studio CodeやAtomなどのテキストエディタを使うほうが便利だと思います。Coderで別名保存した.pyファイルを、お好みのテキストエディタで開いて編集しましょう。
編集が終わったら保存して、あらためてCoderから開き、実行します。
ちなみに、最初からCoderのみで実験プログラムを作成することができますが、覚えなくてはいけないPsychoPyの構文が多いため、Builderでできるところを先に作り、必要に応じてCoderを使うという方法をお勧めします。
Codeコンポーネントと、Coderの具体的な使い方については、PsychoPyで円を描くように刺激を動かす。複数回のキー押し。キーを押したときの刺激の位置を記録。をご覧ください。