フレームワークを整える
中級p5.js を整える。
= setup() で準備し draw() を回すだけで絵が動き出す——ブラウザ内で実際に動かす
p5.js が初めての方は、先に そもそも p5.js とは・どんな場面で使うか をどうぞ。
サンプルコード(クリックでエディタに挿入)
コンソール
「▶ 実行」を押すとここにログが出ます。
そもそも p5.js とは
プログラムで絵や動きを描く、「コードで作品を作る」ための入口。
p5.js は、図形・色・動き・音などをプログラムで表現するための JavaScript のライブラリです。アーティストやデザイナーが、コードで絵を描くために作られた Processing の考え方を、ブラウザの中で使えるようにしたものです。
circle() や rect() のような短い命令で図形を描き、毎フレーム呼ばれる draw() の中で位置を変えれば動きになります。Processing Foundation が支えるオープンソースで、ゲーム専用の Phaser や 3D 向けの Three.js と比べると、「まず描いてみる」ことに特化しています。
どこで・どんな場面で使うか
-
プログラミングを初めて学ぶとき
結果がすぐ画面に出るので、変数・繰り返し・条件分岐の意味を目で見て理解できます。
-
学校・ワークショップでの授業
図形を描くだけで始められるため、プログラミング教育の教材としてよく使われます。
-
ジェネラティブアート・デザイン作品
乱数や数式から模様を作る作品づくりに向いています。
-
データの見せ方を試す
数値を図形の大きさや色に変えて、独自の見せ方を作る実験に使えます。
-
Web サイトの飾りやインタラクション
マウスに反応する背景など、動きのある演出を作るのに使えます。
向いている場面・向いていない場面
- 向いている:短いコードで絵や動きを試したいとき。思いついたらすぐ動かせるので、試作や学習に合います。
- 向いている:プログラムの基礎を目で確かめたいとき。動きや色で結果が見えるため、ミスにも気づきやすくなります。
- 向いていない:本格的なゲームや業務アプリ。ゲームなら Phaser、3D なら Three.js、データのグラフなら Chart.js のように、目的に合った道具のほうが早く作れます。
上の練習場でサンプルを動かし、数字や色を書き換えて、絵がどう変わるか試してみてください。
このページについて
- ライブラリは
cdn.jsdelivr.netから読み込みます。書いたコードと実行結果は端末内で完結し、外部へ送信しません(送信ゼロ)。 - プレビューはサンドボックス化した iframe で、このページや端末のデータには触れません。
- 「停止」は iframe を破棄して作り直します。draw() ループを使うサンプルはアニメーションが回り続けるので、書き換える前に一度「停止」を押すか、そのまま「▶ 実行」で作り直してください。
- 無限ループに近い重い処理を書くと、プレビュー内のタブ(iframe)が固まることがあります。その場合も「停止」で iframe ごと破棄できます。
このツールについて
p5.js は setup() で1回だけ準備し、draw() を毎フレーム呼び直すだけで絵が動き出すライブラリです。実際にコードを書き換えながら、その場で動きを確かめられます。
左にコード、右にプレビュー。p5.js の setup()/draw() を書き換えて、円・マウス追従・アニメーション・ランダムウォークをその場で動かせます。
主な機能
- 4サンプル(円・マウス追従・アニメーション・ランダムウォーク)
- 左エディタ/右プレビュー+console の2カラム
- 「■ 停止」で iframe を破棄して draw() ループを止める
- p5.js は cdn.jsdelivr.net から初回のみ・送信ゼロ
よくある質問
Q. 書いたコードはサーバーに送られますか?
A. 送られません。p5.js(cdn.jsdelivr.net から初回のみ)を読み込んだサンドボックス iframe 内で実行され、コードと結果は端末内で完結します。
Q. draw() ループが回り続けて画面が固まったように見えます。
A. 「■ 停止」で iframe 自体を破棄できます。再度「▶ 実行」を押せば作り直されます。
Q. キャンバスはどこに表示されますか?
A. setup() 内の createCanvas() が生成するキャンバスは、プレビュー iframe の body 直下に自動的に追加されます。
入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。