Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //easing
- var ellipsedx;
- var ellipsedy;
- var ellipseXpos = 0;
- var ellipseYpos = 0;
- var easing;
- //rotation
- var rectdx;
- var rectdy;
- var rectXpos = 0;
- var rectYpos = 0;
- var xspeed, yspeed;
- var rot, rotinc;
- var fillWhite;
- var fillBlack;
- var fillEllipse;
- var fillRect;
- var strokeEllipse;
- var strokeRect;
- function setup() {
- createCanvas(windowWidth, windowHeight);
- easing = .25;
- //rotation
- xspeed = (-10.0, 10.0);
- yspeed = (-10.0, 10.0);
- rectXpos = random(25, width-25);
- rectYpos = random(25, height-25);
- rot = random(TWO_PI);
- rotinc = random(-.5, .5);
- fillWhite = color(255);
- fillBlack = color(0);
- fillEllipse = color(255);
- fillRect = color(0);
- strokeEllipse = color(0)
- strokeRect = color(255);
- }
- function draw() {
- //easing
- ellipsedx = mouseX - ellipseXpos;
- ellipseXpos += ellipsedx*easing;
- ellipsedy = mouseY - ellipseYpos;
- ellipseYpos += ellipsedy*easing;
- fill(fillEllipse);
- stroke(strokeEllipse);
- ellipse(ellipseXpos, ellipseYpos, 100, 100);
- //rotation
- rectXpos += xspeed;
- rectYpos += yspeed;
- if(rectXpos > width-25 || rectXpos < 25) {
- xspeed *= -1;
- }
- if(rectYpos > height-25 || rectYpos < 25) {
- yspeed *= -1;
- }
- fill(fillRect);
- stroke(strokeRect);
- rectMode(CENTER);
- translate(rectXpos, rectYpos);
- rotate(rot);
- rect(0, 0, 50, 50);
- translate(25, 25);
- rot += rotinc;
- //ricochet
- if (dist(ellipseXpos, ellipseYpos, rectXpos, rectYpos) < 75) { //dist(ellipseXpos, ellipseYpos, rectXpos, rectYpos) < radius + length/2
- rectXpos -= xspeed;
- rectYpos -= yspeed;
- xspeed *= -1;
- yspeed *= -1;
- }
- }
- function keyReleased() {
- if (keyCode === 66) { //press B
- background(fillBlack);
- fillEllipse = color(0);
- strokeEllipse = color(255)
- fillRect = color(255);
- strokeRect = color(0)
- easing = 1.0;
- rotinc = random(-2, 2);
- xspeed = (-5.0, 5.0);
- yspeed = (-5.0, 5.0);
- } else if (keyCode === 87) { //press W
- background(fillWhite);
- fillEllipse = color(255);
- strokeEllipse = color(0);
- fillRect = color(0);
- strokeRect = color(255)
- easing = .25;
- rotinc = random(-.5, .5);
- xspeed = (-10.0, 10.0);
- yspeed = (-10.0, 10.0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement