コンテンツにスキップ

13.繰り返しで模様を作ろう

1.繰り返しと模様

繰り返しを使うと、簡単に模様を作ることができます。

2.チェック柄を作ってみる

繰り返しを使ってチェック柄を作ってみましょう。

縦の線を引く

まず、縦の線をfor文を使って引いてみます。青い太い線は青い色の四角形を使って作ります。 fill() で色を決めた後、 noStroke() で線の色を消しています。 background(255) は、背景を白く塗りつぶしています。

void setup(){
size(600,400);
}
void draw(){
background(255);
fill(0,0,100);
noStroke();
for(int i = 0; i < 6; i++){
rect(i*100,0,40,400);
}
}

for文の部分

for(int i = 0; i < 6; i++){
rect(i*100,0,40,400);
}

変数iが0から5まで変化するので、6つの四角形が描かれます。この四角形は横幅が40ピクセルで縦が400ピクセルなので、縦長の線に見えます。

for文の変数iとrect()

for文の繰り返しの中で、変数iが変化していくとrectも変わっていきます。x座標が100ずつ増えていくので、100ピクセルずつ右にずれていきます。

iの値rect文
0rect(0, 0, 40, 400)
1rect(100, 0, 40, 400)
2rect(200, 0, 40, 400)
3rect(300, 0, 40, 400)
4rect(400, 0, 40, 400)
5rect(500, 0, 40, 400)

二つのfor文

今度は、横にも線を引くことで格子状にします。

void setup(){
size(600,400);
}
void draw(){
background(255);
fill(0,0,100);
noStroke();
for(int i = 0; i < 6; i++){
rect(i*100,0,40,400);
}
for(int i = 0; i < 4; i++){
rect(0,i*100,600,40);
}
}

ふたつめのfor文

for(int i = 0; i < 4; i++){
rect(0,i*100,600,40);
}

変数iが0から3まで変化するので、4つの四角形が描かれます。この四角形は横幅が600ピクセルで縦が40ピクセルですから横長の線になります。

ふたつめのfor文の変数iとrect()

for文の繰り返しの中で、変数iが変化していくとrectも変わっていきます。y座標が100ずつ増えていくので、100ピクセルずつ下にずれていきます。

iの値rect文
0rect(0, 0, 600, 40)
1rect(0, 100, 600, 40)
2rect(0, 200, 600, 40)
3rect(0, 300, 600, 40)

3.色を透明化する

このままでは、どの部分も同じ色で、重なったところが濃く見えません。そこで、色の塗りに透明度を設定して、色が透き通るようにします。

いままで、図の中身の色を決めるfillは、 fill(赤の強さ, 緑の強さ, 青の強さ) のようにして使ってきましたが、実は4番目に数字を入れると色が透き通るようになります。0~255の数字を入れ、0がいちばん薄い状態(見えない)、255がいちばん濃い状態です。

  • ちょっとうすい赤

fill(255, 0, 0, 150);

  • かなり薄いオレンジ

fill(100, 100, 0, 50);

4.完成版

青を100の不透明度(ふとうめいど。透明じゃない度合いのことなのでこう呼びます)にするとチェック柄が完成します。

void setup(){
size(600,400);
}
void draw(){
background(255);
fill(0,0,100,100);
noStroke();
for(int i = 0; i < 6; i++){
rect(i*100,0,40,400);
}
for(int i = 0; i < 4; i++){
rect(0,i*100,600,40);
}
}