float x=50, y=50, t=3, s=2, m; int sphereSize, barHeight; void setup(){ size(500, 500, P3D); lights(); sphereSize = 10; barHeight = 100; } void draw() { background(255); m=mouseY; pushMatrix(); noStroke(); fill(255, 200, 200); translate(x, y, 0); sphere(sphereSize); popMatrix(); t=x>(width-5)||x<15&&y<m+(barHeight/2)&&y>m-(barHeight/2)?-t:t; // x x=x<sphereSize?(width/2):x; s=y>(width-sphereSize)||y<sphereSize?-s:s; // y x+=t; y+=s; pushMatrix(); stroke(0); translate(10, m, 0); box(5, barHeight, 20); popMatrix(); }