もうそろそろこのシリーズも終盤に差し掛かってきました。今回は↓の映像のような7セグマトリクスを作っていきたいと思います。
 これはあらかじめ決められた40*18の升目にランダムな数字を表示し、その明るさが徐々に表示していくというものです。それなので今回は、
  1. ランダムに抽出された場所にランダムな数字を表示する部分
  2. その表示をだんだん暗くさせていく部分
に分けて作成しました。最後にプログラムを載せていますが、randomnum()がランダムな場所の数字を抽選し透過率を0にする関数、matrix()がマトリクスを表示させつつ透過率を上げていく関数です。

  1. import java.util.Random;

  2. Random random = new Random();
  3. char[] mode = new char[2];
  4. int[][] txt = new int[40][18];
  5. int[][] Br = new int[40][18];
  6. PFont D7;

  7. void setup() {
  8.   size(1920, 1080);
  9.   D7 = createFont("DSEG7ClassicMini-Regular.ttf", 60);
  10.   colorMode(HSB, 360, 255, 255, 255);
  11.   textAlign(CENTER, CENTER);
  12.   textFont(D7);
  13. }

  14. void draw() {
  15.   background(0);
  16.   randomnum();
  17.   matrix();
  18. }

  19. void keyPressed() {
  20.   mode[0] = key;
  21. }

  22. void randomnum() {
  23.   for (int i=0; i<24; i++) {//ランダムな24ますにランダムな数字を入れ、透過率を0にする
  24.     int c = random.nextInt(40);//ランダムなx座標
  25.     int d = random.nextInt(18);//ランダムなy座標
  26.     txt[c][d]=random.nextInt(10);//0~9のランダムな数字
  27.     Br[c][d]=255;//透過率最大
  28.   }
  29. }

  30. void matrix() {//マトリクスを表示し、各マス目の透過率を下げる。
  31.   for (int i=0; i<40; i++) {
  32.     for (int j=0; j<18; j++) {
  33.       fill(180, 255, 255, Br[i][j]);
  34.       Br[i][j]=Br[i][j]-5;
  35.       text(txt[i][j], -20 + i * 49, 30 + j * 65);
  36.     }
  37.   }
  38. }