プログラミングでアートだったりデザインを作ることを
『クリエイティブコーディング』と言うそうで、
いろんな実現方法があるのですが、
その中でも最もとっかかりやすいと思っている『P5.js』を使って遊んでみることにします。
『P5.js』・・『Processing(プロセッシング)』を『JavaScript(ジャバスクリプト)』で扱いやすくしたライブラリ
『Processing』・・MITラボで開発された、アーティストやデザイナー向けのプログラミング言語。(『Java』がベース))
『Java(ジャバ)』と『JavaScript(ジャバスクリプト)』は、
名前は似ているけれどメロンとメロンパンくらい違うと言われたりします。(要はまったく別の言語です。)
今回扱う『P5.js』は『JavaScript(ジャバスクリプト)』で、
グーグルクロムなどのブラウザで動く方、と思っていればOKです。
遊ぶようにプログラミングできる『P5.js』 まずは基本から setupとdraw
『P5.js(ProcessingのJavaScript版)』にはグーグルクロムなどのブラウザ上でプログラミングができる、
Webエディタがあります。
Webエディタ上で試すのもよし、
『HTML』ファイルと『JavaScript』ファイルをつくって試すこともできます。
『HTML』で作る場合は、
『P5.js(ProcessingのJavaScript版)』を読み込んでから、『JavaScript』側で実際の動作を作っていきます。
まずは『P5.js』で円を書いてみることにします。
See the Pen
p5.js ellipse by aoki_monpro (@suica)
on CodePen.
『JavaScript』側の説明ですが、
setup () と draw() という2つの関数があります。
- setup() ・・初期設定
- draw()・・実際の描画
draw関数の中で描かれる内容が1フレーム(パラパラ漫画1枚)になり、
設定を変えない限りは、 1秒間に60回draw関数が実行されます。
参考
setup関数側
- createCanvas() ・・ 描画範囲作成(x、y)
引数でxとyを指定します。
xは横、yは縦なんですが、
yは一番上が0で、下に行くほど値が増えるようになっています。
draw関数側
- background() ・・背景色
- ellipse()・・だ円・・引数は(x, y, 横幅、縦幅)
circle()という正円を描く関数もありますが、横幅、縦幅を変えられないので、
ellipse()の方が使いやすいかなと思います。
遊ぶようにプログラミングできる『P5.js』 『変数』を作って動かしてみる
draw()関数の中の処理は、
フレームレートを変えなければ、1秒間に60回も実行されるのですが、
60回実行されたところで、
draw()関数の中身に変化がないと、なにも変わっていないように見えます。
例えばボールを横に移動させようとするなら、
x座標の位置を少しずつ変えていく必要があります。
『変数』を作ることで、
ちょっとずつX座標が変わるようにすればOKです。
See the Pen
p5.js translate-move-x by aoki_monpro (@suica)
on CodePen.
今回は、初めに
let posX = 0;
と書いて、変数『posX』をつくっています。
だ円をつくる ellipse()関数のx座標を決める位置に『posx』とつけています。
ellipse(posX,100,30,30);
その後、下記のように書くことで、『posX』を1ずつ増やしています。
posX += 1;
『posX』がどんどん増えると画面から見えなくなってしまうので、
画面端(今回は200px)になったら0に戻すようにしています。
if(posX > 200){ posX = 0; } }
遊ぶようにプログラミングできる『P5.js』まとめ
最近世界中で『STEAM』教育が熱を帯びています。
プログラミングとデザインやアートを同時に、
しかも遊ぶようにつくれるということで、
『P5.js(ProcessingのJavaScript版)』などを使った『クリエイティブコーディング』は
これからますます人気が出てくるんじゃないかなと思います。
『クリエイティブコーディング』関係ではこんな記事も読まれています。
1. 【P5.js】初心者向けの動画をリリースしました(プログラミング×数学物理)【Udemy】2. 【JavaScript】初心者向けの動画をリリースしました【Udemy】
3. プログラミング実況をやってみた その1【P5.js】
4. 【P5.js】遊ぶようにプログラムできるクリエイティブコーディング〜はじめのいっぽ〜(1)
5. 移動・回転・拡大縮小を覚えると表現に幅がでてきます(2)【P5.js】
6. 【CSS】色の指定なら『RGB』より『HSL』の方が使いやすい件〜ランダムで使いたい(3)【P5.js】
7. 『ベクトル』の使い方のコツ〜『ベクトル』はただの数値の組み合わせです(4)【P5.js】
8. プログラムで【加速度】【速度】の使い方をわかりやすく (5)【P5.js】
9. プログラムの【配列】をわかりやすく『ゴディバ』で例えてみる(6)【P5.js】
10. プログラムの関数をわかりやすく使ってみる〜自動販売機に例えてみる〜(7)【P5.js】
11. プログラムで色や大きさをランダムにして遊んでみる(8)【P5.js】
12. 【3Dプログラム】初心者にオススメな方法はこれ(9)【P5.js】
13. プログラムで図形の描き方~頂点と【バラ曲線】を使って〜 (10)【P5.js】
14. 【三角関数】をプログラムで使う方法をまとめてみた(11)【P5.js】
15. プログラムで数学も身につく 一石四鳥なクリエイティブコーディング
アオキのツイッターアカウント。
この記事へのコメントはありません。