AdamB
YaBB Newbies
Offline
Posts: 23
Putting a new background over current background
Apr 2nd , 2007, 7:21pm
my title kinda says what im trying to do. Basically i want my background of a picture, when clicked to bring in the new picture and make it the background. I have so far got the new picture, to load, however, it does not stay as the background, you can only see a glimpse of ti when you press the mouse button. Thanks alot. Here's my code, if you want to try it out. PImage bg,a; int rectX, rectY; // Position of square button int circleX, circleY; // Position of circle button int rectSize = 50; // Diameter of rect int circleSize = 53; // Diameter of circle color rectColor, circleColor, baseColor; color rectHighlight, circleHighlight; color currentColor; boolean rectOver = false; boolean circleOver = false; void setup() { size(282, 500); frameRate(30); rectColor = color(0); rectHighlight = color(51); circleColor = color(255); circleHighlight = color(204); baseColor = color(102); currentColor = baseColor; circleX = width/2+circleSize/2+10; circleY = height/2; rectX = width/2-rectSize-10; rectY = height/2-rectSize/2; ellipseMode(CENTER); bg = loadImage("me.jpg"); a = loadImage("paul 2.jpg"); } void draw() { background(bg); update(mouseX, mouseY); if(rectOver) { fill(rectHighlight); } else { fill(rectColor); } stroke(255); rect(rectX, rectY, rectSize, rectSize); if(circleOver) { fill(circleHighlight); } else { fill(circleColor); } stroke(0); ellipse(circleX, circleY, circleSize, circleSize); } void mousePressed(){ image(a,0,0); } void update(int x, int y) { if( overCircle(circleX, circleY, circleSize) ) { circleOver = true; rectOver = false; } else if ( overRect(rectX, rectY, rectSize, rectSize) ) { rectOver = true; circleOver = false; } else { circleOver = rectOver = false; } } 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; } } boolean overCircle(int x, int y, int diameter) { float disX = x - mouseX; float disY = y - mouseY; if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) { return true; } else { return false; } }