Advertisement
Guest User

jumpingboxesp5js

a guest
May 24th, 2018
709
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let limitW;
  2. let limitH;
  3. let lim;
  4. let boxSIZE = 25;
  5. let myWIDTH = 700;
  6. let myHEIGHT = 700;
  7.  
  8. function setup() {
  9.     createCanvas(myWIDTH, myHEIGHT, WEBGL);
  10.     lim=6*boxSIZE;
  11.     limitW=width-lim;
  12.     limitH=height-lim;
  13. }
  14.  
  15. let speed = 0;
  16.  
  17. function draw() {
  18.     background('#1C252B');
  19.     ortho(-myWIDTH, myWIDTH, myHEIGHT, -myHEIGHT, 0, myHEIGHT+500);
  20.  
  21.     rotateX(QUARTER_PI);
  22.     rotateY(atan(1/sqrt(2))*1.2);
  23.  
  24.     for(let z = 0; z < limitW; z += boxSIZE) {
  25.         for(let x = 0; x < limitH; x += boxSIZE) {
  26.             push();
  27.             let temp = speed + map( dist(x, z, limitH/2, limitW/2),
  28.                                     0,
  29.                                     dist(0, 0, 200, 200),
  30.                                     -PI,
  31.                                     PI );
  32.             let boxHEIGHT = map(sin(temp), -1, 1, 55, 300);
  33.             translate(x - width/2 + lim/2, 0, z - height/2 + lim/2);
  34.             normalMaterial();
  35.             box(boxSIZE-2, boxHEIGHT, boxSIZE-2);
  36.             translate(x - width/2 + lim/2, 10, z - height/2 + lim/2);
  37.  
  38.             pop();
  39.         }
  40.     }
  41.  
  42.     for(let i = 0; i<400; i+= boxSIZE) {
  43.         push();
  44.         rotateX(sin(speed/5+i));
  45.         rotateX(sin(speed/5+i));
  46.         translate(width/4 - i, width/2, 0);
  47.         normalMaterial();
  48.         sphere(boxSIZE/2);
  49.         pop();
  50.     }
  51.     speed += 0.08;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement