23.fixationを提示(jspsych@8.0.2)
https://gyazo.com/9f118b2a04a2833ec836dc48e1519db1
それでは,認知・心理計測で良く用いられるfixationマーク(固視点)を画面の中央に5秒間表示するコードを見ていきましょう。このページの下にあるfixation.htmlを参照してください。
まず,書かれている内容はともかくとして,コードの骨格と要素を確認していきます。
順に,<html>,</html>,<head>,</head>,<body>,</body>があります。
</body>の後には,<script>~</script>があります。
jsPsychの基本は,以下の通りです。
1.ヘッダー(<head>~</head>)で使用するjsファイルのライブラリと使用するプラグイン,スタイルシートを読み込む。
2.jsPsychでは,<body></body>を使わない(body内には書き込まない)。
3.<script>~</script>の中で提示する刺激を定義していきます。
<script>~</script>の中では,最初に,const jsPsych =initJsPsych();で, 変数jsPsych(名前は何でもよい)を定義する。
4.次に,参加者に提示する文字や図形,写真,動画を表示する順(できるだけ)に変数を定義する。
5.最後に,刺激を提示したい順に jsPsych.runの中に4で定義した変数を入れていく。
(注意)繰り返し使用する変数は,一度定義したら繰り返し使用できます。
それでは,fixation.htmlを細かく見ていきましょう。ただし,それぞれがどの様に働いているかの説明は省きます。
1.ヘッダー(<head>~</head>)で使用するjsファイルを読み込む。
まず,ヘッダーでは, <title>fixation</title> で,titleをfixationという名前に定義します。
次に, <script src="dist/jspsych.js"></script> で,jsPsychのライブラリーを読み込みます。
次に,<script src="dist/plugin-html-keyboard-response.js"></script>で,テキストを呈示するためのプラグインを読み込みます。
読込の順番は,必ず,jsPsychのライブラリーを読み込んでから,テキストや画像などを呈示するためのプラグインを読み込みます。
最後に,<link rel="stylesheet" href="dist/jspsych.css">で,jsPsychのスタイルシートを読み込みます。実験中のウェブページのスタイルを指定します。
code:fixation.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>fixation</title>
<script src="dist/jspsych.js"></script>
<script src="dist/plugin-html-keyboard-response.js"></script>
<link rel="stylesheet" href="dist/jspsych.css">
</head>
<body></body>
<script>
const jsPsych = initJsPsych();
const fixation = {
type: jsPsychHtmlKeyboardResponse,
stimulus: '<div style="font-size:60px"> + </div>',
choices: "NO_KEYS",
trial_duration: 5000,
};
</script>
</html>
3.<script>~</script>で変数jsPsychを定義。
次に3番目の説明,<script>~</script>です。
constは変数を定義し、ある値に初期化します。
まず, initJsPsych functionを使ってjsPsych を初期化し, jsPsychという名前で変数を定義します。
code: jspsych.html
const jsPsych = initJsPsych();
4.参加者に提示する文字や図形,写真,動画を表示する変数を定義する。
const fiaxationでfixationという名前の変数を定義します。その変数の内容を{}内で定義していきます。
typeは,使用するプラグインの種類を指定します。
今回は,便宜上,文字を提示してキーボードの反応をとるプラグインを使います,typeをjsPsychHtmlKeyboardResponseと定義します。
stimulusは,提示するテキストを入力します。
fixationとして「+」を提示します。そのまま'+'としても良いのですが,このままだとフォントサイズが小さいので,60ピクセルに変更したいと思います。<div>~</div>を使用して,先頭の<div>の中にstyle="font-size:60px"を入れて大きさを定義します。
choicesは,参加者に許可するキーボードの種類を指定します。ここで指定したキーボード以外の反応は取りません(押しても反応しません)。今回は,"NO_KEYS"として,どのキーも反応しない様に指定します,ちなみに,全キーの取得を許可する場合は,ALL_KEYSを使用します。
trial_durationは,指定した文字をどのくらいの長さで提示するのか,m秒単位で指定します(1秒=1000m秒)。今回は,5秒間提示したままにするので,「5000」とします。
5. jsPsych.runの中に提示する順番に4で定義した変数を入れていく。
最後に,4で定義した変数fixationをjsPsych.run([ ])の中に入れていきます。
複数の変数を提示したい場合,jsPsych.run([ ])より前で変数を定義し,提示したい順番で角括弧の中に入れていきます。
具体的には, [trial_1, trial_2, trial_3]の様に記述します。
それでは,fixation.htmlをresearchesに保存後,ダブルクリックして実際に動かしてみましょう。
次は,画像の提示方法を解説していきます。
https://gyazo.com/ad42b4e5fba2e91518e9cc11e5c8afe2
【目次】