【Processing】ドット絵をかくやつ2
続き。
保存する機能を追加した。絵もなんこか描いた。
この解像度だと描けるモチーフが限られてるし、
無理してこの解像度でモチーフを見ようとする。
見る力と抽象化する力が鍛えられるので、良いトレーニングになるかも。
int[] rectX = new int[10]; //配列、xの数値に使います int[] rectY = new int[10]; //配列、yの数値に使います color[][] c = new color[10][10]; //二次元配列 void setup() { size(500, 500); background(200); noStroke(); for (int x = 0; x < 10; x++) { for (int y = 0; y <10; y++) { rectX[x] = x*50 + 25; //forループの変数を計算に使う rectY[y] = y*50 + 25; // c[x][y] = color(255); //色の初期値です } } } void draw() { for (int x = 0; x < 10; x++) { //行になります for (int y = 0; y < 10; y++) { //列になります。 fill( c[x][y]); //指定した色で四角を書きます rectMode(CENTER); rect(rectX[x], rectY[y], 50, 50); } } } //マウスクリックした時 void mousePressed() { for (int x = 0; x < 10; x++) { //行 for (int y = 0; y < 10; y++) { //列 //マウスが四角形の上だったら if (25 > dist(rectX[x], rectY[y], mouseX, mouseY)) { if (c[x][y] == color(255)) { //白のとき c[x][y] = color(125); //グレーに変える } else if(c[x][y] == color(125)){ //グレーのとき c[x][y] = color(0); //黒にする } else if(c[x][y] == color(0)){ //黒のとき c[x][y] = color(255); //白にする } } } } } //キーを押した時実行する void keyPressed() { if (key == ' ') { //スペースだったら save("dot.png"); //pngで保存する } }