PImage b01,b02,b03,b04,b05,b06,b07,bg1,bg2,bg3,bg4,bg5,bg6,bg7;//按鈕圖片 RectButton rect1, rect2, rect3, rect4, rect5, rect6 , rect7, rect8 , rect9, rect10,rect11,rect12,rect13,rect14;//按鈕 color buttoncolor,highlight, currentcolor;//按鈕顏色 boolean locked = false; int b_x = 360; void displayAll() { color baseColor = color(0,0,0); currentcolor = baseColor; color baseButton = color(255,0,0,150); color baseHighlight = color(255,0,0,0); buttoncolor = baseHighlight; highlight = baseButton; b01=loadImage("b1.gif"); b02=loadImage("b2.gif"); b03=loadImage("b3.gif"); b04=loadImage("b4.gif"); b05=loadImage("b5.gif"); b06=loadImage("b6.gif"); b07=loadImage("b7.gif"); bg1=loadImage("bg01.gif"); bg2=loadImage("bg02.gif"); bg3=loadImage("bg03.gif"); bg4=loadImage("bg04.gif"); bg5=loadImage("bg05.gif"); bg6=loadImage("bg06.gif"); bg7=loadImage("bg07.gif"); } void displayButton() { noStroke(); fill(0,0,0); rect(0,0,40,240); rect(360,0,40,240); fill(buttoncolor); strokeWeight(1); stroke(255); image(b01,b_x,1); image(b02,b_x,35); image(b03,b_x,69); image(b04,b_x,103); image(b05,b_x,137); image(b06,b_x,171); image(b07,b_x,205); image(bg1,0,1); image(bg2,0,35); image(bg3,0,69); image(bg4,0,103); image(bg5,0,137); image(bg6,0,171); image(bg7,0,205); rect1 = new RectButton(0, 0, 34, buttoncolor, highlight); rect2 = new RectButton(0, 34, 34, buttoncolor, highlight); rect3 = new RectButton(0, 68, 34, buttoncolor, highlight); rect4 = new RectButton(0, 102, 34, buttoncolor, highlight); rect5 = new RectButton(0, 136, 34, buttoncolor, highlight); rect6 = new RectButton(0, 170, 34, buttoncolor, highlight); rect7 = new RectButton(0, 204, 34, buttoncolor, highlight); rect8 = new RectButton(b_x, 0, 34, buttoncolor, highlight); rect9 = new RectButton(b_x, 34, 34, buttoncolor, highlight); rect10 = new RectButton(b_x, 68, 34, buttoncolor, highlight); rect11 = new RectButton(b_x, 102, 34, buttoncolor, highlight); rect12 = new RectButton(b_x, 136, 34, buttoncolor, highlight); rect13 = new RectButton(b_x, 170, 34, buttoncolor, highlight); rect14 = new RectButton(b_x, 204, 34, buttoncolor, highlight); update(mouseX, mouseY); rect1.display(); rect2.display(); rect3.display(); rect4.display(); rect5.display(); rect6.display(); rect7.display(); rect8.display(); rect9.display(); rect10.display(); rect11.display(); rect12.display(); rect13.display(); rect14.display(); } //<按鈕的類別> class Button { int x, y; int size; color basecolor, highlightcolor; color currentcolor; boolean over = false; boolean pressed = false; void update() { if(pressed()) println("test"); if(over()) { currentcolor = highlightcolor; } else { currentcolor = basecolor; } } boolean pressed() { if(over) { locked = true; return true; } else { locked = false; return false; } } boolean over() { return true; } boolean overRect(int x, int y, int width, int height) { if (mouseX >= x && mouseX <= x+width && mouseY >= y && mouseY <= y+height) { return true; } else { return false; } } } class RectButton extends Button { RectButton(int ix, int iy, int isize, color icolor, color ihighlight) { x = ix; y = iy; size = isize; basecolor = icolor; highlightcolor = ihighlight; currentcolor = basecolor; } boolean over() { if( overRect(x, y, size+6, size) ) { over = true; return true; } else { over = false; return false; } } void display() { stroke(255); fill(currentcolor); rect(x, y, size+6, size); } } void update(int x, int y) { if(locked == false) { rect1.update(); rect2.update(); rect3.update(); rect4.update(); rect5.update(); rect6.update(); rect7.update(); rect8.update(); rect9.update(); rect10.update(); rect11.update(); rect12.update(); rect13.update(); rect14.update(); } else { locked = false; } } void mousePressed()//按下後執行 { if(f){ if (mouseX>40 && mouseX<361 && mouseY <241 && p_n<1) penpress(); else if(rect1.pressed()) {b_n=1;bgpic();} else if(rect2.pressed()) {b_n=2;bgpic();} else if(rect3.pressed()) {b_n=3;bgpic();} else if(rect4.pressed()) {b_n=4;bgpic();} else if(rect5.pressed()) {b_n=5;bgpic(); } else if(rect6.pressed()) {b_n=6;bgpic();} else if(rect7.pressed()) {b_n=7;bgpic();} else if(rect8.pressed()){p_n=1;} else if(rect9.pressed()){p_n=2;} else if(rect10.pressed()){p_n=3;} else if(rect11.pressed()){p_n=4;} else if(rect12.pressed()){p_n=5;} else if(rect13.pressed()){p_n=6;} else if(rect14.pressed()){p_n=7;} else if(mouseY>240) p_n=0; } }