前回のProcessingのプログラムを説明するよ(2)


みなさんこんにちは、すぎっちです。
さて、今回は機密保持プログラムの後半です。たった3行ですけど説明していきますね。

コードはこれです

void setup(){
  fullScreen(0);
}
    
void draw(){
  background(0);
}

4行目の void draw(){ と 6行目の } について
繰り返し行う命令を{ }の中に書きます。
というお約束の呪文です。ですから、アプリ終了まで 5行目のbackground(0);をずっと何度も実行し続ける。
というプログラムになります。 

drawという名前は、元々Processingというプログラムが開発された初期に、簡単に使える画面表示のプログラムを目的として開発された名残です。
ここには画面に何を描くかの命令を書いています。
その命令が5行目です。

5行目の background(0); について
背景を黒色で塗りつぶす。
というプログラムになります。
()の中の数字が色を表します。
0が黒、1~254と数字が大きくなると明るくなっていき、255が最も明るい白色です。数字を書き換えると色が変わることを確認できます。

ちなみに
背景を黒くした後は画面は黒いままだから、繰り返しbackground(0);を行う必要はないのでは?」と思ったあなた、さすがです。void setupだけでも動きますし、似た動きになります。前回のプログラムを起動して、下記をコピペして書き換えて実行(ウインドウの左上の右三角ボタンを押す)してみてください。

void setup(){
  fullScreen(0);
  background(0);
}   

実行した結果は同じですよね。これだと6行→4行になってより簡単な気がします。ですが、void setupはアプリ起動時に1回だけ実行する命令を書く場所です。 もしも、画面を黒くしたあとに、メールの通知ウインドウなどのポップアップ画面が出たら、メールのタイトルなどが表示されてしまう事があり得ます。
ですから、何か他のアプリが表示をしても、すぐに黒く上書きするために、void drawを使って繰り返し黒で塗りつぶししているのです。
ちなみに、通常void drawは1秒に60回繰り返し実行されます。何か表示されたとしても1/60秒後には黒で塗りますので、機密保持ができるわけです。

 説明は以上です。

余談ですが(読まなくてもいいよ)
background(0);の中の数字が0から255以外だとエラーになるの?どんな色になるの?と思ったあなた、書き換えて試してみましょう。
まず0が黒ですね。100、200と数字が大きくなると明るくなっていきましたね、255が最も明るい白色です。
じつはそれよりも大きい数値はProcessingとしては規定動作外なので、どうなるか公式には書いてありません。
私が確認したところ、Processingで扱える最大数値が32bit(2の32乗)だから、2147483647まではエラーで停止しないようです。そして数値によっては青緑やオレンジっぽい中間色もでるようです。マイナスの数値もOK。小数点をつけてもエラーにはならない(切り捨てられるだけ?)ようです。

ちゃんと色を指定したい場合は
美術や科学の時間に色の三原色RGB(Red,Green,Blue)って習ったと思うけど、このRGBの順番で色を指定することもできます。backgroundの行だけ下記のどれかと入れ替えてみてください。
background(255,0,0);//Red
background(0,255,0);//Green
background(0,0,255);//Blue
そして、数字を変えて遊んでみてください。
RGB以外の色指定の方法もありますが、ここでは説明しませんので、他の記事を見たりしてね。

ここまで進めて理解できたなら、もうプログラミングが始められます。backgroundの行の後ろに基本的な図形を描いて、数字を変えて遊んでみると意味が判って、だんだん面白くなっていきます。例えばこういうのを適当に追加したり削除してみてみましょう。

///ここから
ellipse(500, 500, 500, 500);//円を描く
fill(255, 100);//色を設定
triangle(500, 250, 250, 500, 750, 500);//三角を描く
fill(0, 0, 255);
rect(375, 375, 250, 250);//四角を描く
///ここまでをbackgroundの行のあとに追加してみよう

あとがき
今回もちょっと数字間違ってもエラーにならずに、画面は塗りつぶす動きをするとご理解いただけたと思います。今回の記事を見て「プログラミングなんてこわくない」って思ってもらえれば、もう自分一人でプログラミングを開始して進めていけます。趣味なんだから、楽しみながら自分のペースでやっていきましょう。(私も趣味でやってるだけで、仕事は無関係の業種なんだけど、それでも始めることができましたから。)

これでProcessingの説明の記事は終わりです。じゃ、またね。



この記事が気に入ったらサポートをしてみませんか?