menu
書いてる野郎
orebike@gmail.com
まずは HelloWorld
home | p5.js 公式にとりあえず従う。
https://p5js.org/download/ ここから本体をダウンロードして配置。CDNもあったが、今にもホスティングを止めそうな雰囲気あったので止めた。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> <title>ほげほげのページ</title> <script src="p5.js"></script> <script> function setup() { createCanvas(400, 400); } function draw() { background(220); } </script> </head> <body> </body> </html>
このように書くと、何にもしてないのに body に勝手に灰色の四角が描画される。自動的にイベントにフックされて canvas
要素が取り付けられるらしい。
こういう導入が楽になっているダケの実用性ゼロのデモ機能はあまり好きになれない。
実用で body に何にも無いものを単に1個だけ描画するなんてことは無いからである。
個別にコントロールするには p5 インスタンスを作ればよいようだ。
こんな感じで書けばよいだろう。これで通常の JS と接合することができる実用的なプログラムが書けそうだ。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> <title>ほげほげのページ</title> <script src="p5.js"></script> <script> document.addEventListener("DOMContentLoaded", function(e){ const myP51 = new p5( function(p){ p.setup = function() { p.createCanvas(400, 400); }; p.draw = function() { p.background(220); }; }, document.querySelector("#orediv1") ); const myP52 = new p5( function(p){ p.setup = function() { p.createCanvas(200, 200); }; p.draw = function() { p.background(110); }; }, document.querySelector("#orediv2") ); }); </script> </head> <body> <div id="orediv1"></div> <div id="orediv2"></div> </body> </html>