Processing 程式碼
匯入圖片PImage img = loadImage("arufa.jpg"); size(600, 400); // 因為圖檔大小剛好是600*400 image(img, 0, 0);
用兩個 Void 把圖片匯入 + 畫無框半透明長方形PImage img; void setup() { size(600, 400); img = loadImage("arufa.jpg"); } void draw() { image(img, 0, 0); noStroke(); //不要框線 fill(200, 200, 255, 128); //最後面的128是 "半透明" rect(mouseX, mouseY, 80, 55); //畫長方型 }畫超多長方形出來形成結界PImage img; void setup() { size(600, 400); img = loadImage("arufa.jpg"); } void draw() { image(img, 0, 0); noCursor(); //不要有滑鼠游標 noStroke(); //不要框線 fill(200, 200, 255, 128); //最後面的128是 "半透明" rect(mouseX, mouseY-80, 80, 55); rect(mouseX-35, mouseY-40, 80, 55); rect(mouseX+35, mouseY-40, 80, 55); rect(mouseX+70, mouseY, 80, 55); rect(mouseX, mouseY, 80, 55); rect(mouseX-70, mouseY, 80, 55); rect(mouseX-105, mouseY+40, 80, 55); rect(mouseX-35, mouseY+40, 80, 55); rect(mouseX+35, mouseY+40, 80, 55); rect(mouseX+105, mouseY+40, 80, 55); rect(mouseX+70, mouseY+80, 80, 55); rect(mouseX, mouseY+80, 80, 55); //畫長方型 rect(mouseX-70, mouseY+80, 80, 55); rect(mouseX-35, mouseY+120, 80, 55); rect(mouseX+35, mouseY+120, 80, 55); rect(mouseX, mouseY+160, 80, 55); }用 for迴圈 畫超多長方形出來形成結界PImage img; void setup() { size(600, 400); img = loadImage("arufa.jpg"); } void draw() { image(img, 0, 0); noCursor(); //不要有滑鼠游標 noStroke(); //不要框線 fill(200, 200, 255, 128); //最後面的128是 "半透明" for (int i=1; i<=4; i++) { for (int j=0; j<i; j++) { float y=i*35, x=-i/2*60+j*60 + ((i%2==0)?30:0); rect(mouseX+x, mouseY-80+y, 80, 55); } } for (int i=3; i>=1; i--) { for (int j=0; j<i; j++) { float y=(4-i)*35+160, x=-i/2*60+j*60 + ((i%2==0)?30:0); rect(mouseX+x, mouseY-80+y, 80, 55); } } }畫9*9的棋盤方法一:size(450, 450); background(220,179,92); strokeWeight(2); for (int i=0; i<=9; i++) { line(25, 25+i*50, 425, 25+i*50); //橫線 line(25+i*50, 25, 25+i*50, 425); //直線 }方法二:size(450, 450); background(220, 179, 92); strokeWeight(2); noFill(); for (int i=0; i<8; i++) { for (int j=0; j<8; j++) { rect(25+j*50, 25+i*50, 50, 50); } }畫9*9的棋盤 + 白色棋子void setup() { size(450, 450); } void draw() { background(220, 179, 92); strokeWeight(2); for (int i=0; i<=9; i++) { line(25, 25+i*50, 425, 25+i*50); //橫線 line(25+i*50, 25, 25+i*50, 425); //直線 } ellipse(mouseX, mouseY, 45, 45); }讓白棋可以放在棋盤上int[][] board = new int[9][9]; // Java 2D 陣列, 預設0 void setup() { size(450, 450); } void draw() { background(220, 179, 92); strokeWeight(2); for (int i=0; i<=9; i++) { line(25, 25+i*50, 425, 25+i*50); //橫線 line(25+i*50, 25, 25+i*50, 425); //直線 } for (int i=0; i<9; i++){ for(int j=0; j<9; j++){ if(board[i][j]==1) ellipse(25 + j*50, 25 + i*50, 45, 45); } } ellipse(mouseX, mouseY, 45, 45); } void mousePressed(){ int i = mouseY/50, j = mouseX/50; board[i][j] = 1; }讓黑、白棋可以交錯下int goColor = -1; //-1:黑 +1:白 0:沒有棋子 int[][] board = new int[9][9]; // Java 2D 陣列, 預設0 void setup() { size(450, 450); } void draw() { background(220, 179, 92); strokeWeight(2); for (int i=0; i<=9; i++) { line(25, 25+i*50, 425, 25+i*50); //橫線 line(25+i*50, 25, 25+i*50, 425); //直線 } for (int i=0; i<9; i++) { for (int j=0; j<9; j++) { if (board[i][j]==0) continue; //不要畫 if (board[i][j]==1) fill(255); if (board[i][j]==-1) fill(0); ellipse(25 + j*50, 25 + i*50, 45, 45); } } if (goColor==-1) fill(0); else fill(255, 128); //半透明 ellipse(mouseX, mouseY, 45, 45); } void mousePressed() { int i = mouseY/50, j = mouseX/50; board[i][j] = goColor; goColor = goColor * -1; //顏色交換 }用陣列 + for迴圈畫出結界int []boardX = {0, -35, +35, +70, 0, -70, -105, -35, +35, +105, +70, 0, -70, -35, +35, 0}; int []boardY = {-80, -40, -40, 0, 0, 0, +40, +40, +40, +40, 80, 80, 80, 120, 120, 160}; PImage img; void setup() { size(600, 400); img = loadImage("arufa.jpg"); } void draw() { image(img, 0, 0); noCursor(); //不要有滑鼠游標 noStroke(); //不要框線 fill(200, 200, 255, 128); //最後面的128是 "半透明" for (int i=0; i<16; i++) { rect(mouseX+boardX[i], mouseY+boardY[i], 80, 55); } }
沒有留言:
張貼留言