画像を動的に動かす方法を説明します。実は,このテクニックが一番重要で,使い方がわかると幅広い実験を作ることができます。

この方法は,1試行の1つの画面内で画像を置き換えます。lab.jsでアニメーション(動画)を作成する場合はこの方法が最適です。

Untitled

1. 復習:Scriptsの準備

「Builder」で文字を表示するには「Content」のタブに入力をしていきますが,「Canvas」のコードをそのまま入力するためには「Scripts」のタブに変えて入力していきます。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/88115cf7-49fe-4130-976d-1b5538f990a8/Untitled.png

「title」は「draw」に,その横の「event」は**「before:prepare」**に変更してください。

↑ before:prepare に変える点がとても重要です。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8b83ac5a-5cd5-46e9-a404-13c1f69c540c/Untitled.png

2. 復習:図形を描画するには

「Script」に以下の関数を描き,その中に描画に関するCanvasの関数を追加することで「Content」に刺激を描画することが出来ます。インターネット上の「Canvas」に関するチュートリアルではCanvasをHTMLの中に埋め込む部分から説明がされていると思いますが,「lab.js」は,自動的にCanvasを作ってくれていますので,新たに作る必要はありません。

this.options.renderFunction = (t, canvas, ctx, obj) => {
  // このレンダー関数を使うことでcanvasに図形を描くことが出来ます。
  // t: timestamp この関数が呼び出された時刻
  // canvas: canvasオブジェクトへのレファレンス
  // ctx: 描画するコンテンツの情報(一番重要)
  // obj: 現在描画されているcanvasへの参照
}

「renderFunction」の中で重要になるのは「ctx」と「t」の部分です。「ctx」が描画に関連します。また,「t」の部分で時刻の情報を取ってくることができます

3. 復習:画像をstatic directory から読み出す

画像ファイルが大量にある場合は「static directory 」に画像を保存しておき,そこから読み出すのが便利です。左上のメニューの右端の詳細メニューを選びます。

Untitled

左から2番目のフォルダのメニューを選びます。分かりにくいのですが,「Filename」の下のあたりに「+」が表示され,クリックするとファイル選択のダイアログが開きます。