#Processingで動画を作ってみよう
とりあえずウェブサイト等みて、
##動画とは
基本的なところから振り返ろう。
動画とは以下のGIFのように、連続した画像である。
Processingでは、 setup()
関数と、 draw()
を使って、連続した画像を作成していく。
###1. setup()
最初の一回のみ実行される関数。
setup()には、描画する際の画面サイズ、フレームレートなど初期情報を記述する。
###2. draw()
何回も呼ばれる関数
draw()は何らかの脱出措置(?)を行わない限り永遠に呼ばれ続ける。
実際の絵はこの関数内で実行されるようにする。
###(3.グローバル変数)
関数ではないが、一応。
setup()とdraw()の両方で使いたい変数であったり、draw関数が何回も実行されるため、前のdraw関数の結果を保持したい場合、グローバル変数として、setup()の上部に記載する。例えば円を左から右に動く動画を作りたいときは、グローバル変数に円のx座標、y座標を記載する。
##今回のサンプル
概要:円を左はじ中央から右へ動かす。
内容:
グローバル変数に、x座標、y座標、円の直径を記載しておく。
setup()では、
動画のサイズ、
背景色、
線の色
フレームレート
線の幅
各パラメータの初期値を記載しておく。
※各関数の詳細はWeb等で検索してね。わからなかったらコメントよろしく。
draw()では、
- 前のdrawで描かれた円を消すため、background()で真っ白に。
- 円を描く。
- 次のdraw()で少し右に描かれるようにx座標の値をいくつか加算。
int x;
int y;
//直径
int dia;
void setup() {
size(1500, 800);
background(255);
stroke(0);
frameRate(30);
strokeWeight(2);
//初期値
x = 0;
y = height/2;
dia = 100;
}
void draw(){
background(255);
ellipse(x, y, dia, dia);
x += 30;
}
感想:
動くには動いたけど、なんかカクツキがありますなぁ。
フレームレートかな???
とりあえず今日はこの辺で!