Skip to content

Instantly share code, notes, and snippets.

@wonderburg7
Last active December 16, 2018 01:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wonderburg7/30b592b3fb8f93139fc8abfbdee5ad81 to your computer and use it in GitHub Desktop.
Save wonderburg7/30b592b3fb8f93139fc8abfbdee5ad81 to your computer and use it in GitHub Desktop.
/**
* PolygonPShapeOOP.
*
* Wrapping a PShape inside a custom class
* and demonstrating how we can have a multiple objects each
* using the same PShape.
*/
// A list of objects
ArrayList<Polygon> polygons;
PImage img1, img2, img3, img4, img5, img6, img7, img8, img9, img10, img11, img12, img13, img14, img15, img16, img17, img18, img19, img20, img21, img22, img23, img24, img25, img26, img27, img28, img29, img30, img31, img32, img33, img34, img35;
// Three possible shapes
PShape[] shapes = new PShape[3];
int size;
int dice;
void setup() {
size(1000, 600);
imageMode(CENTER);
img1 = loadImage("https://i.imgur.com/vH19idL.png");
img2 = loadImage("https://i.imgur.com/lGPZQyd.png");
img3 = loadImage("https://i.imgur.com/S6C0N0p.png");
img4 = loadImage("https://i.imgur.com/EUqg8SR.png");
img5 = loadImage("https://i.imgur.com/Y8cuVgV.png");
img6 = loadImage("https://i.imgur.com/nc13bhi.png");
img7 = loadImage("https://i.imgur.com/GRO4efd.png");
img8 = loadImage("https://i.imgur.com/it3TJ4a.png");
img9 = loadImage("https://i.imgur.com/rtsPlZI.png");
img10 = loadImage("https://i.imgur.com/h2HO2PC.png");
img11 = loadImage("https://i.imgur.com/LbBirzO.png");
img12 = loadImage("https://i.imgur.com/qpJsaFC.png");
img13 = loadImage("https://i.imgur.com/pYjBgkE.png");
img14 = loadImage("https://i.imgur.com/9D35V1o.png");
img15 = loadImage("https://i.imgur.com/WVjzEEA.png");
img16 = loadImage("https://i.imgur.com/WmmnuKb.png");
img17 = loadImage("https://i.imgur.com/HMvCmkn.png");
img18 = loadImage("https://i.imgur.com/RFpszse.png");
img19 = loadImage("https://i.imgur.com/c2nrTT6.png");
img20 = loadImage("https://i.imgur.com/XC1ftRi.png");
img21= loadImage("https://i.imgur.com/4WqDZfi.png");
img22 = loadImage("https://i.imgur.com/x4dE47c.png");
img23 = loadImage("https://i.imgur.com/lVLDD54.png");
img24 = loadImage("https://i.imgur.com/bRumJOi.png");
img25 = loadImage("https://i.imgur.com/V3zSAu9.png");
img26 = loadImage("https://i.imgur.com/UJvB8wk.png");
img27 = loadImage("https://i.imgur.com/kTBsqjW.png");
// img28 = loadImage("");
img29 = loadImage("https://i.imgur.com/HZ24hdV.png");
img30 = loadImage("https://i.imgur.com/0S4EbpH.png");
img31 = loadImage("https://i.imgur.com/mA4jh13.png");
img32 = loadImage("https://i.imgur.com/ijtM99I.png");
img33 = loadImage("https://i.imgur.com/wbFh5FV.png");
img34 = loadImage("https://i.imgur.com/d0XVxw6.png");
img35 = loadImage("https://i.imgur.com/ZQlXg2a.png");
/*
shapes[0] = createShape(ELLIPSE,0,0,100,100);
shapes[0].setFill(color(255, 127));
shapes[0].setStroke(false);
shapes[1] = createShape(RECT,0,0,100,100);
shapes[1].setFill(color(255, 127));
shapes[1].setStroke(false);
shapes[2] = createShape();
shapes[2].beginShape();
shapes[2].fill(0, 127);
shapes[2].noStroke();
shapes[2].vertex(0, -50);
shapes[2].vertex(14, -20);
shapes[2].vertex(47, -15);
shapes[2].vertex(23, 7);
shapes[2].vertex(29, 40);
shapes[2].vertex(0, 25);
shapes[2].vertex(-29, 40);
shapes[2].vertex(-23, 7);
shapes[2].vertex(-47, -15);
shapes[2].vertex(-14, -20);
shapes[2].endShape(CLOSE);
*/ // Make an ArrayList
polygons = new ArrayList<Polygon>();
for (int i = 0; i < 25; i++) {
int selection = int(random(shapes.length)); // Pick a random index
Polygon p = new Polygon(shapes[selection]); // Use corresponding PShape to create Polygon
polygons.add(p);
}
}
void draw() {
background(0,0);
// Display and move them all
for (Polygon poly : polygons) {
poly.display();
poly.move();
}
}
// A class to describe a Polygon (with a PShape)
class Polygon {
// The PShape object
PShape s;
// The location where we will draw the shape
float x, y;
// Variable for simple motion
float speed;
int size = int(random(50, 100));
int dice = int(random(1, 35));
Polygon(PShape s_) {
x = random(width);
y = random(-500, -100);
s = s_;
speed = random(2, 6);
}
// Simple motion
void move() {
y+=speed;
if (y > height+100) {
y = -100;
}
}
// Draw the object
void display() {
pushMatrix();
translate(x, y);
if (dice == 1) {
image(img1, x, y, size, size);
} else if (dice == 2) {
image(img2, x, y, size, size);
} else if (dice == 3) {
image(img3, x, y, size, size);
} else if (dice == 4) {
image(img4, x, y, size, size);
} else if (dice == 5) {
image(img5, x, y, size, size);
} else if (dice == 6) {
image(img6, x, y, size, size);
} else if (dice == 7) {
image(img7, x, y, size, size);
} else if (dice == 8) {
image(img8, x, y, size, size);
} else if (dice == 9) {
image(img9, x, y, size, size);
} else if (dice == 10) {
image(img10, x, y, size, size);
} else if (dice == 11) {
image(img11, x, y, size, size);
} else if (dice == 12) {
image(img12, x, y, size, size);
} else if (dice == 13) {
image(img13, x, y, size, size);
} else if (dice == 14) {
image(img14, x, y, size, size);
} else if (dice == 15) {
image(img15, x, y, size, size);
} else if (dice == 16) {
image(img16, x, y, size, size);
} else if (dice == 17) {
image(img17, x, y, size, size);
} else if (dice == 18) {
image(img18, x, y, size, size);
} else if (dice == 19) {
image(img19, x, y, size, size);
} else if (dice == 20) {
image(img20, x, y, size, size);
} else if (dice == 21) {
image(img21, x, y, size, size);
} else if (dice == 22) {
image(img22, x, y, size, size);
} else if (dice == 23) {
image(img23, x, y, size, size);
} else if (dice == 24) {
image(img24, x, y, size, size);
} else if (dice == 25) {
image(img25, x, y, size, size);
} else if (dice == 26) {
image(img26, x, y, size, size);
} else if (dice == 27) {
image(img27, x, y, size, size);
} else if (dice == 28) {
// image(img28, x, y, size, size);
} else if (dice == 29) {
image(img29, x, y, size, size);
} else if (dice == 30) {
image(img30, x, y, size, size);
} else if (dice == 31) {
image(img31, x, y, size, size);
} else if (dice == 32) {
image(img32, x, y, size, size);
} else if (dice == 33) {
image(img33, x, y, size, size);
} else if (dice == 34) {
image(img34, x, y, size, size);
} else if (dice == 35) {
image(img35, x, y, size, size);
}
// shape(s);
popMatrix();
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment