![見出し画像](https://assets.st-note.com/production/uploads/images/142204197/rectangle_large_type_2_f670c6f61bdaf8af31cbe344ee317d36.png?width=1200)
Prossesingでカッコイイスマホ背景を作ろう!
こんにちは、とりすてぃっくです。
最近、私のスマホの背景が
消失したんですよね。
恐らくスマホのアップデートが
関係している思われますが…
まあそれはそれとして、
なんかいい感じの背景がないと
ちょっと寂しく感じるので、
今回はProcessingで
スマホの背景を作っていこうと思います。
そもそも"Processing"ってなんだ?
Processingとは、
プログラミング言語の1つです。
図形、イラストを描画することに
長けている言語で、
背景を生成するにはうってつけなんですよ。
↓Processingのダウンロードはこちらから…
個人的に、プログラミング初心者でも
扱いやすい言語だと思うので、
オヌヌメです。
どんな背景を作ろうか…?
今回はrandom関数を使って、
いい感じの背景を作ろうと思います。
ランダムならば、唯一無二の背景が
作れるはずです。
あと、ホーム画面用とロック画面用に
2つ分背景を作ります。
サイズはスマホのサイズに合うように、
1080 x 2220 で作成します。
random関数は、
random(x); 0以上x未満のランダムな数
または、
random(x, y); x以上y未満のランダムな数
こんな感じで扱えます。
注意点としては、
random関数から出てくる数値は
int型(整数)ではなく
float型(小数を含む数)なので、
float num1 = random(6); //0以上6未満のランダムな有理数
int num2 = int(random(3,15)); //3以上15未満(14以下)のランダムな整数
このように書くことになります。
出てくる値は上限値未満なので、
intに直した場合、その値は切り捨てられ、
上限値より1つ小さい数が最大値となります。
さっそく背景を作ってみよう!
背景1. ロック画面用
モノクロで、シックな背景にしたいので、
下地は黒で、arc(円弧)をランダム生成
していこうと思います。
arc()関数は、
arc(x, y, width, height, start, stop, mode);
こんな感じで使えます。
最初の2つは座標で、
次の2つは縦横のサイズ、
その次の2つは角度(弧度法)で、
最後のやつはどんな形にするかのやつです。
以下、コードです。
void setup(){
int arc_color;
float x, y;
float arc_start, arc_end, arc_size;
size(108 * 2, 222 * 2);
background(0);
for(int i = 0; i < 1000; i++){
arc_color = int(random(256));
x = random(width);
y = random(height);
arc_start = random(360);
arc_end = random(360);
arc_size = random(50, 100);
fill(arc_color);
arc(x, y, arc_size, arc_size, radians(arc_start), radians(arc_end), PIE);
}
}
そして、生成したものがこちら。
![](https://assets.st-note.com/img/1716940808672-pG2kMUa0rb.png)
かなりいい感じのやつができた。
背景2. ホーム画面用
Processingでは、3Dを扱うことも
できるそうなので、せっかくだから、
3Dの背景にしていこうと思います。
3Dにしたいときは、size()を書くときに、
一番最後に"P3D"ってつけるだけです。
こちらもモノクロでいきます。色の調整が面倒だから
そして、ここで使うのはbox()です。
これは、指定したサイズの箱を
生み出すやつです。
以下、コードです。
int i;
float x, y, z, box_size;
int box_color;
void setup(){
size(108 * 2, 222 * 2, P3D);
background(#202020);
lights();
}
void draw(){
if(i == 0){
for(i = 0; i < 36; i++){
x = random(15, width - 15);
y = random(15, height - 15);
z = random(50);
box_size = random(10, 100);
box_color = int(random(256));
pushMatrix();
translate(x, y, z);
rotateX(TWO_PI / i);
rotateY(TWO_PI / (12 - i));
rotateZ(TWO_PI / (6 - i));
fill(box_color);
box(box_size);
popMatrix();
}
}
}
そして、生成されたものがこちら。
![](https://assets.st-note.com/img/1716986436932-16qL1NwQJd.png)
結構いい感じ。
あっ、これ色を
background(#9999ff);
box_color = int(random(50, 256));
fill(box_color/3, box_color/3, box_color);
こうして、青っぽくしたら…
![](https://assets.st-note.com/img/1716986770652-TSZJlhZVrZ.png)
数学の教科書の表紙っぽくなった!
これいいね。背景にしよう。
皆さんもこんな感じで背景を作ってみては
いかがでしょうか?
以上、とりすてぃっくのちょっとした
記事でした。