> show canvas only <


/* built with Studio Sketchpad: 
 *   https://sketchpad.cc
 * 
 * observe the evolution of this sketch: 
 *   https://studio.sketchpad.cc/sp/pad/view/ro.zlvpwMRDJFC/rev.3
 * 
 * authors: 
 *   GoToLoop

 * license (unless otherwise specified): 
 *   creative commons attribution-share alike 3.0 license.
 *   https://creativecommons.org/licenses/by-sa/3.0/ 
 */ 



/**
 * Skulls (v2.0)
 * by  Kristian_Johansen_87 (2014/Oct)
 * mod GoToLoop
 *
 * forum.processing.org/two/discussion/7760/
 * load-an-array-of-images-and-display-them-randomly-in-the-canvas
 *
 * studio.processingtogether.com/sp/pad/export/ro.9D3bN1ux8U67I/latest
 */

static final int NUM = 10, FPS = 10;
PImage skull;

void setup() {
  size(800, 800, JAVA2D);
  noLoop();
  frameRate(FPS);

  noSmooth();
  imageMode(CORNER);

  skull = createSkull();
}

void draw() {
  background(0);

  for (int i = 0; i++ != NUM; image(skull
    , random(width - skull.width), random(height - skull.height)));
}

void mousePressed() {
  redraw();
}

void keyPressed() {
  redraw();
}

PImage createSkull() {
  PGraphics pg = createGraphics(70, 80, JAVA2D); 
  pg.beginDraw();

  pg.smooth(4);
  pg.rectMode(CORNER);
  pg.ellipseMode(CENTER);

  pg.noStroke();
  pg.fill(-1);

  pg.ellipse(35, 35, 70, 70);
  pg.rect(17, 65, 36, 15);

  pg.fill(0);

  pg.ellipse(18, 35, 17, 25);
  pg.ellipse(52, 35, 17, 25);

  pg.triangle(27, 51, 32, 51, 32, 61);
  pg.triangle(38, 51, 43, 51, 38, 61);

  pg.rect(23, 65, 3, 15);
  pg.rect(33, 65, 3, 15);
  pg.rect(43, 65, 3, 15);

  pg.endDraw(); 
  return pg.get();
}