Alexis-H

By Alexis Nelson
//click or hold off square speds up floow, and on square slows follow float bx; float by; int bs = 20; boolean mouseover = false; boolean locked = false; float bdifx = 0.0; float bdify = 0.0; PFont font; float speed = .01; void setup() { size(400, 400); bx = width/2.0; by = height/2.0; rectMode(CENTER_RADIUS); fill(123); font = loadFont("Arial-BoldMT-48.vlw"); textFont(font, 44); } void draw() { background(0); mouseOver(); // Draw the box rect(bx, by, bs, bs); text(key, 28, 75); //mouseFollow(); } //void mouseFollow(){ void mouseMoved(){ if(mouseover) { locked = true; } else { locked = false; //current position equals current position, //plus mouse position divided by current position, //times speed bx += (mouseX - bx) * speed; by += (mouseY - by) * speed; } } void mouseOver(){ //is mouse cursor over the box if (mouseX > bx-bs && mouseX < bx+bs && mouseY > by-bs && mouseY < by+bs) { mouseover = true; } else { mouseover = false; } } void mousePressed() { if(mouseover) { locked = true; speed -= speed/2; //fill(255, 255, 255); } else { locked = false; speed += speed; } bdifx = mouseX-bx; bdify = mouseY-by; } void mouseDragged() { if(locked) { bx = mouseX-bdifx; by = mouseY-bdify; } } void mouseReleased() { locked = false; }

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*