もうそろそろこのシリーズも終盤に差し掛かってきました。今回は↓の映像のような7セグマトリクスを作っていきたいと思います。
ちさと@chisao_62これはあらかじめ決められた40*18の升目にランダムな数字を表示し、その明るさが徐々に表示していくというものです。それなので今回は、Processingで作る7セグマトリクス https://t.co/TDVQHPsttR
2021/01/11 14:57:54
- ランダムに抽出された場所にランダムな数字を表示する部分
- その表示をだんだん暗くさせていく部分
に分けて作成しました。最後にプログラムを載せていますが、randomnum()がランダムな場所の数字を抽選し透過率を0にする関数、matrix()がマトリクスを表示させつつ透過率を上げていく関数です。
- import java.util.Random;
- Random random = new Random();
- char[] mode = new char[2];
- int[][] txt = new int[40][18];
- int[][] Br = new int[40][18];
- PFont D7;
- void setup() {
- size(1920, 1080);
- D7 = createFont("DSEG7ClassicMini-Regular.ttf", 60);
- colorMode(HSB, 360, 255, 255, 255);
- textAlign(CENTER, CENTER);
- textFont(D7);
- }
- void draw() {
- background(0);
- randomnum();
- matrix();
- }
- void keyPressed() {
- mode[0] = key;
- }
- void randomnum() {
- for (int i=0; i<24; i++) {//ランダムな24ますにランダムな数字を入れ、透過率を0にする
- int c = random.nextInt(40);//ランダムなx座標
- int d = random.nextInt(18);//ランダムなy座標
- txt[c][d]=random.nextInt(10);//0~9のランダムな数字
- Br[c][d]=255;//透過率最大
- }
- }
- void matrix() {//マトリクスを表示し、各マス目の透過率を下げる。
- for (int i=0; i<40; i++) {
- for (int j=0; j<18; j++) {
- fill(180, 255, 255, Br[i][j]);
- Br[i][j]=Br[i][j]-5;
- text(txt[i][j], -20 + i * 49, 30 + j * 65);
- }
- }
- }